método polar para generación de variables normales ...jgimenez/modelos_y... · media de 11...
TRANSCRIPT
![Page 1: Método Polar para generación de variables normales ...jgimenez/Modelos_y... · media de 11 eventos, que pueden ser aceptados o no. I 10 = minf (s) js 2(0;1)g I Generar eventos de](https://reader034.vdocuments.co/reader034/viewer/2022042117/5e950e4c3e4b3628b0488a85/html5/thumbnails/1.jpg)
Método Polar para generación de variablesnormales
Generación de eventos en Procesos dePoisson
Georgina Flesia
FaMAF
25 de abril, 2013
![Page 2: Método Polar para generación de variables normales ...jgimenez/Modelos_y... · media de 11 eventos, que pueden ser aceptados o no. I 10 = minf (s) js 2(0;1)g I Generar eventos de](https://reader034.vdocuments.co/reader034/viewer/2022042117/5e950e4c3e4b3628b0488a85/html5/thumbnails/2.jpg)
Método polar
Con este método se generan dos variables normales independientes.
Si X e Y son normales estándar independientes, entonces
R2 = X 2 + Y 2, tan(θ) =YX
determinan variables R2 y Θ independientes.
f (x , y) =1
2πexp(−(x2 + y2)/2)
f (d , θ) =12
12π
e−d/2, 0 < d <∞, 0 < θ < 2π.
R2 y Θ resultan independientes, con R2 ∼ E(1/2) y Θ ∼ U(0,2π).
![Page 3: Método Polar para generación de variables normales ...jgimenez/Modelos_y... · media de 11 eventos, que pueden ser aceptados o no. I 10 = minf (s) js 2(0;1)g I Generar eventos de](https://reader034.vdocuments.co/reader034/viewer/2022042117/5e950e4c3e4b3628b0488a85/html5/thumbnails/3.jpg)
Método polar
Método polarGenerar U1, U2 ∼ U(0,1);R2 ← −2 log(U);Θ← 2πU2;X ← R cos(Θ);Y ← R sen(Θ)
Transformaciones de Box-Muller:I X ←
√−2 log(U1) cos(2πU2)
I Y ←√−2 log(U1) sen(2πU2)
I El cálculo de funciones trigonométricas lo hace poco eficiente.I Se puede mejorar generando uniformes V1 y V2 en el círculo
unitario, para evitar el cálculo directo del seno y el coseno.
![Page 4: Método Polar para generación de variables normales ...jgimenez/Modelos_y... · media de 11 eventos, que pueden ser aceptados o no. I 10 = minf (s) js 2(0;1)g I Generar eventos de](https://reader034.vdocuments.co/reader034/viewer/2022042117/5e950e4c3e4b3628b0488a85/html5/thumbnails/4.jpg)
Método polar
I Generar un par (V1,V2) uniformemente distribuido en el círculounitario.
I U ∼ U(0, 1), entonces 2U ∼ U(0, 2) y 2U − 1 ∼ U(−1, 1),I V1 = 2U1 − 1, V2 = 2U2 − 1, rechazo hasta que entren en el
círculo.I R2 = V 2
1 + V 22 resulta uniforme en (0,1).
I Θ = arctan V2/V1 es uniforme en (0,2π).I sen(θ) = V2
R
I cos(θ) = V1R
![Page 5: Método Polar para generación de variables normales ...jgimenez/Modelos_y... · media de 11 eventos, que pueden ser aceptados o no. I 10 = minf (s) js 2(0;1)g I Generar eventos de](https://reader034.vdocuments.co/reader034/viewer/2022042117/5e950e4c3e4b3628b0488a85/html5/thumbnails/5.jpg)
Método polar
Transformacionesde Box Muller
X = (−2 log U)1/2 V1
(V 21 + V 2
2 )1/2
Y = (−2 log U)1/2 V2
(V 21 + V 2
2 )1/2
I S = V 21 + V 2
2 y Θ son independientes, luego podemos tomar
U = S = V 21 + V 2
2
![Page 6: Método Polar para generación de variables normales ...jgimenez/Modelos_y... · media de 11 eventos, que pueden ser aceptados o no. I 10 = minf (s) js 2(0;1)g I Generar eventos de](https://reader034.vdocuments.co/reader034/viewer/2022042117/5e950e4c3e4b3628b0488a85/html5/thumbnails/6.jpg)
Método polar
Transformacionesde Box Muller
X = (−2 log S)1/2 V1
S1/2
Y = (−2 log S)1/2 V2
S1/2
Método polar (última versión)repeat
Generar V1, V2 ∼ U(−1,1);S ← V 2
1 + V 22
until S < 1;
X ←√−2 log S
S V1;
Y ←√−2 log S
S V2
![Page 7: Método Polar para generación de variables normales ...jgimenez/Modelos_y... · media de 11 eventos, que pueden ser aceptados o no. I 10 = minf (s) js 2(0;1)g I Generar eventos de](https://reader034.vdocuments.co/reader034/viewer/2022042117/5e950e4c3e4b3628b0488a85/html5/thumbnails/7.jpg)
Generación de v. a. normales
Existen otros métodos de generación de v. a. normales. Uno de elloses el método rectangle-wedge-tail :
|Z |, Z ∼ N(0,1)
I 15 rectángulos (≈ 92%)I 15 ”triángulos”.I 1 cola.
Método de composición:I 15 distr. uniformes.I 16 restantes: método de
rechazo.Referencia: Donald E. Knuth,Seminumerical Algorithms, p.p.122 en adelante.
![Page 8: Método Polar para generación de variables normales ...jgimenez/Modelos_y... · media de 11 eventos, que pueden ser aceptados o no. I 10 = minf (s) js 2(0;1)g I Generar eventos de](https://reader034.vdocuments.co/reader034/viewer/2022042117/5e950e4c3e4b3628b0488a85/html5/thumbnails/8.jpg)
Proceso de Poisson homogéneo
N(t), t ≥ 0,
es un proceso de Poisson homogéneo de razón λ, λ > 0, si:I N(0) = 0 proceso comienza en cero
�� ������ ���� ��
t1 tn−1 tnt3t2
N(tn)− N(tn−1)N(t1)
0I En dos intervalos de tiempo disjuntos, las variables ”número de
llegadas” son independientes.I La distribución del número de llegadas depende sólo de la
longitud del intervalo.
N(s) ∼ N(t + s)− N(t), s < t .
![Page 9: Método Polar para generación de variables normales ...jgimenez/Modelos_y... · media de 11 eventos, que pueden ser aceptados o no. I 10 = minf (s) js 2(0;1)g I Generar eventos de](https://reader034.vdocuments.co/reader034/viewer/2022042117/5e950e4c3e4b3628b0488a85/html5/thumbnails/9.jpg)
Ocurrencia de 1 o más eventos
I La probabilidad de que ocurra un evento en un intervalo detiempo pequeño es proporcional al tamaño del intervalo.Constante = λ.
limh→0
P(N(h) = 1)
h= λ,
I La probabilidad de ocurrencia de dos o más eventos en unintervalo muy pequeño es cero.
limh→0
P(N(h) ≥ 2)
h= 0.
![Page 10: Método Polar para generación de variables normales ...jgimenez/Modelos_y... · media de 11 eventos, que pueden ser aceptados o no. I 10 = minf (s) js 2(0;1)g I Generar eventos de](https://reader034.vdocuments.co/reader034/viewer/2022042117/5e950e4c3e4b3628b0488a85/html5/thumbnails/10.jpg)
Consecuencias
I Supongamos que N(t) es el número de llegadas en el intervalode tiempo [0, t ], que forma un proceso de Poisson de tasa λ.Entonces, la distribución de cada N(t) es Poisson de tasa λt
I
�� ������ ���� ��X1 X3 Xn
e1 e2 e3 en−1 en
X2
{Xj}, la sucesión de tiempos entre llegadas, son v.a.independientes, igualmente distribuidas, con distribuciónexponencial con parámetro λ.
Xi ∼ E(λ), i = 1,2, . . . .
I Sn el tiempo hasta la n esima legada es Gamma de parámetros(n, λ).
![Page 11: Método Polar para generación de variables normales ...jgimenez/Modelos_y... · media de 11 eventos, que pueden ser aceptados o no. I 10 = minf (s) js 2(0;1)g I Generar eventos de](https://reader034.vdocuments.co/reader034/viewer/2022042117/5e950e4c3e4b3628b0488a85/html5/thumbnails/11.jpg)
Generación de un Proceso de Poisson homogéneo
�� ������ ���� ��X1 X3 Xn
e1 e2 e3 en−1 en
X2
Para generar los primeros n eventos de un Proceso de Poissonhomogéneo, generamos exponenciales Xi ∼ E(λ), 1 ≤ i ≤ n:
I Primer evento: al tiempo X1.I j-ésimo evento: al tiempo X1 + X2 + · · ·+ Xj , para 1 ≤ j ≤ n.
Para generar los eventos en las primeras T unidades de tiempo,generamos eventos hasta que j + 1 excede a T .
![Page 12: Método Polar para generación de variables normales ...jgimenez/Modelos_y... · media de 11 eventos, que pueden ser aceptados o no. I 10 = minf (s) js 2(0;1)g I Generar eventos de](https://reader034.vdocuments.co/reader034/viewer/2022042117/5e950e4c3e4b3628b0488a85/html5/thumbnails/12.jpg)
Proceso de Poisson homogéneo: Primer método
Generacion de eventos en el intervalot ← 0, I ← 0;while true do
Generar U ∼ U(0,1);if t − 1
λ log U > T thenstop
elset ← t − 1
λ log U;I ← I + 1;S[I]← t
endend
I I: número de eventos.I S[I]: tiempo en el que ocurre el evento I.I S[1],S[2], . . . , están en orden creciente.
![Page 13: Método Polar para generación de variables normales ...jgimenez/Modelos_y... · media de 11 eventos, que pueden ser aceptados o no. I 10 = minf (s) js 2(0;1)g I Generar eventos de](https://reader034.vdocuments.co/reader034/viewer/2022042117/5e950e4c3e4b3628b0488a85/html5/thumbnails/13.jpg)
Proceso de Poisson homogéneo: Segundo método
Supongamos quiero generar los primeros tiempos de arribo hastat = T .
I La variable N(T ) es el número de eventos hasta el tiempo T ,con distribución Poisson λT .
I Dado N(T ), la distribución de los tiempos de arribo en unProceso de Poisson homogéneo de razón λ es uniforme en(0,T ).
Luego, para generar los eventos hasta el tiempo T :I Generar una v. a. Poisson de media λT , y tomar n = N(T ).I Generar n v. a. uniformes U1,U2, . . . ,Un.I Los tiempos de arribo son: TU1,TU2, . . . ,TUn.
Notar que deben ordenarse los tiempos de arribo.
![Page 14: Método Polar para generación de variables normales ...jgimenez/Modelos_y... · media de 11 eventos, que pueden ser aceptados o no. I 10 = minf (s) js 2(0;1)g I Generar eventos de](https://reader034.vdocuments.co/reader034/viewer/2022042117/5e950e4c3e4b3628b0488a85/html5/thumbnails/14.jpg)
El proceso de Poisson no homogéneo
N(t), t ≥ 0
es un proceso de Poisson no homogéneo con función de intensidadλ(t), t ≥ 0, si:
I N(0) = 0
I para cada n ≥ 1 y cada partición 0 ≤ t0 < t1 < · · · < tn se tieneque N(t0), N(t1)− N(t0), . . . , N(tn)− N(tn−1) son variablesaleatorias independientes.
I limh→0P(N(t + h)− N(t) = 1)
h= λ(t),
I limh→0P(N(t + h)− N(t) = 1) ≥ 2)
h= 0.
![Page 15: Método Polar para generación de variables normales ...jgimenez/Modelos_y... · media de 11 eventos, que pueden ser aceptados o no. I 10 = minf (s) js 2(0;1)g I Generar eventos de](https://reader034.vdocuments.co/reader034/viewer/2022042117/5e950e4c3e4b3628b0488a85/html5/thumbnails/15.jpg)
Número de eventos en (t , t + s]
ProposiciónPara cada t ≥ 0 y s > 0 se tiene que N(t + s)− N(t) es una variablealeatoria Poisson con media
m(t + s)−m(t) =
∫ t+s
tλ(x) dx .
CorolarioSi λ(t) = λ (es constante), N(t + s)− N(t) es una variable aleatoriaPoisson con media λt .
![Page 16: Método Polar para generación de variables normales ...jgimenez/Modelos_y... · media de 11 eventos, que pueden ser aceptados o no. I 10 = minf (s) js 2(0;1)g I Generar eventos de](https://reader034.vdocuments.co/reader034/viewer/2022042117/5e950e4c3e4b3628b0488a85/html5/thumbnails/16.jpg)
Poisson homogéneo y Poisson no homogéneo
Supongamos queI Existen eventos del tipo A y eventos del tipo B.I Independientemente de lo que ocurrió antes, si ocurre un evento
del tipo A entonces ocurre uno del tipo B con probabilidad p(t).I N(t)= número de eventos del tipo A en [0, t ]I M(t)= número de eventos del tipo B en [0, t ].
ProposiciónSi (N(t))t≥0 es un proceso de Poisson homogéneo con razón λ > 0,entonces M(t)t≥0 es un proceso de Poisson no homogéneo confunción de intensidad λ(t) = λ · p(t), ∀t > 0.
![Page 17: Método Polar para generación de variables normales ...jgimenez/Modelos_y... · media de 11 eventos, que pueden ser aceptados o no. I 10 = minf (s) js 2(0;1)g I Generar eventos de](https://reader034.vdocuments.co/reader034/viewer/2022042117/5e950e4c3e4b3628b0488a85/html5/thumbnails/17.jpg)
Poisson homogéneo y Poisson no homogéneo
I El proceso M(t) cumple con las condiciones de comenzar en elcero, tener incrementos independientes y probabilidad nula deobservar instantáneamente mas de un evento.
I Para ver la tasa instantánea de observar un evento
P(1 evento del tipo B en [t , t + h]) = P(un evento y es de tipo B)
+ P(dos o mas eventos y exactamente uno es de tipo B)
∼ λhp(t)
![Page 18: Método Polar para generación de variables normales ...jgimenez/Modelos_y... · media de 11 eventos, que pueden ser aceptados o no. I 10 = minf (s) js 2(0;1)g I Generar eventos de](https://reader034.vdocuments.co/reader034/viewer/2022042117/5e950e4c3e4b3628b0488a85/html5/thumbnails/18.jpg)
Generación de un Proceso de Poisson no homogéneo
Algoritmo de adelgazamiento
I En un Proceso de Poisson no homogéneo, con intensidad λ(t),los incrementos no son estacionarios,
I la intensidad λ(t) indica la tasa de ocurrencia de los eventos,
I si λ(t) ≤ λ, entonces λ(t) = λ · p(t) con p(t) = λ(t)λ < 1,
I podemos considerar p(t) = λ(t)/λ como la probabilidad deocurrencia de un cierto evento de un Proceso de Poissonhomogéneo de razón λ, y "adelgazar" el proceso homogéneopara obtener el proceso no homogeneo de intensidad λp(t).
![Page 19: Método Polar para generación de variables normales ...jgimenez/Modelos_y... · media de 11 eventos, que pueden ser aceptados o no. I 10 = minf (s) js 2(0;1)g I Generar eventos de](https://reader034.vdocuments.co/reader034/viewer/2022042117/5e950e4c3e4b3628b0488a85/html5/thumbnails/19.jpg)
Algoritmo de adelgazamiento
Generación de eventos en el inter-valot ← 0, I ← 0;while true do
Generar U ∼ U(0,1);if t − 1
λ log U > T thenstop
elset ← t − 1
λ log U;Generar V ;if V < λ(t)/λ then
I ← I + 1;S[I]← t
endend
end
I I: número de eventos.I S[1],S[2], . . . ,: tiempos de
eventos.I El algoritmo es más eficiente
cuánto más cerca esté λ deλ(t).
![Page 20: Método Polar para generación de variables normales ...jgimenez/Modelos_y... · media de 11 eventos, que pueden ser aceptados o no. I 10 = minf (s) js 2(0;1)g I Generar eventos de](https://reader034.vdocuments.co/reader034/viewer/2022042117/5e950e4c3e4b3628b0488a85/html5/thumbnails/20.jpg)
Proceso de Poisson no homogéneo
Método de adelgazamiento mejorado
Un mejora consiste en particionar el intervalo (0,T ) en subintervalos,y aplicar el algoritmo anterior en cada uno de ellos:0 = t0 < t1 < · · · < tk < tk+1 = T
λ(s) ≤ λj ,si j − 1 ≤ s < j
![Page 21: Método Polar para generación de variables normales ...jgimenez/Modelos_y... · media de 11 eventos, que pueden ser aceptados o no. I 10 = minf (s) js 2(0;1)g I Generar eventos de](https://reader034.vdocuments.co/reader034/viewer/2022042117/5e950e4c3e4b3628b0488a85/html5/thumbnails/21.jpg)
Proceso de Poisson no homogéneot ← 0; J ← 1; I ← 0;while true do
Generar U ∼ U(0,1);X ← − 1
λJlog U;
while t + X > tJ doif J = k + 1 then
stopendX ← (X − tJ + t) λJ
λJ+1;
t ← tJ ;J ← J + 1
endt ← t + X ;Generar V ∼ U(0,1);if V < λ(t)/λJ then
I ← I + 1;S[I]← t
endend
I I: número de eventos.I S[1],S[2], . . . ,: tiempos de
eventos.I El algoritmo es más eficiente
cuánto más cerca esté λ deλ(t).
![Page 22: Método Polar para generación de variables normales ...jgimenez/Modelos_y... · media de 11 eventos, que pueden ser aceptados o no. I 10 = minf (s) js 2(0;1)g I Generar eventos de](https://reader034.vdocuments.co/reader034/viewer/2022042117/5e950e4c3e4b3628b0488a85/html5/thumbnails/22.jpg)
Proceso de Poisson no homogéneo
Otra mejora sobre este algoritmo es considerar el mínimo de λ(s) encada subintervalo.Por ejemplo, en un intervalo (ti−1, ti ):
I λmin = min{λ(s) | s ∈ (ti−1, ti )}En este intervalo los eventos ocurren con intensidad
(λ(s)− λmin) + λmin,
I Generar eventos de un P. P. homogéneo con razón λmin.I Intercalarlos con eventos de un P. P. no homogéneo con
intensidadλ̃(s) = λ(s)− λmin.
I Ventaja: Disminuye el número promedio de uniformes.
![Page 23: Método Polar para generación de variables normales ...jgimenez/Modelos_y... · media de 11 eventos, que pueden ser aceptados o no. I 10 = minf (s) js 2(0;1)g I Generar eventos de](https://reader034.vdocuments.co/reader034/viewer/2022042117/5e950e4c3e4b3628b0488a85/html5/thumbnails/23.jpg)
Ejemplo
Sea λ(s) = 10 + s 0 < s < 1. Adelgazamiento con λ = 11 tiene unamedia de 11 eventos, que pueden ser aceptados o no.
I 10 = min{λ(s) | s ∈ (0,1)}
I Generar eventos de un P. P. homogéneo con razón 10.
I Intercalarlos con eventos de un P. P. no homogéneo conintensidad
λ̃(s) = λ(s)− 10 = s.
que tiene media 1 de eventos necesarios.I Reduce de 11 a 1 el número de uniformes necesarias
![Page 24: Método Polar para generación de variables normales ...jgimenez/Modelos_y... · media de 11 eventos, que pueden ser aceptados o no. I 10 = minf (s) js 2(0;1)g I Generar eventos de](https://reader034.vdocuments.co/reader034/viewer/2022042117/5e950e4c3e4b3628b0488a85/html5/thumbnails/24.jpg)
Proceso de Poisson no homogéneo
Otro método consiste en generar directamente los sucesivostiempos de evento.
I S1, S2, . . . : sucesivos tiempos de evento.I Estos tiempos de evento no son independientes.I Para generar Si+1, utilizamos el valor generado Si .I Dado que ha ocurrido un evento en t = Si , el tiempo hasta el
próximo evento es una variable aleatoria con la siguientedistribución:
Fs(x) = P{ocurra un evento en (s, s + x)}= 1− P{0 eventos en (s, s + x)}
= 1− exp(−∫ s+x
sλ(y) dy
)= 1− exp
(−∫ x
0λ(s + y) dy
)
![Page 25: Método Polar para generación de variables normales ...jgimenez/Modelos_y... · media de 11 eventos, que pueden ser aceptados o no. I 10 = minf (s) js 2(0;1)g I Generar eventos de](https://reader034.vdocuments.co/reader034/viewer/2022042117/5e950e4c3e4b3628b0488a85/html5/thumbnails/25.jpg)
Proceso de Poisson no homogéneo
EjemploDescribir un algoritmo para la generación de eventos de un P. P. nohomogéneo con función de intensidad
λ(t) =1
t + 3, t ≥ 0.
∫ x
0λ(s + y) dy =
∫ x
0
1s + y + 3
dy = log(
x + s + 3s + 3
).
Fs(x) = 1− s + 3x + s + 3
=x
x + s + 3.
u = Fs(x) ⇒ x =u(s + 3)
1− u.
![Page 26: Método Polar para generación de variables normales ...jgimenez/Modelos_y... · media de 11 eventos, que pueden ser aceptados o no. I 10 = minf (s) js 2(0;1)g I Generar eventos de](https://reader034.vdocuments.co/reader034/viewer/2022042117/5e950e4c3e4b3628b0488a85/html5/thumbnails/26.jpg)
Proceso de Poisson no homogéneo
F−1s (u) = (s + 3)
u1− u
.
Los sucesivos tiempos de eventos son entonces:
S1 =3U1
1− U1
S2 = S1 + (S1 + 3)U2
1− U2=
S1 + 3U2
1− U2
...
Sj = Sj−1 + (Sj−1 + 3)Uj−1
1− Uj−1=
Sj−1 + 3Uj
1− Uj
![Page 27: Método Polar para generación de variables normales ...jgimenez/Modelos_y... · media de 11 eventos, que pueden ser aceptados o no. I 10 = minf (s) js 2(0;1)g I Generar eventos de](https://reader034.vdocuments.co/reader034/viewer/2022042117/5e950e4c3e4b3628b0488a85/html5/thumbnails/27.jpg)
Proceso de Poisson no homogéneo
Generación de eventos utilizando el método de la T. InversaI = 0;S[0] = 0;while true do
Generar U ∼ U(0,1);if (S[I] + 3U)/(1− U) > T then
stopelse
I ← I + 1;S[I]← (S[I − 1] + 3U)/(1− U);
endend