Está en la página 1de 87

Captulo 6

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

El muestreo de Y, y de X/Y se puede efectuar por


inversin.
Mtodo de
Composicin

Algoritmo:

P1 : Generar U1, U2 ~ U(0,1)


P2 : Generar Y = U11/n
P3 : Hacer X = -(1/y) ln U2
P4 : Generar la salida X
Mtodo de Cuociente de
Uniformes
Sean (U,V) vec.a. Uniforme en disco unitario en tal caso
(U/V) sigue una distribucin de Cauchy. Es posible
muestrear otras distribuciones como cuociente de
distribuciones uniformes sobre R?
Proposicin 4.1 Sea h una funcin no negativa con

o h Sea
0


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

Es finita por hiptesis. La densidad de (U,V) es 1/Ch en su


soporte. (U,X) tiene densidad u/ reaCh en su soporte y X
tiene distribucin marginal.
h( x)
u h( x ) h( x )

0
reaC h
du
2 reaC h h( x)dx
Mtodo de Cuociente de
Uniformes
Ejemplo: Tomemos 1
h( x ) x R
1 x 2

Sea 1
Ch (u, v) : 0 u 2

1 ( u)
v

Supongamos que (U,V) ~ Uniforme en Ch


Entonces X =V/U tiene densidad h / Ch

1 1
o bien f ( x) 2 [Cauchy]
1 x
Mtodo de Cuociente de
Uniformes
Algoritmo:

Hasta que (U,V) Cf

P1 : Generar U1, U2 ~ U(0,1)


P2 : U = U1 V = 2 U2 -1
P3 : Generar la salida X = V/U
Transformaciones

En ocasiones es posible usar transformaciones entre v.a.


de manera que si sabemos generar una de ellas podemos
generar la otra
Ejemplo 1: Generacin Log-Normal
Supongamos que disponemos de un buen generado
de v.a. Y normales. Sabemos que si X es una Log-Normal,
Y = log X es Normal.
Generar Y ~ Normal
Salir X = Exp(Y) ~ Log-Normal
Transformaciones

Ejemplo 2 : Generacin de la Distribucin (,)

Supongamos que disponemos de un generador (,1).


Sabemos Y ~ (,1), entonces [Y/] ~ (,)

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

Sean R, las coordenadas polares de (X,Y)


R2 = X2 + Y2 tan = (Y/X)
la funcin de densidad de (R, ) es
g(r, ) =
1
2

r exp r 2

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

R se genera fcilmente por el mtodo de inversin

FR (r ) 1 exp( r 2)
2

As si U1 ~ U(0,1) se tiene que


1
F (U1 ) R 2 ln U1
Mtodos Especficos

Algoritmo: [N(0,1)]

P1 : Generar U1, U2 ~ U(0,1)


P2 : Hacer R = 2 ln U1 , con 2U 2

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

Exponenciales: Generar X ~ ( Exp() )

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

Mtodo de cuocientes Uniformes con Contrastes


Sea h(x) = Exp(-x) IR+(x)

Ch (u, v) : 0 u exp(v / u )
y la cadena de equivalencias
(u, v) Ch 0 u , u 2 exp(v / u )
v 2u ln u

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:

Hasta V 2U1 lnU1


Generar U1,U2 ~ U(0,1)
Hacer V = (2/e) U2
Generar salida X = V/U1
Mtodos de cuocientes
uniformes con contrastes

OBS: El mtodo de cuocientes de Uniformes resulta


competitivo, si usamos pre-contrastes sobre la condicin,
V -2U ln U
recordemos que Exp(x) 1 + x x ln(1 + x)
Si cambiamos x = a U -1 tenemos
a U - 1 ln a U = ln a + ln U
-ln U [1 + ln a] - aU
Si cambiamos X = [b / U] - 1 resulta
-ln U b/U - [1 + ln b]
Mtodos de cuocientes
uniformes con contrastes

As el algoritmo con pre-contrastes es

1.- Generar U1 ~ U(0,1) ; U2 ~ U(0, 2/e)


2.- Hacer X = V / U1
3.- Si X/2 1 + ln a - a U1 , ir a 6
4.- SI X/2 b / U1 - (1 + ln b) , ir a 2
5.- Si X/2 > -ln U1 , ir a 1
6.- Generar salida X
Mtodos de cuocientes
uniformes con contrastes

