NOTAS SOBRE LA GENERACIÓN DE PROCESOS ESTOCÁSTICOS

Anuncio
Simulación Numérica de Modelos Estocásticos
Programa de Doctorado
Biometría y Estadística
NOTAS SOBRE LA GENERACIÓN
DE PROCESOS ESTOCÁSTICOS
Jordi Ocaña Rebull
Marzo de 2001
Contenido
1.
Procesos de Poisson
3
1.1.
Procesos de Poisson homogéneos
3
1.2.
Procesos de Poisson no homogéneos
3
1.3.
Procesos de Poisson bidimensionales
7
2.
Generación de procesos gausianos
9
2.1.
Método de Cholesky
9
2.2.
Método condicional
9
2.3.
Método de Fourier
11
2.4.
Comparación de los métodos para generar procesos gausianos
12
Bibliografía
12
2
GENERACIÓN DE PROCESOS ESTOCÁSTICOS
1.
Procesos de Poisson
La generación de un proceso de Poisson o, más en general, un proceso de “vida”
y/o “muerte” es asimilable a la generación del correspondiente proceso de los
tiempos de “llegada”, T1, T2,….
1.1.
Procesos de Poisson homogéneos
Como es bien conocido, un proceso de Poisson homogéneo, con tasa o frecuencia
de “llegadas” λ>0, constante, se puede simular a partir de la generación de una
serie de “tiempos” Ti= Ti-1+(logRi)/λ a partir de incrementos de tiempo iid con
distribución exponencial de parámetro λ, con densidad f(t)=λexp(−λt) para
t>0. Esto es equivalente a que el proceso complementario de “contajes” de
llegadas en un tiempo t, que indicaremos indistintamente Nt ó N(t), tenga
distribución de Poisson de parámetro λt.
1.2.
Procesos de Poisson no homogéneos
A menudo son más realistas los modelos basados en procesos de Poisson no
homogéneos, en los que la tasa de llegadas es una función del parámetro de
tiempo, λ(t). Esta suposición se puede introducir estableciendo que la
probabilidad de una o más llegadas en un tiempo δt a partir de t, es
aproximadamente proporcional a δt,
P {N t +δt − N t > 0} = λ (t ) δt + o (δt )
P {N t +δt − N t > 1} = o (δt )
En este caso resulta que, para un tiempo prefijado t0, N ( t0 ) ∼ P ( ∆ ( t0 ) ) , con
∆ (t ) =
∫
t
0
λ (u )du .
Los tres métodos más conocidos de generación de un proceso de Poisson no
homogéneo de este tipo se basan en la modificación de la escala de tiempo, en el
condicionamiento y en una adaptación del método de rechazo.
3
1.2.1.
Cambio de la escala de tiempo
Supongamos que T1, T2, … son los tiempos de llegada según un proceso de
Poisson no homogéneo. Si se realiza el siguiente cambio de escala de tiempo:
τ=
∫
T
0
λ (u )du = ∆ (T ) ,
el proceso asociado a los tiempos τ1, τ2, … es un proceso de Poisson homogéneo
con tasa de llegadas 1. Inversamente, el proceso asociado a los tiempos
T1 = ∆−1 (τ1 ),
T2 = ∆−1 (τ2 ), …
(1.1)
donde τ1, τ2, … corresponden a los tiempos asociados a un proceso homogéneo
de tasa 1, es un proceso de Poisson no homogéneo de tasa λ(t). Las
transformaciones (1.1) sugieren un método obvio de generación, cuya
aplicabilidad depende fuertemente de la forma de λ (y por lo tanto de ∆ etc.).
Se detendrá la generación del proceso homogéneo cuando deje de cumplirse la
condición τi ≤ ∆ ( t0 ) .
Como ejemplo de este método supongamos que λ(t) = exp(α + βt). En este
caso,
τ = ∆ (T ) =
∫
T
0
e
e α βt
du = (e − 1)
β
α +βu
y, por lo tanto,
T = ∆−1 (τ ) =
1.2.2.
1
log (1 + βτe −α ) .
β
Métodos basados en el condicionamiento
Condicionado a N(t0)=n, los tiempos de llegada corresponden a los valores del
estadístico ordinal T(1), T(2),…, T(n), generados a partir de la distribución
si
u<0
 0

 ∆ (u )
F (u ) = 
si 0 ≤ u ≤ t
 ∆ (t )

si
u > t.
 1
