Generación de variables aleatorias discretas Método de

Anuncio
Generación de variables aleatorias discretas
Método de aceptación y rechazo
Georgina Flesia
FaMAF
14 de abril, 2015
Método de Aceptación y Rechazo
I
Se desea simular una v. a. X discreta, con probabilidad de masa
pj = P(X = j), j = 0, 1, 2, . . . .
I
Hipótesis: Se conoce un método eficiente para generar una v.a.
Y , con probabilidad de masa qj = P(Y = j), j = 0, 1, 2, . . . , que
verifica
I
I
Si pj 6= 0 entonces qj 6= 0.
Existe una constante c (c > 1) tal que
pj
≤c
qj
para todo j tal que pj > 0
Método de Aceptación y Rechazo
Generar Y
Generar U
1
U
R
a
ech
cqY
za
Acepta
pY
Método de Aceptación y Rechazo
Algorithm 1: Método de aceptación 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 aceptación y rechazo genera una variable aleatoria X
a valores enteros no negativos tal que
P(X = j) = pj ,
j = 0, 1, . . . .
Además, el número de iteraciones requeridas para obtener X es una
v.a. geométrica con media c.
Demostración
Sea X el valor generado por el algoritmo 1. Quiero ver que
P(X = j) = pj
. Observemos que
I
(X = j) si y sólo si (Y = j) y el algoritmo lo acepta en alguna
iteración:
X
P(X = j) =
P(j es aceptado en la iteración k )
k ≥1
I
(j es aceptado en la iteración k ) significa que hay k iteraciones
donde
1. en las k − 1 primeras el algoritmo rechaza
2. y en la ultima, la k -esima, Y genera j y el algoritmo lo acepta
P(j aceptado en la iteración k ) =
P( algoritmo rechaza k − 1 veces ) P((Y = j) ∧ j es aceptado en la k )
por la independencia de las iteraciones
= P( algoritmo rechaza)k −1 P((Y = j) ∧ j es aceptado)
En una iteración fija
I
Probabilidad de que el algoritmo acepte el valor j
P((Y = j) ∧ j es aceptado)
I
= P(j es aceptado | (Y = j))P(Y = j)
pj
qj
=
cqj
pj
=
c
Probabilidad de que el algoritmo acepte en una iteración fija
P( el algoritmo acepte) =
X
P((Y = j)∧ j es aceptado) =
j
P( el algoritmo rechace) = 1 −
I
X pj
j
1
c
G es la variable que mira el número de iteraciones necesarias,
entonces G es geométrica de parámetro 1/c.
c
=
1
c
P(X = j)
P(X = j)
=
=
P(j sea aceptado en alguna iteración)
∞
X
P(j sea aceptado en la iteración k )
k =1
=
∞
X
P( el algoritmo rechaza)k −1 P((Y = j) ∧ j es aceptado)
k =1
k −1
∞ X
pj
1
=
1−
c
c
k =1
=
pj
Ejemplo: Método de rechazo
Ejemplo
Generar una v.a. X con valores en {1, 2, . . . , 10} y probabilidades
0.11, 0.12, 0.09, 0.08, 0.12, 0.10, 0.09, 0.09, 0.10, 0.10
I
Método de la transformada inversa: implica una media (mínima)
de 5,04 iteraciones.
I
Método de aceptación y rechazo: c = 1.2. La media de
iteraciones es 1,2.
Método de Aceptación y Rechazo
Algunos casos particulares:
I
Si Y ∼ U[1, n].
I
c = maxj {n pj }
I
Si X es condicional a Y ≤ n.
I
c = 1/P(Y ≤ n)
Algorithm 2: ]
Y uniforme en [1,n]
repeat
Generar
V ∼ U(0, 1);
Y ← bn V c
Generar
U ∼ U(0, 1)
until U < n pY /c;
X ←Y
Algorithm 3: P(X = j) = P(Y = j | Y ≤ n)
repeat
Simular Y
until Y ≤ n;
X ←Y
Descargar