Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Simulacion
Simulacion
El método de la transformada inversa consiste en generar un número aleatorio U con distribución uni-
forme (0, 1) y posteriormente simular el valor de la variable X de acuerdo a la siguiente regla:
8
>
> x0 U < p 0
>
>
>
> x1 p 0 U < p 0 + p 1
>
>
>
> .
>
<..
X= j 1 j
>
> X X
>
> x p U < pi
>
>
j i
>
> i=0 i=0
>
>
:...
>
en otras palabras estamos definiendo una regla para simular de acuerdo a la función de distribución acumu-
lada de X pues la regla anterior se puede escribir de la siguiente forma
8
>
> x0 U < F (x0 )
>
>
>
> x1 F (x0 ) U < F (x1 )
>
>
<.
X = ..
>
>
>
> xj F (xj 1 ) U < F (xj )
>
>
>
:..
>
.
123
124 CAPÍTULO 6. SIMULACIÓN DE VARIABLES ALEATORIAS
⌅
Observación 6.1.2. Para efectos de programar, el algoritmo se puede expresar como un si anidado de la
siguiente forma:
Si U < 0.20, hacemos X = 1 y se detiene el proceso,
Si U < 0.35 hacemos X = 2 y se detiene el proceso,
Si U < 0.60 se fija X = 3 y se detiene
En otro caso, X = 4.
Ejemplo 6.1.3. Determina la regla de correspondencia para simular una variable aleatoria uniforme discreta
con recorrido {1, 2, 3, ..., n}.
Solución: Sabemos que la función masa de probabilidad de la variable es
1
P (X = j) = para j = 1, 2, ..., n
n
Luego la función de distribución para j es
j
X
F (j) = P (X = i)
i=1
j
X 1
=
i=1
n
j
1X
= 1
n i=1
j
=
n
Luego la regla de simulación indicarı́a que debemos simular
j 1 j
X = j si U <
n n
equivalentemente
X = j si j 1 nU < j
es decir, X = JnU K + 1 donde JxK representa la parte entera de x.
Observación 6.1.4. Como podemos ver en el ejemplo anterior, en esta ocasión encontramos una expresión
explı́cita para la regla de simulación.
6.2. MÉTODO DE ACEPTACIÓN - RECHAZO 125
Proposición 6.1.5. Sea U una variable aleatoria uniforme (0, 1). Para cualquier variable continua con
función de distribución F , la variable aleatoria X definida por
1
X=F (U )
tiene distribución F .
FX (x) = P (X x)
1
= P (F (U ) x)
Como F es una función de distribución de una variable aleatoria continua entonces es creciente, por lo tanto
tiene inversa ası́ que
1
FX (x) = P (F (U ) x)
= P (U F (x))
= F (x)
Solución: Sea u = F (x) = xn , luego x = u1/n , entonces X puede ser simulado a partir de U mediante
la relación X = U 1/n . ⌅
P (X = j) = pj para j = 0, 1, ...
a partir de una variable aleatoria Y con función masa de probabilidad P (Y = j) = qj . El método que se usa
es conocido como aceptación-rechazo y se realiza de acuerdo a lo siguiente:
pj
1. Se determina un valor c (de preferencia el más pequeño) tal que c para toda j que cumple pj > 0
qj
2. Se simula un valor de Y
3. Se genera un número aleatorio U
pY
4. Si U < se establce X = Y , de lo contrario se regresa al paso 2.
cqY
La razón por la que este método funciona se explica en el siguiente teorema.
Teorema 6.2.1. El algoritmo de aceptación-rechazo genera una variable aleatoria X tal que
126 CAPÍTULO 6. SIMULACIÓN DE VARIABLES ALEATORIAS
P (X = j) = pj para j = 0, 1, ...
⇤
Veamos un ejemplo de cómo se aplica este algoritmo.
Ejemplo 6.2.2. Supongamos que queremos simular el valor de una variable aleatoria X, la cual toma los
valores 1,2,...,10 con las siguientes probabilidades respectivamente: .11, .12, .09, .08, .12, .10, .09, .09, .10, .10
. Supongamos que ya tenemos un algoritmo para simular la variable aleatoria discreta uniforme en 1,2,...,10.
A manera de referencia consideremos el algoritmo del ejemplo 6.1.3. Utiliza el método de aceptación-rechazo
para simular la variable X.
1
Solución: Sea Y la variable uniforme discreta en 1,2,...,10 con probabilidad qj = 10
para j = 1, ..., 10.
podemos ver que c
⇢
pj
c = max
qj
= 1.2
Observación 6.2.3. El método de aceptación y rechazo requiere que las variables X y Y tengan el mismo
recorrido.
Ası́ el valor máximo satisface la ecuación 20(1 x)2 (1 4x) = 0 y como 0 < x < 1 obtenemos x = 1
4
. De
esta manera
f (1/4)
c =
g(1/4)
✓ ◆ ✓ ◆3
1 3
= 20
4 4
135
=
64
Por lo tanto
128 CAPÍTULO 6. SIMULACIÓN DE VARIABLES ALEATORIAS
f (x) 256
= x(1 x)3
cg(x) 27
Otra forma de simular un vector normal multivariado, es utilizar la descomposición de Choleski que
establece que para alguna matriz ⇤ de nxn simétrica y definida positiva, hay una matriz triangular inferior
A tal que ⇤ = AAt . Luego se puede utilizar la relación
~ +µ
X = AZ (6.2)
Esto es, ✓ ◆ ✓ ◆
a211 a11 a21 2
1 c
=
a11 a21 a221 + a222 c 2
2
a211 = 2
1
a11 a21 = c
a221 + a222 = 2
2
c
Definiendo la correlación entre X1 y X2 como ⇢ = entonces las ecuaciones anteriores originan los
1 2
siguientes resultados:
a11 = 1
c
a21 =
a11
c
=
1
= ⇢ 2
y
q
2
a22 = 2 a221
q
2 2
= 2 ⇢2 2
p
= 2 1 ⇢2
Por lo tanto ✓ ◆
A=
1
p0
⇢ 2 2 1 ⇢2
Luego el algoritmo para simular es el siguiente:
1. Simular variables aleatorias Z1 y Z2 normales estándar independientes
~ = AZ
2. Usar la relación X ~ + µ para determinar una simulación de X,
~ es decir,
X1 = 1 Z1 + µ1
p
X2 = ⇢ 2 Z1 + 2 1 ⇢ 2 Z2 + µ2
⌅
130 CAPÍTULO 6. SIMULACIÓN DE VARIABLES ALEATORIAS
6.3.3. Cópulas
Para simular variables aleatorias relacionadas a través de una cópula C, recordemos la proposición 5.2.5
que nos dice que
C(x, y) = H(F ( 1)
(x), G( 1)
(y))
donde H es la distribución conjunta con marginales F y G. Para el caso donde F y G tienen inversa tenemos
que
1 1
C(x, y) = H(F (x), G (y))
1 1
= P (X F (x), Y G (y))
= P (F (X) x, G(Y ) y)
lo que nos dice que la cópula C es la función de distribución conjunta de las variables F (X) y G(Y ).
De esta forma si queremos generar un vector aleatorio X ~ = (X1 , ..., Xn ) con distribuciones marginales
F1 , ..., Fn y cópula C, lo que tenemos que hacer es lo siguiente:
1. Generar un vector aleatorio (y1 , y2 , ..., yn ) que tenga la distribución C.
2. Para toda i, resolvemos la ecuación la ecuación Fi (xi ) = yi , es decir, xi = Fi 1 (yi ), entonces el vector
simulado es ~x = (x1 , ..., xn ).
Ejemplo 6.3.2. Escribe un procedimiento para simular un vector aleatorio X ~ = (X1 , ..., Xn ) que tenga
distribuciones marginales Fi , covarianzas Cov(Xi , Xj ) para i 6= j y cópula Gaussiana definida por
1 1 1
C(x1 , x2 , ..., xn ) = n( (x1 ), (x2 ), ..., (xn ))
4. Calcular cantidades de interés, tales como la media, varianza, percentiles o probabilidades, usando la
función de distribución empı́rica.
Ejemplo 6.4.1. Determinar la prima de una cartera de daños que presenta las siguientes caracerı́sticas:
El número de reclamaciones es una variable aleatoria Poisson con parámetro 25
El monto de cada reclamación es una variable aleatoria exponencial con media 1250.
Los montos de las reclamaciones son independientes entre sı́ e independientes del número de reclama-
ciones.
Considera que a la prima de riesgo se le agrega 12 % para obtener la prima de tarifa.
Solución: Sea S la variable aleatoria que representa la siniestralidad total de la cartera. Entonces
N
X
S= Yi
i=1
Por nuestro curso de inferencia sabemos que para una muestra aleatoria S1 , S2 , ..., Sn donde la media de
2
las variables es µ y la desviación estándar es , entonces se tiene que E[S n ] = µ y V ar(S n ) = , ası́ que
n
por el teorema lı́mite central tenemos que
donde Z tiene una distribución normal estándar. Ası́ que el objetivo es alcanzado cuando
"
p z1 ↵/2
/ n
equivalentemente
132 CAPÍTULO 6. SIMULACIÓN DE VARIABLES ALEATORIAS
"2
2 /n
z12 ↵/2
2 2
z1 ↵/2
"2
n
2 2
z1 ↵/2
n
"2
Hemos encontrado el número mı́nimo de simulaciones para estimar E[S]. Como el valor es desconocido,
lo estimamos a través del estimador insesgado de la varianza
n
X
ˆ2 = 1
(Si S n )2 .
n 1 i=1
6.5. Ejercicios
✓ ◆
1
1. Escribe la regla para simular una variable aleatoria Bin 4, .
4
2. Escribe la regla para simular una variable Binomial negativa con parámetro (1, 1/3).
3. Verifica que una variable aleatoria geométrica con función masa de probabilidad
P (X = i) = pq i 1 para i = 1, 2, ...
s {
Ln(U )
puede ser simulada a través de la expresión X = + 1 donde U se distribuye U nif orme(0, 1).
Lnq
4. Escribe la regla para simular una variable aleatoria Uniforme(a, b).
5. Escribe la regla para simular una variable aleatoria exponencial con media .
6. Usando el✓método
◆ de aceptación y rechazo, escribe el algoritmo para simular una variable aleatoria
1
Binomial 4, a partir de la simulación de una variable Uniforme discreta en {0, 1, 2, 3, 4}
3
7. Usando el método de aceptación y rechazo, escribe el algoritmo para simular una variable aleatoria
con función masa de probabilidad P (X = 1) =0.3, P (X = 2) =0.5 y P (X = 3) =0.2 a partir de la
simulación de una variable Bin(3, 0.4).
8. Usando el método de aceptación y rechazo escribe el algoritmo para simular una variable aleatoria
3
gamma( 32 , 1) a partir de una variable aleatoria exponencial con media .
2
9. Usando el método de aceptación y rechazo escribe el algoritmo para simular una variable aleatoria
con densidad
2 x2
f (x) = p e 2 para x > 0
2⇡
a partir de una variable aleatoria exponencial de media uno.
✓ ◆
3 1
10. Escribe el algoritmo para simular un vector multinomial de parámetros 3, , .
4 4
◆ ✓
1 1 1
11. Escribe el algoritmo para simular un vector multinomial de parámetros 2, , , .
3 2 6
✓ ◆
1 1 5
12. Escribe el algoritmo para simular un vector multinomial de parámetros 5, , , .
3 4 12
13. Utiliza ~ 2 N (µ, ⇤) con µ =
0 1 el resultado
0 de Choleski
1 para escribir el procedimiento para simular X
1 9 4 2
@ 0 A y ⇤ = @4 8 3 A.
1 2 3 7
✓ ◆ ✓ ◆
~ 2 N (µ, ⇤) con µ = 2 y ⇤ = 2
14. Escribe al algoritmo para simular X
2
calculando ⇤1/2 .
1 2 2