(1.2)
Una vez generado el valor n a partir de una distribución de Poisson de
parámetro ∆(t0), el problema reside en cómo generar valores ordenados a partir
de la distribución (1.2). Una posibilidad está en el método de inversión:
4
supongamos que hemos conseguido generar el estadístico ordinal uniforme,
(
)
U(0,1), R(1), R(2), …, R n . Dado que
( )
( )=R
∆ T(i )
∆ (t )
(i )
tenemos que
(
)
T(i ) = ∆−1 ∆ (t ) R(i ) .
(1.3)
Una forma eficiente de generar el estadístico ordinal uniforme (ascendente) se
basa en el método condicional. En efecto, la distribución marginal de R(1)
permite indicar:
{
}
n
H 1 (r1 ) = P R(1) > r1 = (1 − r1 )
( ) (
)
n
R1 ∼ U (0,1),
R1 = H 1 R(1) = 1 − R(1) ,
de manera que
R(1) = H 1−1 (R1 ) = 1 − R1 n .
1
(1.4)
Por otra parte, cualquier distribución condicionada R(j+1)|R(j)=rj,…,R(1)=r1 es
equivalente a R(j+1)|R(j)=rj. Por lo tanto:
{
H j +1 (rj +1 ) = P R( j +1) > rj +1 Rj = rj
}
n−j
1 − r 

j +1 
= 

 1 − rj 
n −j
(
Rj = H j +1 R( j +1) Rj = R( j )
)
1 − R 

( j +1) 
= 

 1 − R 

(j ) 
,
Rj ∼ U (0,1),
de donde
(
R( j +1) = 1 − 1 − R( j )
El método consistente en generar n
)
1
(n − j )
Rj +1.
(1.5)
variables aleatorias Ri iid U(0,1) y
ordenarlas es desaconsejable, por razones de eficiencia. Si en (1.3) no es posible
invertir ∆, hay que recurrir al procedimiento, muy poco eficiente, de generar los
n tiempos Ti y ordenarlos.
5
1.2.3.
Rechazo a partir de un proceso homogéneo
Supongamos que, a partir del instante s (seguramente el último punto temporal
al que ha llegado la simulación), se pretende generar el siguiente incremento de
tiempo, X, de manera que el proceso de simulación avanzará hasta el instante
s+X. Supongamos que existe y es finito el valor:
λs* = sup {λ (t )} .
(1.6)
s ≤t ≤t0
Se puede demostrar que el siguiente algoritmo genera los momentos de llegada,
T1, T2,…, Ti , Ti-1, …, de un proceso de Poisson no homogéneo de tasa λ(t):
T = Ti-1
repetir:
1. Evaluar λT* según la expresión (1.6),
2. generar R ∼ U (0,1) y un incremento de tiempo exponencial X ∼ ε (λs* ) , e
3. incrementar el tiempo T = T + X
hasta que se verifique que R λs* ≤ λ (T ) ;
Ti = T.
Se continuarán generando valores de tiempo mientras Ti ≤ t0.
A costa de aumentar la probabilidad de rechazo, el punto 1 del algoritmo se
puede suprimir tomando como tasa constante del proceso homogéneo el valor
λ * = sup {λ (t )} o (peor todavía) cualquier valor λ’≥λ*. El algoritmo también
0≤t ≤t0
es válido si en lugar de un proceso homogéneo se emplea un proceso no
homogéneo de tasa λ* ( t ) tal que λ * ( t ) ≥ λ ( t ) para todo t. Si λ * ( t ) es
cercana a λ(t) y el proceso asociado es fácil de generar, el algoritmo puede
resultar más eficiente que el basado en un proceso homogéneo.
6
1.3.
Procesos de Poisson bidimensionales
Los procesos de Poisson con parámetro bidimensional (asimilable en general a
las coordenadas en una superficie) son una generalización natural de los procesos
de Poisson homogéneos. En ocasiones se desea
simular la distribución de puntos en el
espacio (organismos, yacimientos,
etc.), de manera que para una
región de superficie s (y con
i−1
cualquier forma) el número de
Di−1
i
Di
puntos Ns tenga distribución
de Poisson, P(λs). En estas
condiciones, siempre respecto
de un punto de partida o
centro arbitrario, consideremos
un punto, i−1, a una distancia
Di−1 de este centro y la corona
circular hasta el punto más próximo, a una
distancia Di del centro. Fijémonos en que la posición de cada punto puede ser
descrita mediante la distancia, o radio, Di, y un ángulo, θι. La distribución de la
superficie de esta corona circular, Si = π ( Di2 − Di2−1 ) , es exponencial de
parámetro λ:
P { Si ≤ s } = P { "Ningún punto en la superficie s" } = 1 − e −λs
de manera que
1
− log R = π ( Di2 − Di2−1 ) , R ∼ U ( 0,1 )
λ
de donde
log R1i
πλ
θi = 2πR2i , R1i , R2i ∼ U ( 0,1 ) , independientes,
Di =
Di2−1 −
(1.7)
sugiere un método de generación de las sucesivas coordenadas polares de los
puntos ( D1, θ1 ) , ( D2, θ2 ) , … a partir de un centro inicial cualquiera.
Para una región A, de forma irregular, el siguiente algoritmo “de rechazo”
generaría de forma apropiada los puntos:
7
a
Escójase un punto dentro de A (por ejemplo central). Se considerará como
el origen de coordenadas, con Di=0 para i=0 y no formará parte del proceso
generado.
b
Repetir:
b.1
i=i+1,
b.2
determinación de las coordenadas polares del punto i según (1.7),
b.3
si el punto (Di,θi) pertenece a A, queda aceptado como punto generado (y
se almacena como parte del resultado final del algoritmo)
hasta que A ⊂ B ( Di ) , donde B(Di) indica la bola de radio Di.
El método anterior es independiente de la forma de la región a la cual deben
pertenecer los puntos. Existen métodos más eficientes para regiones de formas
específicas. Por ejemplo, para una región rectangular de lados de longitud x0,y0,
tenemos que s = x0y0 y Ns ∼ P(x0y0). En este caso suele ser preferible el
siguiente algoritmo:
Genérese un valor de Ns. Sea este valor n. Condicionado a Ns = n, las
coordenadas euclídeas de los puntos a generar, (X1,Y1),…,(Xn,Yn) corresponden
a los estadísticos uniformes ordinales
X(1 ), …, X
(
Y(1 ), …,Y n
(
n)
)
para una U ( 0, x 0 )
para una U ( 0, y0 ) ,
que se pueden generar de acuerdo con el algoritmo descrito en el punto 1.2.2.
Alternativamente, se puede emplear el hecho de que los procesos proyectados
sobre cada eje son independientes y corresponden a procesos de Poisson
homogéneos de tasa λ.
Para una región circular de radio d0 la última idea anterior no es directamente
aplicable. Las proyecciones sobre los ejes x e y son procesos no homogéneos.
Considerando coordenadas polares, la proyección sobre el eje de los radios (que
antes hemos denominado D) es un proceso de Poisson no homogéneo, de tasa
integrada, para d ≤ d0,
∆ (d ) =
d
∫0
λ ( u )du = πd 2 .
8
Por lo tanto, para generar los radios Di serían aplicables los algoritmos descritos
en 1.2. El algoritmo condicional 1.2.2 es especialmente adecuado puesto que
para este proceso estocástico la forma de la distribución condicionada (1.2) es
 d 2
