Está en la página 1de 9

U.N.M.S.M.

ESTADÍSTICA COMPUTACIONAL

GENERACIÓN DE VARIABLES ALEATORIAS CONTINUAS

Prof. Grabiela Montes Q.

I) MÉTODO DE LA TRANSFORMADA INVERSA

Proposición:
Sea U una v.a. uniforme en (0,1). Para cualquier función de distribución continua F, si
definimos la v.a. Y por Y = F −1 (U ) entonces la v.a. Y tiene función de distribución F.
Prueba:
(
FY (a ) = P(Y  a ) = P F −1 (U )  a )
Pero F(X) es monótona luego
F −1 (U )  a si U  F (a)
FY (a) = P(U  F (a) )
= F (a)
Nota: Podemos simular una v.a. X con función de distribución continua F generando un
número aleatorio U y haciendo luego X = F −1 (U ) .

Ejemplo 1: X  U(a,b), la función de distribución está dada por:

 0, x  a
x − a
F (x ) =  , a xb
b − a
 1, xb

Generar valores para X:


x−a
F −1 (U ) → U = F (x ) =  (b − a) U = x − a  x = a + (b − a) U
b−a

ALGORITMO:
1. Generar U U(0,1)
2. X = a + (b − a ) U , parar.

Ejemplo 2:
Simular una v.a. exponencial.
Si F (x ) =1 − e − x entonces F −1 (U ) es el valor de x tal que

1
1 − e−x = u
x = − log(1 − u ) → exp (1)
Entonces:
1 − U → U (0,1) luego − log(U ) → exp (1)
1
− c log U → exp  
c
Ejemplo 3:
Simular una v.a. Gamma (n,).
Para simular de una distribución Gamma con parámetros (n,), donde n un número
entero, usamos el hecho que la suma de n v.a. exponenciales independientes con
parámetro  tiene distribución Gamma. Luego si U1,…, Un son v.a. independientes
Uniformes en (0,1) tenemos que:

log  U i 
n 1 1 n
X = − logU i = −
i =1    i =1 
Tiene distribución Gamma (n,).

Ejemplo 4:
Simular una v.a. Weibull: X  W(,1)
Para la distribución Weibull X  W(,) la función de densidad está dada por:
  −1 − x / 
f (x ) = x e ,   0,   0, x  0

Luego para  = 1 tenemos

f (x ) =  x  −1e − x ,   0, x  0

Calculando la función de distribución:

F (x ) =   y  −1 e − y dy
x 

= − e−y

 = −e
x
0
x
+ 1 = 1 − e −x

Hacemos
 
u = 1 − e−x  e−x = 1 − u
 ln e − x ( ) = ln(1 − u )

 − x  = ln(1 − u )
 x  = − ln(1 − u )
 x = − ln(1 − u )
1

Pero 1 – U tiene el mismo comportamiento de U, entonces X = (− lnU )


1

2
ALGORITMO:
1. Generar U  U(0,1)

X = − lnU 
1
2. , parar.

II) MÉTODO DE ACEPTACIÓN Y RECHAZO

Supongamos que Y  g(X) y que podemos simular dicha v.a. Podemos usar lo anterior
para simular valores de f(X) de tal manera que aceptemos este último valor simulado
con una probabilidad proporcional a f(Y)/g(Y)
En otras palabras, sea c una constante tal que
f (Y )
 c Y
g (Y )
Entonces tenemos la siguiente técnica para simular una v.a. con densidad f.
ALGORITMO:
1. Simular Y teniendo densidad g y simular un número aleatorio U.
f ( y ) sea X = Y. De otro modo regrese al paso 1.
2. SI U  ,
cg ( y )
El método de aceptación y rechazo se muestra en la siguiente figura:

Generar ¿Es Si
Y→ g Generar U X=Y
?

No

Proposición: La v.a. X generada por el método de aceptación y rechazo tiene función de


densidad f.

Prueba: Sea X el valor obtenido y sea N el número de iteraciones necesarias. Entonces

3
P( X  x ) = P(YN  x )
 f ( y) 
= P Y  x / . U  
 c g ( y ) 
 f ( y) 
P Y  x , U  
=  
c g ( y )
 f ( y) 
PU  
 c g ( y ) 

Por independencia f(y , u) = g(y), 0 < u < 1 y haciendo

 f ( y) 
K = PU  
 c g ( y ) 
Tenemos:

1
P( X  x ) =  g ( y) du dy
K y x
f ( y)
0u 
c g ( y)
x
1 f ( y ) cg ( y )
=
K  0 du g ( y ) dy
0
x
1
=
cK  f ( y) dy
0

Si x → ∞ entonces

1  1 1
1= 
cK 0
f ( y ) dy =
cK
 K=
c

x
Luego P( X  x ) =  f ( y ) dy
0

Observación: Desde que, en cada interacción, independientemente resulta el valor


aceptado con probabilidad K = 1/c se deduce que el número de iteraciones tiene
distribución geométrica con media c.

4
ALGORITMO:
1. Generar X  g
2. Generar U  U(0,1)

f ( x)
Hasta que U  , el valor de la variable es X.
c g ( x)

Ejemplo:
Generar una v.a. Beta(3,4):

f ( x ) = 60 x 2 (1 − x )3 , 0  x  1
Sea g  U(0,1)
Hallar la constante c tal que f ≤ cg

g (x ) = 1, 0  x  1
El máximo de la función f(x) / g(x) se alcanza en x = 2/5 porque

d f ( x)
g ( x)
=
(
d 60 x 2 (1 − x )3)=0
dx dx
 120 x(1 − x )3 − 180 x 2 (1 − x )2 = 0