Distribucin Gamma y Erlang


Dado X ~ (,1), es un parmetro de escala.
Luego Y ~ (, ) usamos Y = X/
Cuando Z+ tenemos una Distribucin de Erlang que
es la suma de variables Exp(1) independientes.
Mtodos de cuocientes
uniformes con contrastes

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

Sea h(x) = X-1 Exp(-x)


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

Transformacin i.e. Genera n v.a. Normales estndar y


sumarlas.

Otra aproximacin 2
( 2 , 2 ) Luego usando los
n 1

resultados de la ( ,1) tenemos :


Generacin de Variables
Aleatorias
1.- Si n es par, se genera X mediante
n
2

X 2 ln U i
i 1
usando n/2 variable Ui ~ U(0,1)

2.- Si n es impar, entonces


2
n

X 2 ln U i Z 2
i 1
se requiere adems la generacin de Z ~ N(0,1)

OBS: Cuando n > 40 se puede utilizar la aproximacin


Normal
Transformaciones

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

Para generar X, podemos generar Z e Y y luego usar la


transformacin X = Z / Y n
Transformaciones

Distribucin F
Sea Y1 ~ 2(n1) e Y2 ~ 2(n2) v.a.c. Independientes.
Entonces
Y1 / n1
X ~ F( n1 ,n2 )
Y2 / n2

Para generar X, podemos generar Z e Y y luego usar la


transformacin Y /n
X 1 1
Y2 / n2
Generacin de Variables
Discretas
Mtodos Genricos: Es posible modificar algunos mtodos
propuestos para v.a.c. y adaptarlos a v.a.d.
Mtodo de Inversin
Se F(u) = min {x: F(x) u)}. Si U es una v.a.c. U(0,1),
entonces X = F(U) tiene distribucin F.
Ejemplo: Distribucin de Bernoulli
Sea X ~ B(1, p) , F(x) = (1 - p) p I[1,[(x)
1 si u 1 p
F (u )
0 si u 1 p
Generacin de Variables
Discretas

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

OBS. Para generar X v.a.d. con Rx = 1, 2, ..., n y


distribucin equiprobable P(X=i)= 1 / n ; i = 1, n
X i si i 1
n U i
n

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

Ejemplo: Usando el Mtodo de A-R simular una v.a.d. X


con cuanta
i 1 2 3 4 5
pi 0,19 0,20 0,18 0,22 0,21

Sea Y v.a.d. uniforme en 1, 2, 3, 4 y 5 P(Y=i) = 1/5 ; i = 1,5


Consideremos a = mx pi/qi = 1,1
a qi = 1,1/ 5 = 0,22
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

X se puede escribir como composicin de dos v.a.d.


Uniformes X1, X2 dadas respectivamente por

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

P1. Generar U1,U2 ~ U(0,1)


P2. Si U1 < 0,6 generar X= 5U 2
P3. Si U1 0,6 generar X = 2U 2 4
Mtodo de
Composicin

Mtodo Alias (Walter 1997)


Permite generar de manera eficiente v.a.d. Con soporte
finito. Supongamos que se desea generar la v.a.d. X con
funcin de cuanta P = { pi : i = 1,2,...,n }
1 n 1 ( k )
P
n 1 k 1
Q

donde Q(k) es una distribucin concentrada en a lo sumo


dos puntos {1,2,...,n}. La demostracin de esta
descomposicin se basa en:
Transformaciones

Lema: Sea P = { pi : i=1,2,...,n} funcin de cuanta


Entonces:
a) Existe i {1,2,...,n} tal que pi < n11

b) Para tal i, existe j con i j tal que pi + pj n1


1
Mtodos Especficos

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

OBS: El Mtodo propuesto requiere de n nmeros


aleatorios y n comparaciones.
Un mtodo de inversin aleatorio es

(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

Para generar la distribucin de Poisson P() con


pequeo, utilizando el mtodo de inversin.

P(X = i + 1) = P( X i)
(i 1)

usando P = P(X = i) , F = P(X i)


Mtodos Especficos

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]

Entonces P[x = r] =P(r Y < r +1), r=0,1,2,..


r 1

= r
exp(s )ds exp(r ) exp( (r 1));

