Transcript
Page 1: Método 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 función de cuantía

Método 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 función de cuantía P = { pi : i = 1,2,...,n }

donde Q(k) es una distribución concentrada en a lo sumo dos puntos {1,2,...,n}. La demostración de esta descomposición se basa en:

1

1

)(

1

1 n

k

kQn

P

Método de ComposiciónCaso Especial

Método de ComposiciónCaso Especial

Page 2: Método 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 función de cuantía

Lema1: Sea P = { pi : i=1,2,...,n} función de cuantía

Entonces:

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

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

Dem : Reducción al absurdo

11n

11n

TransformacionesTransformaciones

Page 3: Método 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 función de cuantía

Distribución Binomial

Para generar una v.a.d. X ~ B(n,p)

independientes

Algoritmo

P1 : Hacer X = 0

P2 : Efectuar n réplicas- Generar U ~ U(0,1)Si U < p , Hacer X = X + 1Si U p , Hacer X = X + 0

P3 : Generar salida XObservación: Método propuesto requiere de generar “n” números aleatorios y n comparaciones

),1(~;1

pBZZX i

n

ii

Métodos EspecíficosMétodos Específicos

Page 4: Método 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 función de cuantía

Un método alternativo es el método de inversión basado en la relación recursiva siguiente

[Fórmula recursiva]

Sea)(

)1)(1(

)()1( iXP

pi

piniXP

)(;)( iXPFiXPP

Métodos EspecíficosMétodos Específicos

Page 5: Método 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 función de cuantía

Algoritmo

P1 : Genera U ~ U(0,1)

P2 : Hacer i = 0 , P = F = (1-p)n

Hasta que U < F

Hacer P = P , F = F + P

i = i + 1

P3 : Generar salida X = i

)1)(1(

)(

pi

pin

Métodos EspecíficosMétodos Específicos

Page 6: Método 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 función de cuantía

Distribución Poisson

Para generar la distribución de Poisson P() con pequeño, utilizando el método de inversión.

P(X = i + 1) =

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

)()1(

iXPi

Métodos EspecíficosMétodos Específicos

Page 7: Método 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 función de cuantía

Algoritmo

P1 : Genera U ~ U(0,1)

P2 : Hacer i = 0 F = P = Exp(-)

Hasta que U < F

Hacer P = P , F = F + P

i = i + 1

P3 : Generar salida X = i

)1( i

Métodos EspecíficosMétodos Específicos

Page 8: Método 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 función de cuantía

Distribución Geométrica

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

=

es la función de cuantía de una Geo(p=1-exp(-))

Tomando = -ln(1-p) X = ~ Geo(p)

));1(exp()exp()exp(1

rrdssr

r

][ )1ln(lnpU

Métodos EspecíficosMétodos Específicos

Page 9: Método 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 función de cuantía

Distribución Hipergeométrica

Para generar una distribución Hipergeométrica H(m,n,p) se efectúan n extracciones sin reposición de un conjunto de m elementos de dos clases {p m C1 y m(1-p) C2 }

AlgoritmoP1 : 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 - 1P3 : Generar salida X

Métodos EspecíficosMétodos Específicos

Page 10: Método 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 función de cuantía

Distribuciones Multivariadas

Distribuciones Independientes

El caso más simple lo constituye el de distribuciones marginales independientes

con x = (x1, x2,...,xp) Basta con generar cada componente Xi, como distribución univarianda y salir con

X = (X1, X2, ..., Xp)

p

iix xFxF

i1

)()(

Métodos EspecíficosMétodos Específicos

Page 11: Método 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 función de cuantía

Distribuciones Dependientes

Distribuciones Dependientes con condicionadas disponibles. Utilizando la descomposición

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

AlgoritmoP1 : Desde i=1,2,...,p Generar Xi ~ Xi / x1, ..., xi-1

P2 : Generar salida x = (x1,x2,...,xp)

Métodos EspecíficosMétodos Específicos

Page 12: Método 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 función de cuantía

Estadísticos de Orden

Para muestrear (X(1), X(2),...,X(p)), el estadístico 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

números aleatorios (U(1), U(2),...,U(p)) y salir X(i) = F(U(i)).

Para ello es necesario generar una muestra ordenada de

números aleatorios (U(1), U(2),...,U(p)) .

Métodos EspecíficosMétodos Específicos

Page 13: Método 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 función de cuantía

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

Métodos EspecíficosMétodos Específicos

Page 14: Método 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 función de cuantía

Distribuciones Discretas

Las distribuciones discretas multivariadas no difieren de las univariadas. El soporte puede ser grande, pero los métodos, inversión, alias, etc. funcionan bien.

Ejemplo : Distribución 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.

Métodos EspecíficosMétodos Específicos

Page 15: Método 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 función de cuantía

Métodos Específicos

Para generar X = (X1, X2,...,Xp) ~ N(, ) se usa el método de descomposición de Cholesky.

Sea = L Lt, para alguna matriz L.

Entonces si Z = (Z1, Z2,...,Zp) ~ N(0, Ip)

la variable X = (, LZ) ~ N(, )

Métodos EspecíficosMétodos Específicos

Page 16: Método 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 función de cuantía

Distribución de Wishart

Para generar una v.a.c. W ~ W(n,,) para = 0, si = LLt y V = Zi Zi

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

Entonces:

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

n

i 1

Métodos EspecíficosMétodos Específicos

Page 17: Método 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 función de cuantía

Algoritmo

P1 : Generar Zij ~ N(0,1) i = 1,2,...,n j=1,2,...,n

P2 : Hacer V = Zi Zit

P3 : Hacer W = L V Lt

P4 : Salida W

n

i 1

Métodos EspecíficosMétodos Específicos

Page 18: Método 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 función de cuantía

El algoritmo implica generar “np” normales estándar. Una reducción del esfuerzo de cálculo se obtiene utilizando la descomposición de Bartlett.

En el caso no centrado ( 0), es una matriz simétrica definida no negativa. Sea = t su descomposición de Cholesky y u1, u2, ..., up las filas de .

Entonces, podemos escribir :

donde se genera W, similar al caso = 0 usando np normales estándares.

n

pk

ttkk

p

k

tkkkk LZLZLZLZW

11

))((

Métodos EspecíficosMétodos Específicos

Page 19: Método 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 función de cuantía

Distribución Multinomial (p-dimensional).

Para generar la Distribución Multinomial de parámetros

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

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

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

i = 2,3,...,p con wi =

pinXqqp

ii

p

iii ,...,2,1,0,1

1 1

121 ......1 i

i

qqq

q

Métodos EspecíficosMétodos Específicos

Page 20: Método 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 función de cuantía

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

Métodos EspecíficosMétodos Específicos

Page 21: Método 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 función de cuantía

Generación de Procesos Estocásticos

Generación de Familias de v.a. {Xt}t T

Comenzaremos con las cadenas de Markov homogéneas.

Cadena de Markov en Tiempo Discreto

Para generar una cadena de Markov con espacio de estado S y matriz de transición P = [pij] donde pij = P(Xn+1=j / X = i). La forma más simple de simular la transición (n+1)-ésima, conocida Xn, es generar Xn+1~{pxnj : j S}

Métodos EspecíficosMétodos Específicos

Page 22: Método 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 función de cuantía

Alternativamente se puede simular Tn, el tiempo hasta el

siguiente cambio de estado y, después el nuevo estado

Xn+Tn. Si Xn = s, Tn ~ G(pss) y Xn+Tn tiene una distribución

discreta con cuantía {psj / (1 - pss) : j S \ {s}}.

Para muestrear N transiciones de la cadena suponiendo Xo = io

Algoritmo

Hacer t=0, Xo = ioMientras t < NGenerar h ~ G(pxtxt)Generar Xt+h ~ {pxtj / (1 - pxtxt) : j S \ {s}}.Hacer t=t+h

Métodos EspecíficosMétodos Específicos

Page 23: Método 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 función de cuantía

OBS. 1) La primera forma de simular una cadena de Markov, que corresponde a una estrategia

sincrónica, es decir en la que el tiempo de simulación avanza a instantes iguales.

2) La estrategia asincrónica es más complicada de simular [Ver. B. Ripley 1996]