∆ (d )
=   , 0 ≤ d ≤ d0 .
∆ ( d0 )  d0 
Los radios generados se tendrían que complementar con componentes angulares
generadas como θi = 2πRi , Ri ∼ U ( 0,1 ) .
2.
Generación de procesos gausianos
Uno de los procesos estocásticos con espacio de estados y parámetro continuo
más importantes en las aplicaciones es el proceso {Xt}, donde para todo n y
todo t1,…,tn, X = ( Xt , …, Xtn ) ∼ N ( µ n , Σn ) . Aunque los instantes t1,…,tn para
1
los que se desea generar una realización del proceso pueden corresponder a
cualquier valor positivo, a menudo interesa el caso en el que son valores
equiespaciados. Sin pérdida de generalidad se puede suponer que se pretende
generar el caso µn = 0.
Aparentemente, el problema sigue siendo el de generar vectores con distribución
normal multivariante. Recordemos que los dos métodos principales son:
2.1.
Método de Cholesky
1. Obtengamos la matriz L, triangular inferior, tal que Σn = L·L’,
2. generemos Z = (Z1,…,Zn) iid N(0,1),
3. finalmente, X = L·Z.
Método condicional
2.2.
Para la distribución normal multivariante, todas las distribuciones condicionales
son también normales. En concreto, la matriz de varianzas-covarianzas de
(
Xn +1 = Xt , …, Xtn , Xt
1
n +1
) ∼ N ( 0, Σn +1 ) se puede expresar como:
Σn +1
 Σn
= 
 Σ1n
Σ1' n 
 .