es la funcin de cuanta de una Geo(p=1-exp(-))


X = ln(1 p ) ]
[ ln U
Tomando = -ln(1-p) ~ Geo(p)
Mtodos Especficos

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

con x = (x1, x2,...,xp) Basta con generar cada componente


Xi, como univariante y salir con X = (X1, X2, ..., Xp)
Mtodos Especficos

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

Para muestrear (X(1), X(2),...,X(p)), el estadstico de orden


asociado a m.a.s. X1,X2,...,Xp de X. La forma obvia de
muestrear es hacerlo de (X1,X2,...,Xp). Alternativamente,
podemos generar la muestra de orden. Por ejemplo, si
conocemos la inversa generalizada F, podemos generar
nmeros aleatorios (U(1), U(2),...,U(p)) y salir X(i) = F(U(i)).
Para ello es necesario generar una muestra ordenada de
nmeros aleatorios (U(1), U(2),...,U(p)) .
Mtodos Especficos

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

Para generar X = (X1, X2,...,Xp) ~ N(, ) se usa el mtodo


de descomposicin de Cholesky.
Sea = L Lt, para alguna matriz L.
Entonces si Z = (Z1, Z2,...,Zp) ~ N(0, Ip)
la variable X = (, LZ) ~ N(, )
Mtodos Especficos

Distribucin de Wishart
Para generar una v.a.c. W ~ W(n,,) para = 0, si = LLt
n

y V = Zi Zit ; Zi normales p-variantes N(0, Ip) , i = 1,2,...,n


i 1

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

El algoritmo implica generar np normales estndar. Una


reduccin del esfuerzo de clculo se obtiene utilizando la
descomposicin de Bartlett.
En el caso no centrado ( 0), es una matriz simtrica
definida no negativa. Sea = t su descomposicin de
Cholesky y u1, u2, ..., up las filas de .
Entonces, podemos escribir :
p n
W ( k LZ k )( k LZ k ) t k kL
LZ Z t t

k 1 k p 1

donde se genera W, similar al caso = 0 usando np


normales estndares.
Mtodos Especficos

Distribucin Multinomial (p-dimensional).


Para generar la Distribucin Multinomial de parmetros

q1p, q2, ..., qp X = (X1, X2, ...,


p
Xp) ~ M(n, q1,...,qp) con :
q
i 1
i 1, qi 0 i 1
X i n, i 1,2,..., p

Como Xi ~ B(n, qi) i = 1,2,...,p


Xi / X1=x1,..., Xi-1=xi-1, ~ B(n-x1...-x
q i-1, wi)
i
1 q1 q2 ...... qi 1
i = 2,3,...,p con wi =
Mtodos Especficos

Entonces resulta el Algoritmo


P1 : Hacer mientras m=n i=1, w=1, Xi = 0, i=1,...,p
Mientras m 0
Generar Xi ~ B(m, qi/w)
Hacer m = m-Xi , w =1 - qi , i = i+1
Mtodos Especficos

Generacin de Procesos Estocsticos


Generacin de Familias de v.a. {Xt}t T
Comenzaremos con las cadenas de Markov homogneas.
Cadena de Markov en Tiempo Discreto
Para generar una cadena de Markov con espacio de estado S
y matriz de transicin P = [pij] donde pij = P(Xn+1=j / X = i). La
forma ms simple de simular la transicin (n+1)-sima,
conocida Xn, es generar Xn+1~{pxnj : j S}
Mtodos Especficos
Alternativamente se puede simular Tn, el tiempo hasta el
siguiente cambio de estado y, despus el nuevo estado
Xn+Tn. Si Xn = s, Tn ~ G(pss) y Xn+Tn tiene una distribucin
discreta con cuanta {psj / (1 - pss) : j S \ {s}}.
Para muestrear N transiciones de la cadena suponiendo
Xo = io
Algoritmo
Hacer t=0, Xo = io
Mientras t < N
Generar h ~ G(pxtxt)
Generar Xt+h ~ {pxtj / (1 - pxtxt) : j S \ {s}}.
Hacer t=t+h
Mtodos Especficos

OBS. 1) La primera forma de simular una cadena de


Markov corresponde a una estrategia sincrnica, es
decir en la que el tiempo de simulacin avanza a
instantes iguales.
2) La estrategia asincrnica es ms complicada de
simular [Ver. B. Ripley 1996]
Mtodos Especficos

