Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Generacin de
Variables Aleatorias
Generacin de Variables
Aleatorias
El punto de partida de todos los Mtodos que
estudiaremos a continuacin es que disponemos de un
buen generador de nmeros aleatorios.
Mtodos
1.- Inversin
2.- Aceptacin - Rechazo
3.- Composicin
4.- Cuociente de Uniformes
5.- Transformaciones
6.- Especficos
Generacin de Variables
Aleatorias
Mtodo de Inversin:
Este mtodo sugiere que es posible muestrear una v.a.
continua X, conociendo su funcin de Distribucin F.
Sea X v.a.c. uniforme con F continua y no decreciente en
(0,1) y sea U v.a.c uniforme en (0,1). Entonces la v.a.c.
X= F-1(U), tiene una distribucin F.
Algoritmo
P1: Generar U ~ U(0,1)
P2: Definir X = F-1(U)
P3: Generar la salida X
Generacin de Variables
Aleatorias
x
Ej 1: X v.a.c. ~ W(,1) i.e. Fx(x) = 1 - e ,x>0
Algoritmo
P1 : Generar U ~ U(0,1)
P2 : Definir X = F-1(U) = [-ln U]1/
P3 : Generar la salida X
Mtodo Aceptacin-Rechazo
Cuando no se conoce de forma explcita la funcin de
Distribucin F [Ver (,)]. Se puede usar el Mtodo A-R
introducido por Von Neumann (1951)
Mtodo de Aceptacin-
Rechazo
Supongamos que la funcin de densidad f de X puede
aproximarse por funcin de densidad g tal que :
f ( x) a g ( x) x R con 1 a
Mtodo A-R
P1 : Generar X ~ g
f ( x) si X
P2 : Generar U ~ U(0,1) y U ag ( x) no P
1
P3 : Generar la salida X
Mtodo de Aceptacin-
Rechazo
OBS:
(1) El mtodo equivale a generar valores Y ~ U[0, a g(x)] y
aceptar si Y f(x)
(2) Cada iteracin se acepta con probabilidad 1/a
(3) Eficiencia del mtodo es 1/a
(4) El nmero de iteraciones antes de aceptar sigue una
ley geomtrica de razn 1/a
(5) El nmero esperado de iteraciones es a
Mtodo de Aceptacin-
Rechazo
Ejemplo: Generar X v.a.c. ~ (,1) , > 0
X 1e x
f x ( x) I R ( x) ; 0 1
( )
g ( x) 1c X 1 I[ 0,1) ( x) 1c e x I[1, ) ( x)
donde c = 1/ + 1/e
f ( x)
e x I[ 0,1) ( x) X 1 I[1, ) ( x)
ag ( x)
Algoritmo
P1 : Generar X ~ g f ( x) si X
P2 : Generar U ~ U(0,1) , U ag ( x) no P
1
P3 : Generar la salida X
Mtodo de
Composicin
Supongamos que la distribucin a muestrear es una
mezcla
f ( x) g ( x / y )dHy
R
donde g(x/y) es una familia de densidades parametrizada
por y, con funcin de distribucin H
El mtodo de Composicin consiste en generar un valor y
de H y un valor de X de g(x/y)
Algoritmo:
P1 : Generar Y ~ H
P2 : Generar X ~ g(,y)
P3 : Generar la salida X
Mtodo de
Composicin
Ej: Generar una mezcla de Exponenciales
Supongamos que X/Y = y ~ Exp(y)
y x
g ( x / y ) ye I [ 0 , ) ( x )
H ( y ) 1 y n I (1, ) ( y ) n 1
f ( x) n y e n xy
dy
1
Algoritmo:
Ch (u , v) : 0 u h( v u )
Ch tiene rea finita. Si (U,V) se distribuye de manera
uniforme sobre Ch. Entonces X = U/V tiene densidad h/(h)
Mtodo de Cuociente de
Uniformes
Dem : Haciendo cambio de variables u=u y x=v/u el rea de
Ch es h( x)
dudv
Ch
0
ududv 2 h( x)dx
1
Sea 1
Ch (u, v) : 0 u 2
1 ( u)
v
1 1
o bien f ( x) 2 [Cauchy]
1 x
Mtodo de Cuociente de
Uniformes
Algoritmo:
Por tanto
P1 : Generar Y ~ (, )
P2 : Generar salida X = Y/
Mtodos Especficos
Mtodos Especficos
Normales
El mtodo ms conocido para generar Normales es el de
Box-Muller (1958). Ellos que generan un par de variables
estndares Normales e Independientes (X,Y).
La funcin de densidad de (X,Y) es
1 (x y )
2 2
f ( x, y ) Exp
2 2
Mtodos Especficos
2
g1 ( ) g 2 (r )
1
en R x (0,2) con g1() = 2 I (0, 2 ) ( )
+
g2(r) = r exp r 2
2
I R (r) ~
2
( 2 ) exp(-1/2)
con R y independiente.
Mtodos Especficos
FR (r ) 1 exp( r 2)
2
Algoritmo: [N(0,1)]
2 ln U1 cos(2U 2 )
P3 : Hacer X = R cos =
2 ln U1 sen(2U 2 )
Hacer Y = R sen =
P4 : Generar salida X e Y
OBS: 1) Las Ecuaciones para obtener X e Y se
conocen como transformaciones de Box-Muller
Mtodos Especficos
Y ~ Exp( =1)
F(y) = 1 - Exp(-y) = U
Y = -ln U ~ Exp(1)
Entonces X = Y/ ~ Exp()
Mtodos Especficos
Algoritmo: [Exp()]
P1 : Generar U ~ U(0,1)
P2 : Hacer Y = -ln U
P3 : Hacer X = Y/
P4 : Generar salida X
Mtodos de cuocientes
uniformes con contrastes
Ch [0,1]x[0,2 / e]
Si Se pueden obtener resultados
similares al caso del disco unitario
Mtodos de cuocientes
uniformes con contrastes
El Algoritmo es:
Algoritmo
X=0
Desde i = 1, 2, ...,
Generar Y ~ Exp(1)
Hacer X = X + Y
Generar la salida X
Generacin de Variables
Aleatorias
OBS: 1) Cuando es muy grande ( >40), usar una
aproximacin normal basada en T.C.L.
2) Cuando no es un entero, digamos < 1 se
puede usar el mtodo de A-R
3) Cuando >1, existen varios algoritmos. Ver
Fishman (1996) : Monte Carlo : Concepts Algorithms and
Application Ed. Springer Verlag.
Uno de los algoritmos propuestos por Cheng and
Feast (1979) consiste en una versin modificada de
Mtodo de Cuociente Uniforme.
Generacin de Variables
Aleatorias
Ch 0; e1
1
2
x0; 1
e
1
e
Contraste 2 ln U (-1) ln X - X
Siendo X = V/U
Generacin de Variables
Aleatorias
Algoritmo
1) Hasta que U1 (0,1)
Generar U1, U2 ~ U(0,1)
si > 2,5 U1 = U2 + C5 (1 - 1,86U1)
2) Hacer W = C2 U2 / U1
3) Si C3 U1 + W + W-1 C4
Generar salida X = C1 W
4) Si C3 ln U1 - ln W + W 1 , ir a 1)
5) Generar salidaC1 X
=1C,1 W 1
C2 (C6 ) , C3 21
1
C4 1 C3 , C5
1
2
Generacin de Variables
Aleatorias
Distribucin Chi-Cuadrado
Sea Z1, Z2, ..., Zn v.a.c.i.i.d. N(0,1).
n
Entonces X = Z ~ (2n )
2
i 1
i
Esto sugiere el mtodo de la
Otra aproximacin 2
( 2 , 2 ) Luego usando los
n 1
X 2 ln U i
i 1
usando n/2 variable Ui ~ U(0,1)
X 2 ln U i Z 2
i 1
se requiere adems la generacin de Z ~ N(0,1)
Distribucin t-Student
Sea Z ~ N(0,1) e Y ~ 2(n) v.a.c. Independientes. Entonces:
Z
X ~ t-Student con n g.l.
Y
n
Distribucin F
Sea Y1 ~ 2(n1) e Y2 ~ 2(n2) v.a.c. Independientes.
Entonces
Y1 / n1
X ~ F( n1 ,n2 )
Y2 / n2
Algoritmo
1. Generar U ~ U(0,1)
2. Si U 1 - p asignar X = 1
3. E.t.o.c. asigna X = 0
Generacin de Variables
Discretas
Generacin de una variable discreta finita
Se desea simular una v.a.d. con funcin de cuanta
pi= P(X=i) y funcin de distribucin Fi
i 1 2 3 4
pi 0,15 0,05 0,35 0,45
Fi 0,15 0,20 0,55 1,00
Generacin de Variables
Discretas
Algoritmo
Generar U ~ U(0,1)
- si U < 0,15 X = 1
- si U < 0,20 X = 2
- si U < 0,55 X = 3
- si U 0,55 X = 4
Generacin de Variables
Discretas
Si ordenamos los pi en orden decreciente
obtenemos un algoritmo ms eficiente
Generar U ~ U(0,1)
- si U < 0,45 X = 4
- si U < 0,80 X = 3
- si U < 0,95 X = 1
-E.t.o.c. genera X = 2
Generacin de Variables
Discretas
o bien
X i si i 1 nU i
Lo que se puede escribir
X nU 1
Mtodo de Aceptacin-
Rechazo
Mtodo A-R
Se desea generar un v.a.d. X con cuanta {pi, i 0}. Si
disponemos de un generador para v.a.d. Y con cuanta
{qi, i 0 }. Para simular X, primero se simula Y y se acepta
el valor simulado con probabilidad pi/qi
i C (Soporte)
Sea a > 0 : pi/qi > a
Entonces el Mtodo A-R se obtiene mediante.
Algoritmo Hasta que U < pY / aqY
P1. Generar Y ~ {qi : i 0 }
P2. Si U ~ U(0,1)
P3. Generar X = Y+
Mtodo de Aceptacin-
Rechazo
Algoritmo
Hasta que U2 < pY / 0,22
P1. Generar U1, U2 ~ U(0,1)
P2. Hacer Y 5U1 1
P3. Genera salida X = Y
Mtodo de
Composicin
Mtodo de la Composicin
Sea X1, X2 v.a.d. con cuantas {pi} y {qi} respectivamente.
Supongamos que deseamos generar una nueva v.a.d. X
con funcin de cuanta
P ( X i ) pi (1 )qi i C
con (0,1).
Para generar X,
Mtodo de
Composicin
Algoritmo
P1. Generar U ~ U(0,1)
P2. Si U < generar X1
P3. Si U > generar X2
Ejemplo: Generar la v.a.d. X con cuanta
i 0 1 2 3 4 5
pi 0,12 0,12 0,12 0,12 0,32 0,20
Mtodo de
Composicin
pi 0,6 p 0,4 p
1
i
2
i
i 0 1 2 3 4 5
pi1 0,12 0,12 0,12 0,12 0,32 0,20
pi2 0 0 0 0 0,5 0,5
Mtodo de
Composicin
Algoritmo
Distribucin Binomial
Para generar una v.a.d. X ~ B(n,p)
n
X Z i ; Z i ~ B (1, p ) independientes
i 1
Algoritmo
P1 : Hacer X = 0
P2 : Efectuar n rplicas
- Generar U ~ U(0,1)
Si U < p , Hacer X = X + 1
Si U p , Hacer X = X + 0
P3 : Generar salida X
Mtodos Especficos
(n i ) p
P ( X i 1) P( X i)
(i 1)(1 p)
[Frmula recursiva]
Sea
P P( X i ) ; F P( X i )
Mtodos Especficos
Algoritmo
P1 : Genera U ~ U(0,1)
P2 : Hacer i = 0 , P = F = (1-p)n
Hasta que U < F
(n i ) p
Hacer P = (i 1)(1 p ) P ,F=F+P
i=i+1
P3 : Generar salida X = i
Mtodos Especficos
Distribucin Poisson
Algoritmo
P1 : Genera U ~ U(0,1)
P2 : Hacer i = 0 F = P = Exp(-)
Hasta que U < F
Hacer P = (i 1) P , F = F + P
i=i+1
P3 : Generar salida X = i
Mtodos Especficos
Distribucin Geomtrica
Para generar una v.a.d. X ~ Geo(p), es posible discretizar
Y ~ exp(). Sea X = [y]
= r
exp(s )ds exp(r ) exp( (r 1));
Distribucin Hipergeomtrica
Para generar una distribucin Hipergeomtrica H(m,n,p)
se efectan n extracciones sin reposicin de un conjunto
de m elementos de dos clases {p m C1 y m(1-p) C2 }
Algoritmo
P1 : Hacer X = 0, C1 = mp C2 = m-C1
P2 : Repetir n veces
Generar U ~ U(0,1)
Si U C1/m hacer X = X+1 , C1 = C1 - 1
sino , C2 = C2 - 1
Hacer m = m - 1
P3 : Generar salida X
Mtodos Especficos
Distribuciones Multivariadas
Distribuciones Independientes
El caso ms simple lo constituye el de distribuciones
marginales independientes
p
F ( x ) Fxi ( xi )
i 1
Distribuciones Dependientes
Distribuciones Dependientes con condicionadas
disponibles. Utilizando la descomposicin
F(x) = F1(x1) F2(x2 / x1)... F(xp / x1,x2,...,xp-1)
Si disponemos de las distribuciones
Xi / X1, ..., Xi-1 i = 1,2,...,p
Algoritmo
P1 : Desde i=1,2,...,p
Generar Xi ~ Xi / x1, ..., xi-1
P2 : Generar salida x = (x1,x2,...,xp)
Mtodos Especficos
Estadsticos de Orden
Algoritmo
P1 : Generar U(1), U(2),...,U(p) ~ U(0,1)
P2 : Hacer U(p) = (Up)1/p
U(k) = U(k+1) Uk1/k
Mtodos Especficos
Distribuciones Discretas
Las distribuciones discretas multivariadas no difieren de las
univariadas. El soporte puede ser grande, pero los
mtodos, inversin, alias, etc. funcionan bien.
Ejemplo : Distribucin bivariada (X,Y) con soporte
{1,2,...,L}x{1,2,...,M} tenemos
Pxy = P(X x) + P(X=x, Y=y)
indexado en x.
Mtodos Especficos
Mtodos Especficos
Distribucin de Wishart
Para generar una v.a.c. W ~ W(n,,) para = 0, si = LLt
n
Entonces:
W = L V Lt ~ W (n,,0)
Mtodos Especficos
Algoritmo
P1 : Generar Zij ~ N(0,1) i = 1,2,...,n j=1,2,...,n
n
P2 : Hacer V =
i 1
Zi Zit
P3 : Hacer W = L V Lt
P4 : Salida W
Mtodos Especficos
k 1 k p 1
Algoritmo
Hacer t = 0, Xo = io , j = 0
Mientras t < N
Generar tj ~ exp(vxj)
Hacer t = t + tj
Hacer j = j + 1
Generar Xj ~ Pxj-1
Mtodos Especficos
Proceso de Poisson
En el Proceso de Poisson P(), el nmero de eventos NT
en un intervalo (0,T) es P(T) y los NT ~ U(0,T)
Algoritmo
- Generar NT ~ P(T)
- Generar U1, ..., UT ~ U(0,T)
Mtodos Especficos
OBS :
1) Para procesos de Poissont
no homogneos, con
intensidad (t) y u(t) = 0 (s) ds . Entonces
- Generar NT ~ P(u(t))
- Generar T1, T2 ,..., TNT ~ (t ) I[ 0,T ]
El Proceso de Gibbs
El creciente inters en los mtodos de cadenas de Markov,
se debe al uso en Inferencia Bayesiana del Muestrador de
Gibbs. [Geman (1984)]
Ejemplo: Sean (X,Y) v.a.d. Bernoulli con distribucin
x y P(X,Y)
0 0 p1
1 0 p2 pi = 1
0 1 p3 pi > 0
1 1 p4
Mtodos Especficos
P(X=1) = p2 + p4 (Marginal)
p3 x 0
P(X/Y=1) = p x 1
4
p4
P(X=1/Y=1) = p3 p 4
p2 p4
p2 p4 p2 p4
Mtodos Especficos
p1 p2
Axy
p1 p2 p1 p2
p3 p4
p3 p4 p3 p4
Algoritmo
Escoger Y0 = y0 , j =1
Repetir
Generar Xj ~ X/Y = yj-1
Generar Yj ~ Y/X = xj
j=j+1
Entonces {Xn} define una cadena de Markov con matriz de
transicin
A = Ayx Axy
Mtodos Especficos
Pg(Xn, Xn+1) = n 1 n 1
( xi / X n
j ; j i ; X j , j i)
j 1
(x2/x1) =
exp[ x 2
1 2]
x
exp[1 x22 ]
x1/x2 ~
x2/x1 ~ N(0, 2=(1/2x1))
Mtodos Especficos
El muestreador Gibbs
Escoger x20 ; j = 1
Repetir
Generar X1j ~ exp[1+(x2j-1)2]
Generar X2j ~ N(0, 1/2x1j)
OBS: Las secuencias podran efectuarse en forma
aleatoria en lugar de usar la secuenciacin natural
Estudiar el Algoritmo de Metropolis-Hastings.