You are on page 1of 39

Mtodo de Composicin

Caso Especial
Mtodo Alias (Walter 1977)
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
Q

n 1 k 1
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
Lema1: 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

Dem : Reduccin al absurdo

n11

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
Observacin: Mtodo propuesto requiere de generar n
nmeros aleatorios y n comparaciones

Mtodos Especficos

Un mtodo alternativo es el mtodo de inversin basado


en la relacin recursiva siguiente
[Frmula recursiva]

Sea

(n i ) p
P( X i 1)
P( X i )
(i 1)(1 p)

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

Hacer P =

(n i) p
(i 1)(1 p) P

i=i+1
P3 : Generar salida X = i

,F=F+P

Mtodos Especficos

Distribucin Poisson
Para generar la distribucin de Poisson P() con
pequeo, utilizando el mtodo de inversin.
P(X = i + 1) =

(i 1)

P( X i )

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 ~ G(p), es posible discretizar
Y ~ exp().

Sea X = [y]

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


r 1

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


r

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


Tomando = -ln(1-p)

lnU
[
X = 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 distribucin univarianda 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
y V = Zi Zit ; Zi normales p-variantes N(0, Ip) , i = 1,2,...,n
n

i 1

Entonces:
W = L V Lt ~ W (n,,0)

Mtodos Especficos

Algoritmo
P1 : Generar Zij ~ N(0,1)
n

P2 : Hacer V = Zi Zit
i 1

P3 : Hacer W = L V Lt

P4 : Salida W

i = 1,2,...,n j=1,2,...,n

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

W ( k LZ k )( k LZ k )t
k 1

t t
LZ
Z
k kL

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

q1, q2, ..., qp X = (X1, X2, ..., Xp) ~ M(n, q1,...,qp) con :
p

q
i 1

1,

qi 0

Como Xi ~ B(n, qi)

i 1

X i n,

i = 1,2,...,p

Xi / X1=x1,..., Xi-1=xi-1, ~ B(n-x1...-xi-1, wi)


qi
i = 2,3,...,p
con wi = 1 q1 q2 ...... qi 1

i 1,2,..., p

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, que 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 Poisson no homogneos, con
t
intensidad (t) y u(t) = (s) ds . Entonces

- Generar NT ~ P(u(t))

I[ 0,T ]
- Generar T1, T2 ,..., TNT ~
(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
0
1
0
1

y P(X,Y)
0
p1
0
p2
1
p3
1
p4

pi = 1
pi > 0

Mtodos Especficos
P(X=1)

= p2 + p4 (Marginal)
p3 x 0
P(X/Y=1) =
p4 x 1
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)
p3
p p1p

p1 p3
1
3

Ayx
p4
p2

p2 p4
p2 p4

Mtodos Especficos

Axy

Algoritmo

p1
p1 p2

p2
p1 p2

p3
p3 p4

p4
p3 p4

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

n 1
n
n 1

(
x
/
X
;
j

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

Bajo condiciones suficientemente generales [Ver Roberts


Smith (1994)]

Mtodos Especficos
Ejemplo : Muestrear la densidad
(x1/x2) =

siendo D =

R+

exp[ x1 (1 x )] I ( x1 , x2 )
2
2

(x1/x2) = ( x(1x, x)2 ) exp[ x1 (1 x22 )]


2

(x2/x1) = exp[ x1 x2 ]
2

x1/x2 ~ exp[1 x22 ]


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.

You might also like