2
 x=
5
2 3
2 2  2 1296
f   = 60  1 −  = c =
5 5  5 625

f ( x) 3125 2
Por lo tanto = x (1 − x )3
c g ( x) 108

ALGORITMO:
1. Generar U1 y U2  U(0,1)

3125 2
2. Si U2  U1 (1 − U1 )3 , hacer X = U1, caso contrario regresar al paso 1.
108

5
III) MÉTODO DE COMPOSICIÓN
El método de composición se basa en expresar la densidad de la variable a simular
como una suma ponderada de densidades para las cuales sea sencillo aplicar el método
de inversión. El proceso de simulación se dividirá en dos partes; en primer lugar, se
elige de acuerdo con los pesos de cada densidad, una de ellas, y, en segundo lugar, se
aplica el método de inversión utilizando la función de distribución correspondiente a la
densidad elegida.

Ejemplo:
Supongamos que queremos obtener una muestra de una variable cuya función de
densidad es

𝑥
, 𝑠𝑖 0 ≤ 𝑥 ≤ 1
2
1
, 𝑠𝑖 1 < 𝑥 < 2
𝑓(𝑥) = 2
3−𝑥
,2 ≤ 𝑥 ≤ 3
2
{0, 𝑒𝑛 𝑜𝑡𝑟𝑜 𝑐𝑎𝑠𝑜

Como la densidad está dividida en tres partes parece lógico expresarla como la suma
ponderada de tres densidades

f(x) = w1 f1(x) + w2 f2(x) + w3 f3(x)

donde w1 + w2 + w3 = 1
Los pesos son las áreas bajo la correspondiente parte de la función de densidad, en
este caso w1 = 1/4, w2 = 1/2 y w3 = 1/4, y la función de densidad en cada trozo se obtiene
simplemente multiplicando la densidad original en esa parte por el inverso del peso.

11
𝑓1 (𝑥) = 𝑥 = 2𝑥, 0≤𝑥≤1
12
4
1 1
𝑓2 (𝑥) = = 1, 1<𝑥<2
1/2 2
11
𝑓3 (𝑥) = (3 − 𝑥), 2≤𝑥≤3
12
4
Se calculan las funciones de distribución correspondientes a cada densidad

6
0, 𝑠𝑖 𝑥 < 0
2
𝐹1 (𝑥) = {𝑥 , 𝑠𝑖 0 ≤ 𝑥 ≤ 1}
1 , 𝑠𝑖 𝑥 > 1
Su inversa será
𝐹1−1 (𝑢) = √𝑢

0, 𝑠𝑖 𝑥 ≤ 1
𝐹2 (𝑥) = {𝑥 − 1, 𝑠𝑖 1 < 𝑥 < 2}
1 , 𝑠𝑖 𝑥 ≥ 2
𝐹2−1 (𝑢) = 𝑢 + 1

0, 𝑠𝑖 𝑥 < 2
2
𝐹3 (𝑥) = {1 − (3 − 𝑥) , 𝑠𝑖 2 ≤ 𝑥 ≤ 3}
1, 𝑠𝑖 𝑥 > 3
𝐹3−1 (𝑢) = 3 − √𝑢
ALGORITMO

1) Para i desde 1 hasta n


a) Generar U1 y U2
b) Si U1 ≤ ¼, Xi = √𝑈2
c) Si ¼ < U1 ≤ ¾, Xi = U2 + 1
d) Si U1 > ¾, Xi = 3 − √𝑈2
2) Devolver X1,…, Xn.

Suponga que se dispone de generadores eficientes para simular valores de las


funciones de distribución Fi(x), i = 1, 2, …, n, entonces si i, i = 1,…,n, son tales que 0 <
i < 1 y
  i = 1, podemos obtener un generador para simular valores de
i

n
F ( x) =   i Fi ( x) .
i =1
Ejemplo:
Dar un algoritmo para generar valores de una v.a. con función de distribución acumulada

x + x3 + x5
F ( x) = , 0  x 1
3
1 1 1 1
F ( x) = F1 ( x) + F2 ( x) + F3 ( x);  i = i
3 3 3 3
Verificar si las funciones F1, F2, y F3 son funciones de distribución acumuladas.

7
 0, x0

a) F ( x) = x, 0  x  1
1 
 1, x 1

Para ser f.d. acumulada se debe cumplir: F(a) < F(b), F(+∞) = 1, F(-∞) = 0.
1
dx
 1 dx = x 0 = 1
1
f1 ( x) = =1 
dx 0
Cumple las condiciones planteadas.
De igual manera se procede con F2 y F3.

GENERADORES:
a) Usando el método de transformación inversa
F1(x) = U
F1(x) = x = U → x = U1
b) F2 = x3 = U → x = U21/3
c) F3(X) = X5 = U → x = U31/5

1 1 1
f (x ) = x + x3 + x5
3 3 3

ALGORITMO:
1. Generar u1 y u2.

2. Si u1  1  x = u 2 Retornar paso 1.
3
En otro caso, u1  2  x = u12/ 3 Retornar paso 1.
3
En otro caso, u1  1  x = u12/ 5 Retornar paso 1.

Ejercicio:
n
F ( x) =  i x i , 0  x  1, 0   i  1, i = 1,, n
i =1
n
 i = 1
i =1
Fi ( x) = x i , i = 1,, n.
Solución:

8
Fi ( x) = x i  x = U 1 i , i = 1, , n

ALGORITMO:
1. Generar u1 y u2.
2. j = 1
j
3. Si u1   i  x = u12 i , retornar al paso 1.
i =1
c.c.
4. j = j + 1, retornar al paso 3.

También podría gustarte