Métodos EspecíficosMétodos Específicos

Page 24: Método 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 función de cuantía

Cadenas de Markov en Tiempo Continuo

La simulación asincrónica de cadenas de Markov en tiempo continuo es sencilla de implantar.

- Las cadenas de Markov de Tiempo Continuo vienen caracterizadas por los parámetros vi de las distribuciones exponenciales de tiempo de permanencia en el estado i y la matriz de transición P; con pii = 0; pij = 1

- Sea Pi la distribución de la fila i-ésima. Entonces si Xo= io, para simular hasta T se tiene :

ji

Métodos EspecíficosMétodos Específicos

Page 25: Método 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 función de cuantía

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

Métodos EspecíficosMétodos Específicos

Page 26: Método 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 función de cuantía

Proceso de Poisson

En el Proceso de Poisson P(), el número 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)

Métodos EspecíficosMétodos Específicos

Page 27: Método 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 función de cuantía

OBS :

1) Para procesos de Poisson no homogéneos, con intensidad (t) y u(t) = (s) ds . Entonces

- Generar NT ~ P(u(t))

- Generar T1, T2 ,..., TNT ~

2) Los procesos de Poisson son un caso particular de los procesos de renovación. La forma de generar los primeros se extiende a los procesos de renovación.

t

0

],0[)( TIt

Métodos EspecíficosMétodos Específicos

Page 28: Método 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 función de cuantía

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

- Ti = Si - Si-1 los tiempos entre sucesos.

- Para un proceso de renovación, los Ti son v.a.i.i.d. según cierta distribución .

- Simular hasta el instante T.

Hacer S0 = 0Mientras Si < T

Generar Ti ~ Hacer Si = Ti + Si-1

Hacer i = i + 1

Métodos EspecíficosMétodos Específicos

Page 29: Método 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 función de cuantía

Procesos no Puntuales (Movimiento Browniano)

- La simulación de procesos (no puntuales) en tiempo continuo es más complicada que la simulación de procesos puntuales.0

- Una solución es generar procesos en suficientes instantes discretos y aproximar la trayectoria por interpolación.

Métodos EspecíficosMétodos Específicos

Page 30: Método 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 función de cuantía

Como ejemplo, consideremos el movimiento Browniano con parámetro 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

Métodos EspecíficosMétodos Específicos

Page 31: Método 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 función de cuantía

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 Simulación de Procesos continuos [Ver B. Ripley 1987]

Métodos EspecíficosMétodos Específicos

Page 32: Método 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 función de cuantía

El Proceso de Gibbs

El creciente interés en los métodos 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 distribución

x y P(X,Y)0 0 p1

1 0 p2 pi = 10 1 p3 pi > 01 1 p4

Métodos EspecíficosMétodos Específicos

Page 33: Método 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 función de cuantía

P(X=1) = p2 + p4 (Marginal)

P(X/Y=1) =

P(X=1/Y=1) =

Las Distribuciones condicionales

1

0

4

3

xp

xp

43

4

ppp

)1/1()1/0(

)0/1()0/0(

xyPxyP

xypxyPAyx

42

4

42

2

31

3

31

1

ppp

ppp

ppp

ppp

yxA

Métodos EspecíficosMétodos Específicos

Page 34: Método 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 función de cuantía

Algoritmo

Escoger Y0 = y0 , j =1Repetir Generar Xj ~ X/Y = yj-1

Generar Yj ~ Y/X = xj

j=j+1

Entonces {Xn} define una cadena de Markov con matriz de transición

A = Ayx Axy

43

4

43

3

21

2

21

1

ppp

ppp

ppp

ppp

xyA

Métodos EspecíficosMétodos Específicos

Page 35: Método 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 función de cuantía

Como las probabilidades pi > 0, la cadena es ergódica y tiene distribución límite, 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 distribución límite deseada y se puede generalizar.

Para muestrear un vector aleatorio p-variante

X = (X1, X2, ..., Xp) con distribución , conociendo

las distribuciones condicionadas Xs/Xr, r s

Métodos EspecíficosMétodos Específicos

Page 36: Método 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 función de cuantía

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

El [Gibbs Sampler] en este caso es

- Escoger X10, X2

0,..., Xp0 ; j = 1

RepetirGenerar X1

j ~ X1/ X2j-1,..., Xp

j-1 Generar X2

j ~ X2/ X1j, X3

j-1,..., Xpj-1

....Generar Xp

j ~ Xp/ X1j, X2

j,..., Xp-1j

j = j+1

Métodos EspecíficosMétodos Específicos

Page 37: Método 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 función de cuantía

Se puede verificar que Xn = (X1n, X2

n,..., Xpn) define una

cadena de Markov con Matriz de transición

Pg(Xn, Xn+1) =

Bajo condiciones suficientemente generales [Ver Roberts Smith (1994)]

p

j

nj

nj

ni ijXijXx

1

11 ),;;/(

Métodos EspecíficosMétodos Específicos

Page 38: Método 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 función de cuantía

Ejemplo : Muestrear la densidad

(x1/x2) =

siendo D = R+ R

(x1/x2) =

(x2/x1) =

x1/x2 ~

x2/x1 ~ N(0, 2=(1/2x1))

),()]1(exp[ 21221

1 xxIxxD

]exp[ 221xx

)]1(exp[ 221)(

),(

2

21 xxxxx

]1exp[ 22x

Métodos EspecíficosMétodos Específicos

Page 39: Método 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 función de cuantía

El muestreador Gibbs

Escoger x20 ; j = 1

Repetir

Generar X1j ~ exp[1+(x2

j-1)2]

Generar X2j ~ N(0, 1/2x1

j)

OBS: Las secuencias podrían efectuarse en forma aleatoria en lugar de usar la secuenciación natural

Estudiar el Algoritmo de Metropolis-Hastings.

Métodos EspecíficosMétodos Específicos


Top Related