Download - Clase9 Met TransfInversa
-
8/17/2019 Clase9 Met TransfInversa
1/30
Generación de variables aleatorias continuas
Método de la transformada inversa
Georgina Flesia
FaMAF
16 de abril, 2013
-
8/17/2019 Clase9 Met TransfInversa
2/30
Generación de v.a. discretas
Existen diversos métodos para generar v.a. discretas:
Transformada Inversa
De aceptación-rechazo, o método de rechazo. De composición.
Métodos mejorados según la distribución.
-
8/17/2019 Clase9 Met TransfInversa
3/30
-
8/17/2019 Clase9 Met TransfInversa
4/30
Método de la Transformada Inversa
F (x ) = P (X ≤ x ) : Función de distribución acumulada
F es una función creciente, escalonada, que toma valores entre0 y 1.
Si se ordenan los valores de la variable en forma creciente:
x 0
-
8/17/2019 Clase9 Met TransfInversa
5/30
Gráficamente
x 0
1
x 4x 3x 2x 1
p 1
p 2
p 3
y = F (x )
p 0
-
8/17/2019 Clase9 Met TransfInversa
6/30
-
8/17/2019 Clase9 Met TransfInversa
7/30
Algoritmo
Si la v.a. toma un número finito de valores, el algoritmo es el
siguiente:
Algorithm 1: Transformada Inversa
Generar U ∼ U (0, 1);if U
-
8/17/2019 Clase9 Met TransfInversa
8/30
Algoritmo de la Transformada Inversa
Si x 0
-
8/17/2019 Clase9 Met TransfInversa
9/30
-
8/17/2019 Clase9 Met TransfInversa
10/30
EjemploX : {1, 2, 3, 4}.
p 0 = 0.20, p 1 = 0.15, p 2 = 0.25, p 3 = 0.40
x 0
1
x 4x 3x 2x 1
p 1
p 2
p 3
y = F (x )
p 0
-
8/17/2019 Clase9 Met TransfInversa
11/30
Orden decreciente de p i
Si se ordenan de manera decreciente las probabilidades de masa
p 0, p 1, . . . , se puede obtener un algoritmo más eficiente:Algorithm 3: Ordenando p i
Generar U ;if U
-
8/17/2019 Clase9 Met TransfInversa
12/30
EjemploX : {1, 2, 3, 4}.
p 0 = 0.20, p 1 = 0.15, p 2 = 0.25, p 3 = 0.40
x 0
1
x 4x 3x 2x 1
p 1
p 2
p 3
y = F (x )
p 0
-
8/17/2019 Clase9 Met TransfInversa
13/30
Generación de variables aleatorias continuas con
densidad
Decimos que X es una v.a. continua con densidad si existe f : R → Rpositiva tal que
F (x ) := P (X ≤ x ) = x
−∞ f (t ) dt .
Estudiaremos los siguientes métodos de generación para una tal X :
Método de la transformada inversa.
Método de aceptación y rechazo. Método de composición.
-
8/17/2019 Clase9 Met TransfInversa
14/30
Método de la transformada inversa
Propiedades de F (x ) := x −∞ f (t ) dt .
F (x ) es continua. F (x ) es no decreciente.
0 ≤ F (x ) ≤ 1, limx →−∞ F (x ) = 0, limx →∞ F (x ) = 1
-
8/17/2019 Clase9 Met TransfInversa
15/30
Método de la transformada inversa
TeoremaSi F es una función de distribución continua, inversible, yU ∼ U (0, 1), entonces
X = F −1(U )
es una variable aleatoria con distribución F .
P (X ≤ a ) = P (F −1(U ) ≤ a )= P (F (F −1)(U ) ≤ F (a )) por ser inversible
= P (U ≤ F (a )) = F (a )
Mé d d l f d i
-
8/17/2019 Clase9 Met TransfInversa
16/30
Método de la transformada inversa
Mé d d l f d i
-
8/17/2019 Clase9 Met TransfInversa
17/30
Método de la transformada inversa
Es suficiente que F tenga inversa en (0, 1).
Problemas: La inversa de F involucra funciones computacionalmente costosas.
( n
f (x ), log(x ), etc.) La inversa de F no puede ser calculada explícitamente. (p. ej.,
distribución de la normal, de una gamma)
Para ciertas distribuciones F pueden utilizarse otras estrategias,por ejemplo expresando a F como distribución del mínimo y/o del máximo de v. a. independientes. distribución de suma de variables aleatorias independientes distribución de una v. a. condicional a otra,
o existen métodos específicos (p. ej., para X con distribuciónnormal.)
Veamos algunos ejemplos.
A li ió d l ét d d l t f d i
-
8/17/2019 Clase9 Met TransfInversa
18/30
Aplicación del método de la transformada inversa
EjemploEscribir un método para generar el valor de una v. a. X con funciónde densidad
f (x ) = −x 2
+ 1, 0 ≤ x ≤ 2.
F (x ) = −x 2
4 + x , 0 ≤ x ≤ 2.
F no es inversible sobre R, pero sólo nos interesa encontrar unainversa F −1 : (0, 1) → (0, 2).
−x 2
4 + x = u ⇒ x =
x = 2 + 2√ 1 − u o
x = 2 − 2√ 1 − u
Algorithm 4:Generar U;
X← 2 − 2√ U
A li ió d l ét d d l t f d i
-
8/17/2019 Clase9 Met TransfInversa
19/30
Aplicación del método de la transformada inversa
EjemploEscribir un método para generar el valor de una v. a. X con funciónde densidad
f (x ) =
1/4 0 ≤ x ≤ 21/2 2 < x
-
8/17/2019 Clase9 Met TransfInversa
20/30
Máximos y mínimos de v. a. independientes
Consideremos X 1, X 2, . . . , X n v. a. independientes, con funciones dedistribución F 1, F 2, . . . , F n , respectivamente.
F i (a ) = P (X i ≤ a ).
X = max{X 1, X 2, . . . , X n } F X (a ) = F 1(a ) · F 2(a ) . . . F n (a ) Y = min{X 1, X 2, . . . , X n } 1
−F
Y (a ) = (1
−F
1(a ))
·(1
−F
2(a )) . . . (1
−F
n (a ))
Máximos y mínimos de v a independientes
-
8/17/2019 Clase9 Met TransfInversa
21/30
Máximos y mínimos de v. a. independientes
Si X es tal que
F X (x ) = x n , 0 ≤ x ≤ 1, 0 en otro caso.F X (x ) = x · x · · · x
n
entonces X = max{U 1, X 2, . . . , U n } con U 1, U 2, . . . , U n v. a.independientes, idénticamente distribuidas uniformes en [0,1]. Paragenerar X
Algorithm 5: F X (t ) = t n
Generar U 1, U 2, . . . , U n ;X
←max
{U 1, U 2, . . . , U n
} no requiere cálculo de una raíz n -ésima.
se generan n − 1 uniformes adicionales. requiere de n − 1 comparaciones.
Generación de una v a exponencial
-
8/17/2019 Clase9 Met TransfInversa
22/30
Generación de una v. a. exponencial
Si X ∼ E (λ), entonces c · X también es exponencial.
c · X ∼ E (λ
c ). Calculamos la inversa de la función de distribución de X ∼ E (1):
F X (x ) = 1 − e −x u = 1
−e −x
1 − u = e −x x = − loge (1 − u )
Algorithm 6: X ∼ E (1)Generar U;X ← −log (U )
Algorithm 7: X ∼ E (λ)Generar U;
X ← − 1λ
log (U )
Generación de una v a Poisson X P(λ)
-
8/17/2019 Clase9 Met TransfInversa
23/30
Generación de una v. a. Poisson X ∼ P (λ)Para generar una variable Poisson, vamos a usar información sobreuna estructura mas compleja, el proceso de Poisson. Recordemos
que En un proceso de Poisson homogéneo de parámetro λ,
los tiempos de llegada entre eventos son v. a. exponenciales de
media 1λ
. el número de eventos en un intervalo de tiempo de longitud t es
una v. a. Poisson de media λ ·
t . N (1) es una v. a. Poisson de media λ.
X 1 X 2 X 3 X n X n +1
0 1
N (1) = max{n | X 1 + X 2 + · · · + X n ≤ 1}
Generación de una v a Poisson X ∼ P(λ)
-
8/17/2019 Clase9 Met TransfInversa
24/30
Generación de una v. a. Poisson X ∼ P (λ)
Entonces, toda variable Poisson X de parámetro λ puede pensarsecomo la realización N (1) de un proceso de Poisson de media λ.
X 1 X 2 X 3 X n X n +1
0 1
N (1) = max{n | X 1 + X 2 + · · · + X n ≤ 1}
Generación de una v a Poisson X ∼ P(λ)
-
8/17/2019 Clase9 Met TransfInversa
25/30
Generación de una v. a. Poisson X ∼ P (λ)
Empleando v.a. uniformes para generar las exponenciales, tenemos
que
N (1) = max{n | X 1 + X 2 + · · · + X n ≤ 1}= max{n | − 1
λ (log(U 1) + log(U 2) + · · · + log(U n )) ≤ 1}
= max{n | −1
λ (log(U 1 · U 2 · · · U n )) ≤ 1}= max{n | log (U 1 · U 2 · · · U n ) ≥ −λ}= max{n | U 1 · U 2 · · · U n ≥ e −λ}
N (1) = min{n | U 1 · U 2 · · · U n
-
8/17/2019 Clase9 Met TransfInversa
26/30
Generación de una v. a. Poisson X ∼ P (λ)
Algorithm 8: Transformada Inversa
Generar U 1 ∼ U (0, 1);if U 1
-
8/17/2019 Clase9 Met TransfInversa
27/30
Generación de una v. a. con distribución Gamma
Si X 1, . . . , X n son v. a. exponenciales independientes, X i ∼ E (λ),entonces
X = X 1 + · · · + X n es una v. a. gamma, de parámetros (n , λ).
F X (x ) = P (X 1 + X 2 +
· · ·+ X n
≤ x )
= P (−1λ
(log(U 1 · U 2 · · · U n )) ≤ x )
= P (−1λ
(log(U 1 · U 2 · · · U n )) ≤ x }
Por lo cualAlgorithm 9: X ∼ γ (n , λ)Generar U 1, . . . , U n ∼ U (0, 1);X ← − 1
λ log(U 1 . . . U n )
Generación de una v a con distribución Gamma
-
8/17/2019 Clase9 Met TransfInversa
28/30
Generación de una v. a. con distribución Gamma
Algorithm 10: Algoritmo: X ∼γ (n , λ)
Generar U 1, . . . , U n ∼ U (0, 1);X ← − 1
λ log(U 1 . . . U n )
Emplea n uniformes.
Calcula un único logaritmo.
Para generar n exponenciales independientes, hacen faltagenerar n uniformes y calcular n logaritmos.
Generación de exponenciales a partir de una
-
8/17/2019 Clase9 Met TransfInversa
29/30
Generación de exponenciales a partir de una
distribución gamma
TeoremaSi X , Y ∼ E (λ), e independientes, entonces
f X |X +Y (x | t ) = 1t I(0,t )(x ),
es decir, X condicional a X +
Y =
t es uniforme en (
0,
t )
.
Para generar X , Y exponenciales independientes, de parámetro λpodemos aplicar el siguiente algoritmo:
Algorithm 11: X , Y ∼ E (λ)Generar U 1, U 2
∼ U (0, 1);
t ← −1λ
log(U 1 U 2);
Generar U 3;X ← t U 3;Y ← t − X
Calcula un único logaritmo.
Emplea 1 uniforme adicional.
Generación de exponenciales a partir de una
-
8/17/2019 Clase9 Met TransfInversa
30/30
Generación de exponenciales a partir de una
distribución gamma
Para generar n exponenciales, se puede extender el método anterior
generando
una v. a. gamma, de parámetros (n , λ),
n − 1 v. a. uniformes, adicionales.Algorithm 12:
Generar U 1, . . . , U n ∼ U (0, 1);t ← − 1
λ log(U 1 · · · U n );
Generar V 1, . . . , V n −1 y ordenarlos de menor a mayor;X 1 ← t V 1;X 2 ← t (V 2 − V 1);...;X n −1 ← t (V n −1 − V n −2);X n ← t − t V n −1