Vous êtes sur la page 1sur 22

Generacin de variables aleatorias continuas

Mtodo de rechazo

Georgina Flesia

FaMAF

18 de abril, 2013
Mtodo de Aceptacin y Rechazo

Repaso
I Se desea simular una v. a. X discreta, con probabilidad de masa
pj = P(X = j), j = 0, 1, 2, . . . .
I Hiptesis: Se conoce un mtodo eficiente para generar una v.a.
Y , con probabilidad de masa qj = P(Y = j), j = 0, 1, 2, . . . , que
verifica
I Si pj 6= 0 entonces qj 6= 0.
I Existe una constante c (c > 1) tal que
pj
c para todo j tal que pj > 0
qj
Mtodo de Aceptacin y Rechazo

Algoritmo: Mtodo de aceptacin y rechazo


repeat
Simular Y , con probabilidad de masa qY ;
Generar U U(0, 1)
until U < pY /cqY ;
X Y

Teorema
El algoritmo de aceptacin y rechazo genera una variable aleatoria
discreta tal que
P(Xj ) = pj , j = 0, 1, . . . .
Adems, el nmero de iteraciones requeridas para obtener X es una
v.a. geomtrica con media c.
El mtodo de rechazo

Veamos la version para variables continuas


Rx
I Sea X una v. a. con densidad f : F (x) = P(X x) =
f (t) dt.
I Supongamos que se tiene un mtodo para generar Y , con
densidad g, y que

f (y )
c, para todo y R tal que f (y ) 6= 0.
g(y )

El mtodo de rechazo para generar X a partir de Y tiene el siguiente


algoritmo:
Mtodo de rechazo

Algoritmo: Mtodo de aceptacin y rechazo


repeat
Generar Y , con densidad g;
Generar U U(0, 1)
until U < f (Y )/(cg(Y ));
X Y

Teorema
1. La v. a. generada por el mtodo de rechazo tiene densidad f .
2. El nmero de iteraciones del algoritmo es una variable aleatoria
geomtrica con media c.
Clculo de la cota c

f (x)
h(x) = c
g(x)
Es h acotada superiormente? Existe un mximo de h?

I Determinar puntos crticos de h.


I Un punto crtico x0 es un mximo local de h si en un entorno
(a, b) de x0 ocurre:
I h0 (x) > 0 para x < x0 y h0 (x) < 0 para x > x0 , o
I h00 (x0 ) < 0.
I Evaluar h en los extremos del intervalo.
Ejemplo

Utilizar el mtodo de rechazo para generar una v. a. con funcin de


densidad
f (x) = 20x(1 x)3 , 0 < x < 1.

( + ) 1
f (x) = x (1 x)1 I(0,1) (x) Variable
()()

I X es una v. a. Beta (2, 4).


I Est acotada en (0, 1).
I Se puede aplicar el mtodo de rechazo con g(x) = 1, 0 < x < 1.
I Hallar c tal que
f (x) f (x)
= c
g(x) 1
Ejemplo

f (x)
h(x) = = 20x(1 x)3 , 0<x <1
1
h0 (x) = 20(1 x)2 (1 4x)

I Puntos crticos: x = 1 y x = 1/4.


I h(0) = h(1) = 0, luego 0 y 1, los extremos del intervalo, no son
mximos.
I h(1/4) = 135/64 > 0 por lo cual x = 1/4 es un mximo.
I h(1/4) = f (1/4) = 135/64 es el valor mximo de h
135
c= = 2.109375
64
Ejemplo

I Puntos crticos: x = 1 y
x = 1/4.
I f (1) = 0, luego no es un
mximo.
I x = 1/4 es un mximo.
I h(1/4) = f (1/4) = 135/64 es
el valor mximo: c.
Ejemplo

f (x) f (x) 1280 256


= = x(1 x)3 = x(1 x)3
c g(x) 135/64 135 27

Algoritmo: Mtodo de aceptacin y rechazo


repeat
Generar V U(0, 1);
Generar U U(0, 1)
until U < 256 3
27 V (1 V ) ;
X V
135
I El promedio del nmero de ciclos es c = 2.11.
64
Ejemplo

Generar una v. a. con densidad gamma ( 32 , 1):

f (x) = Kx 1/2 ex , x > 0,



con K = 1/( 32 ) = 2/ .
x 1
X gamma(, ) = e x .
()
E[X ] = /.