Σ11 
9
Si ya se ha generado hasta el instante tn, es decir, se ha obtenido una realización
xn = ( xt , …, x tn )
1
de
Xn ∼ N ( 0, Σn ) , se tiene la siguiente distribución
condicionada
Xt
n +1
Xn = xn ∼ N ( Σ1n Σn−1xn , Σ11 − Σ1n Σn−1Σ1' n ) .
Los dos métodos son equivalentes en el sentido de que producirían la misma
secuencia de valores a partir de la misma secuencia de valores independientes
generados según una N(0,1). En principio el método de Cholesky es más
eficiente para n fijo, mientras que el método condicional permitiría generar una
secuencia de longitud indefinida. En realidad el problema de la generación de
procesos gausianos no coincide exactamente con el de generar vectores normales,
como mínimo por dos razones:
a) n puede ser muy grande; no solamente la velocidad puede ser un factor
limitante, también puede serlo la memoria, al tener que almacenar y
manipular matrices de varianzas-covarianzas enormes,
b) sería deseable poder continuar fácilmente una serie de longitud n
previamente generada.
En principio ninguno de los dos métodos anteriores admite muchas mejoras.
Pero aquí es donde puede ser decisiva la estructura precisa de la matriz de
varianzas-covarianzas: en general no interesa simular un proceso con matriz
cualquiera sino con una estructura concreta. El caso más interesante es el de un
proceso estacionario, con matriz de correlaciones con estructura de Toeplitz:
ρ1 ρ2
1

 ρ
 1
 ρ
 2


1
ρ1
ρ1
1
ρ3 … ρn −1 

ρ
ρ2 … n −2 


ρ1 …



especificada totalmente por el vector rn = (ρ1, ρ2,…,ρn). En este caso el algoritmo
condicional se puede mejorar bastante puesto que:
(
E Xt
n +1
(
var Xt
)
Xn = xn = − ( Wy ) xn
n +1
)
Xn = xn = 1 + rn′ y
donde
10
 0 0 … 1 





W = 

0
1
0
…




 1 0 … 0 
n×n
e y =− Σn−1rn son las soluciones de las ecuaciones de Yule-Walker, Σn y = −rn ,
obtenidas mediante el algoritmo de Durbin. Este algoritmo de generación no es
muy eficiente pero tiene pocos requerimientos de memoria. A costa de un
consumo mucho mayor de memoria, se convierte en un algoritmo rápido (en
cuanto a tiempos marginales de generación, es decir, para generar los valores
propiamente, sin contar el tiempo de inicialización) si se almacena previamente
una matriz con todas las soluciones de las ecuaciones de Yule-Walker:
 y21

 y31 y32

 y 41 y 42 y 43
 …

2.3.



 .



Método de Fourier
Este método requiere un tiempo de inicialización bastante grande pero es muy
rápido marginalmente. Si expandimos el vector rn en el vector hN definido como
h N = ( h0 = 1, h1 = ρ1, h2 = ρ2, …, ρn −2, ρn −1, ρn −2, …, hN −1 = ρ1 )
N = 2(n-1), y calculamos la transformada de Fourier g de este vector
N −1
gk =
∑ h j exp ( 2πikj N ), k = 0, …, N − 1
j =0
(o, preferiblemente la transformada de Fourier rápida, FFT, que requiere que N
sea una potencia de 2, N = 2l), podremos almacenar finalmente el vector
φ=
g de longitud N.
Una vez superada la fase anterior de inicialización, el proceso de generación de
la realización de tamaño n del proceso consiste en los siguientes pasos:
a) Generamos un vector ZN consistente en N valores iid N(0,1). La
transformada de Fourier discreta del vector ZN proporcionará el vector eN.
b) Obtenemos una realización del proceso normal estacionario mediante
11
1
Xj =
N
2.4.
N −1
∑ φkek exp (
k =0
)
2πijk
, 0 ≤ j ≤ n − 1.
N
Comparación de los métodos para generar procesos gausianos
Los tres métodos expuestos en los puntos anteriores tienen sus ventajas y sus
inconvenientes. En general se puede decir que cada investigador puede elegir
entre ellos en función de sus necesidades y de su valoración de tres
características: generalidad, eficiencia y estabilidad numérica. Si “–“ significa la
peor valoración, “x” una valoración intermedia y “+” la mejor, los tres métodos
estarían situados en la siguiente escala:
Método
generalidad
eficiencia
estabilidad
Cholesky
+
−
+
Condicional + algoritmo de Durbin
x
x
x
Fourier
−
+
−
Bibliografía
La sección dedicada a la generación de procesos de Poisson está basada,
principalmente, en:
Dagpunar, J. (1988). Principles of Random Variate Generation. Clarendon
Press.
Bratley, P., Fox, B.L. and Schrage, L.E. (1983). A Guide to Simulation.
Springer-Verlag.
La sección dedicada a la generación de procesos gausianos está basada en la
monografía:
Hauser, M.A., Hörmann, W. The Generation of Stationary Gaussian Time
Series. Institut f. Statistik, Wien, Austria.
12
Descargar