Cadenas de Markov en Tiempo Continuo


La simulacin asincrnica de cadenas de Markov en
tiempo continuo es sencilla de implantar.
- Las cadenas de Markov de Tiempo Continuo vienen
caracterizadas por los parmetros vi de las distribuciones
exponenciales de tiempo de permanencia en el estado i y
la matriz de transicin P; con pii = 0; pij = 1
i j

- Sea Pi la distribucin de la fila i-sima. Entonces si Xo= io,


para simular hasta T se tiene :
Mtodos Especficos

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 ]

2) Los procesos de Poisson son un caso particular


de los procesos de renovacin. La forma de generar
los primeros se extiende a los procesos de
renovacin.
Mtodos Especficos

- Sean S0 = 0, S1, S2, ... Los tiempos de ocurrencia


- Ti = Si - Si-1 los tiempos entre sucesos.
- Para un proceso de renovacin, los Ti son v.a.i.i.d. segn
cierta distribucin .
- Simular hasta el instante T.
Hacer S0 = 0
Mientras Si < T
Generar Ti ~
Hacer Si = Ti + Si-1
Hacer i = i + 1
Mtodos Especficos

Procesos no Puntuales (Movimiento Browniano)


- La simulacin de procesos (no puntuales) en tiempo
continuo es ms complicada que la simulacin de procesos
puntuales.0
- Una solucin es generar procesos en suficientes
instantes discretos y aproximar la trayectoria por
interpolacin.
Mtodos Especficos

Como ejemplo, consideremos el movimiento Browniano


con parmetro 2
- X0 = 0

- Para s1 t1 s2 t2 ..... sn tn las v.a.


Xt1 - Xs1, ..., Xtn - Xsn son independientes
- Para s < t, Xt - Xs ~ N(0, (t-s) 2)
- Las trayectorias son continuas
Mtodos Especficos

Entonces para t fijo,


Hacer X0 = 0
Desde i = 1 hasta n
Generar Yi ~ N(0, (t-s) 2)
Hacer Xit = X(i-1)t + Yi
Interpolar la trayectoria en {(it, Xit)}
Otros ejemplos de Simulacin de Procesos continuos [Ver
B. Ripley 1987]
Mtodos Especficos

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

Las Distribuciones condicionales


P ( y 0 / x 0) p ( y 1 / x 0)
Ayx
P( y 0 / x 1) P( y 1 / x 1)
p1 p3

Ayx
p1 p3 p1 p3

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

Como las probabilidades pi > 0, la cadena es ergdica y


tiene distribucin lmite, que es la marginal de X
Xn X ; Yn Y ; (Xn, Yn) (X,Y)
OBS: 1) El procedimiento descrito se llama muestrador de
Gibbs [Gibbs Sampler] y nos proporciona una
cadena de Markov, con distribucin lmite deseada y
se puede generalizar.

Para muestrear un vector aleatorio p-variante


X = (X1, X2, ..., Xp) con distribucin , conociendo
las distribuciones condicionadas Xs/Xr, r s
Mtodos Especficos

Sea (xs/xr, r s) Dist. Condicionada


El [Gibbs Sampler] en este caso es
- Escoger X10, X20,..., Xp0 ; j = 1
Repetir
Generar X1j ~ X1/ X2j-1,..., Xpj-1
Generar X2j ~ X2/ X1j, X3j-1,..., Xpj-1
....
Generar Xpj ~ Xp/ X1j, X2j,..., Xp-1j
j = j+1
Mtodos Especficos

Se puede verificar que Xn = (X1n, X2n,..., Xpn) define una


cadena de Markov con Matriz de transicin
p

Pg(Xn, Xn+1) = n 1 n 1
( xi / X n
j ; j i ; X j , j i)
j 1

Bajo condiciones suficientemente generales [Ver Roberts


Smith (1994)]
Mtodos Especficos

Ejemplo : Muestrear la densidad


(x1/x2) = 1
exp[ x1 (1 x22 )] I ( x1 , x2 )
D
siendo D = R+ R
( x1 , x2 )
(x1/x2) = exp[
( x2 ) x1 (1 x 2
2 )]

(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.

También podría gustarte