I X toma valores reales, no negativos.


I En el ejemplo, la media es 3/2.
I Es razonable rechazar con una exponencial de igual media.
Pero podemos despues verificar si no podemos hacer un
algoritmo mejor.
Ejemplo: generacin de gamma ( 32 , 1)

I Y E( 23 )
I g(x) = 32 e2/3 x , x > 0.
I h(x) = f (x)/g(x) =
3K 1/2 x/3
2 x e
3 1/2

I c = 3 2e
Ejemplo

f (x)
h(x) = = CTE x 1/2 ex/3 , 0<x
g(x)
1 1 x/3
h0 (x) = CTE [ x 1/2 ex/3 + x 1/2 e ]
2 3
1 1/2 x/3 1 x/3
0 = x e + x 1/2 e
2 3
3
|x| =
2

3
I Puntos crticos: 2 cuando x>0.
I h(0) < h( 32 ); h(2) < h( 23 ), luego 0 extremo del intervalo, no es
mximo y h( 32 es el mximo.
3 1/2
h( 32 = 3 2e

I por lo cual
 1/2
3
c=3
2e
Generacin de una v. a. exponencial
Sabemos que
I Si X E(), entonces c X tambin es exponencial.

I c X E( ).
c
I Calculamos la inversa de la funcin de distribucin de X E(1):

FX (x) = 1 ex
u = 1 ex
1u = ex
x = loge (1 u)

X E(1) X E()
Generar U; Generar U;
X log(U) 1
X log(U)

Ejemplo: generacin de gamma ( 32 , 1)

 1/2
f (x) 2e
= x 1/2 ex/3
cg(x) 3

Algoritmo: Mtodo de rechazo


repeat
Generar V U(0, 1);  1/2
3
Y 32 log(V ); c=3 1.257
2e
Generar U U(0, 1)
1/2 1/2 Y /3
until U < 2e
3 Y e ;
X Y
Ejemplo
I Es cierto que es razonable rechazar con una exponencial de
igual media que la gamma?
Tomamos g(x) = ex , exponencial con razn , media 1/.
Obtenemos:

f (x) Kx 1/2 e(1)x


= , 0<<1
g(x)

1
Mximo en x= , 0 < < 1.
2(1 )
K
Valor mximo c = (2(1 ))1/2 e1/2 .

2
= minimiza el valor de c.
3
Generacin de una v. a. normal

Ejemplo
Generar una v. a. normal estndar, es decir, Z con densidad
1 2
f (x) = ex /2 .
2

2
I |Z | tiene densidad f|Z | (x) = 2 e x /2 , en 0 < x < .
2
I Si sabemos generar |Z |, generamos Z por composicin.
Generacin de una v. a. normal

Para generar |Z |:
I Elegimos g(x) = ex ,
0 < x < .
p
I Resulta c = 2e/
I c 1.32.
Generacin de una v. a. normal

(x 1)2
 
f (x)
= exp .
cg(x) 2

Generacin de |Z |
repeat 2
Generar V U(0, 1); I U < exp{ (Y 1)
2 }
Y log(V ); I log(U) > (Y 1)2
2
Generar U U(0, 1)
2 I Y2 = log(U) E(1).
until U < exp{ (Y 1)
2 };
|Z | Y
Generacin de una v. a. normal

Generacin de |Z |
repeat
Generar Y1 E(1);
Generar Y2 E(1)
until Y2 > (Y1 1)2 /2};
|Z | Y1

I Si Y2 > (Y1 1)2 /2}, entonces X = Y2 (Y1 1)2 /2 es


exponencial con media 1, por la propiedad de falta de memoria.
I Luego podemos generar la normal y tambin una exponencial.
Generacin de una v. a. normal

Generacin de Z normal y X exponencial


repeat
Generar Y1 E(1);
Generar Y2 E(1)
until Y2 (Y1 1)2 /2 > 0;
X Y2 (Y1 1)2 /2;
Generar U U(0, 1);
if U < 0.5 then
Z = Y1
else
Z = Y1
end
Generacin de una v. a. normal

Observaciones.
I c 1.32.
I Para generar una secuencia de normales, se puede utilizar X
como siguiente exponencial:
I en promedio, se necesitan generar 1.64 exponenciales y calcular
1.32 cuadrados.