An´alise de Dados e Simula¸c˜ao
M´arcia D’Elia Branco
Universidade de S˜ao Paulo Instituto de Matem´atica e Estat´ıstica
http:www.ime.usp.br/ mbranco
Simula¸c˜ao de Vari´aveis Aleat´orias Cont´ınuas.
O m´etodo da Transformada Inversa
TeoremaSejaU ∼U(0,1). Para qualquer fun¸c˜ao de distribui¸c˜ao acumuladaF cont´ınua, a v.a. X definida por
X=F−1(U) tem distribui¸c˜aoF.
Prova: (em aula).
Exemplo 1: F(x) =xa , 0< x <1 ,com aum n´umero natural.
Ent˜ao
X=F−1(U) =U1/a tem distribui¸c˜aoF.
O m´etodo da Transformada Inversa
Exemplo 2: Distribui¸c˜ao exponencial X∼Exp(λ) Sua f.d.p. ´e dada por
f(x) =λe−λx, x >0, λ >0.
Sua f.d.acumulada ´e F(x) =
x
Z
0
λe−λtdt= 1−e−λx.
Portanto,
X= −ln(1−U)
λ = −lnU∗ λ comU∗ ∼U(0,1).
O m´etodo da Transformada Inversa
Exemplo 3: Simular da Poisson a partir da Exponencial N(t) n´umero de eventos at´e o instantet.
Xi tempo entre os eventos (i−1)ei.
SeN(t)´e Poisson ent˜aoX1, X2, . . . s˜ao ind. Exponenciais.
Fa¸cat= 1 e N(1) =max{n:Pn
i=1
Xi ≤1}. Usando o exemplo anterior temos que
N(1) =max{n:
n
X
i=1
ln(Ui)≥ −λ}
N(1) =max{n:U1×U2× · · · ×Un≥e−λ}
O m´etodo da Transformada Inversa
Exemplo 4: Distribui¸c˜ao GamaX ∼Gama(n, λ).
Sua f.d.p. ´e
λn
Γ(n)xn−1e−λx.
A f.d.a. da Gama n˜ao pode ser obtida analiticamente.
Sen´e um n´umero natural temos queX pode ser escrita como uma soma de exponencias.
Ent˜ao,
X=
n
X
i=1
−1
λln(Ui) =−1
λln(U1×. . . ,×Un).
O m´etodo da Rejei¸c˜ao/aceita¸c˜ao
Sejamf(x) uma f.d.p. de interesse eg(x) uma f.d.p. proposta.
Considere que exista uma constanteC tal que f(x)
g(x) ≤C , ∀x.
O algoritmo consiste em:
(i)Simular x∗ da densidade g(x).
(ii) Simular um n´umero aleat´oriou.
(iii) Seu≤ Cg(x)f(x) ent˜ao fa¸ca x=x∗. Caso contr´ario, volte a (i).
O m´etodo da Rejei¸c˜ao/aceita¸c˜ao
Observa¸c˜oes:
A probabilidade de aceita¸c˜ao de um particular valor x deX ´e
f(x) Cg(x) .
E importante garantir a existˆencia da constante´ C. Pode n˜ao existir e ent˜ao o m´etodo n˜ao dever´a ser aplicado.
Os valores simulados usando o algoritmo formam uma amostra da distribui¸c˜ao de X (provar!).
O n´umero de itera¸c˜oes necess´arias para a simula¸c˜ao de uma unidade amostral ´e uma v.a. com distribui¸c˜ao geom´etrica com m´ediaC (provar!) .
1
C ´e denominada probabilidade de aceita¸c˜ao do algoritmo (m´edia ).
O m´etodo da Rejei¸c˜ao/aceita¸c˜ao
Exemplo 5: Distribui¸c˜ao Gama com parˆametro n˜ao natural X∼Gama(3/2,1).
Sua f.d.p. ´e
f(x) = 2
√πx3/2−1e−x , x >0.
Vamos considerar com proposta umaExp(23)com g(x) = 2
3e−2x3 , x >0.
Note que
f(x) g(x) = 3
√πx1/2e−x/3. ExisteC ?
Maximizando a raz˜ao acima obtemosC= 1.257.
O m´etodo da Rejei¸c˜ao/aceita¸c˜ao
No exemplo 5, a probabilidade de aceita¸c˜ao ´e0.795e o algor´ıtmo consiste em
(i)Simular dois n´umeros aleat´orios u1 e u2. (ii) Fa¸cax∗=−32ln(u1) e α= 0.795f(xg(x∗∗))
(iii) Seu2< α fa¸cax=x∗ e pare. Caso contr´ario, volte a(i).
O n´umero m´edio de itera¸c˜oes necessarias para obten¸c˜ao de um valor deX ´e 1.257.
O m´etodo da Rejei¸c˜ao/aceita¸c˜ao
Exemplo 6: Simulando da Normal via algoritmo de rejei¸c˜ao.
ConsidereZ ∼N(0,1)com f.d.p.
f(z) = 1
√2πe−x2/2 SeX =|Z|(modulo) ent˜ao
f(x) = 2
√2πe−x2/2 , x >0.
Essa distribui¸c˜ao ´e denominada normal positiva ouhalf-normal. Se soubermos simular deX usamos o esquema abaixo para obter amostras deZ
Z =X com probabilidade 1/2 Z =−X com probabilidade 1/2
O m´etodo da Rejei¸c˜ao/aceita¸c˜ao
Usamos o algoritmo de rejei¸c˜ao para simular deX com proposta Exponencial com m´edia 1, ent˜ao
g(x) =e−x e
f(x) g(x) =
r2
πex−x2/2. O ponto de m´aximo ´e obtido quandox= 1 e
C = f(1) g(1) =
r2e
π = 1.31.
O m´etodo da Rejei¸c˜ao/aceita¸c˜ao
Algoritmo
(i) Simuleu1 eu2 da U(0,1)
(ii) Calculex∗ =−lnu1. Seu2> e−12(x∗−1)2 volte para (i).
Caso contr´ario, fa¸ca x=x∗ e siga.
(iii) Simuleu3 da U(0,1). Se u3 <1/2fa¸ca z=x.
Caso contr´ario, fa¸ca z=−x.
A probabilidade de aceita¸c˜ao do algoritmo ´e 0.76 e o n´umero esperado de itera¸c˜oes ´e 1.31.
O m´etodo de Box-Muller para simular da Normal
O m´etodo usa a id´eia de transforma¸c˜ao de vari´aveis bidimensional.
Considere duas v.a. X e Y com distribui¸c˜ao normal padr˜ao N(0,1)e a seguinte transforma¸c˜ao de vari´aveis:
D=X2+Y2 e θ=arctg Y
X
. Usando o m´etodo Jacobiano obtemos a f.d.p. de(D, θ)
f(d, θ) = 1
2e−d/2 1
2πI(0,2π)(θ) d >0, em queIA representa a fun¸c˜ao indicadora.
Portanto,θ tem distribui¸c˜ao Uniforme em(0,2π) e Dtem distribui¸c˜ao exponencial comλ= 1/2.
O m´etodo de Box-Muller para simular da Normal
Lembrando queD=−2lnU1 eθ= 2πU2 comU1 e U2 v.a. Uniformes no(0,1).
O algoritmo consiste em
(i)Simular u1, u2 n´umeros aleat´orios independentes.
(ii) Calcularx=√
−2lnu1Cos(2πu2) ey =√
−2lnu1Sen(2πu2) Se desejamos simular de uma normal qualquer com m´ediaµ e variˆanciaσ2 basta considerar a transforma¸c˜ao
W =µ+σX.
O m´etodo da Composi¸c˜ao
1. Mistura Finita
Suponha que seja poss´ıvel decompor uma f.d.a. como uma mistura finita de outras f.d.a
F(x) =
n
X
i=1
piFi(x)
com Pn
i=1
pi = 1.
Podemos ent˜ao considerar o seguinte esquema de simula¸c˜ao:
(i)Ordenar os pi´s tal que p(1)≤p(2)≤ · · · ≤p(n).
(ii) Simular um n´umero aleat´oriou. Seu < p(1) simula X deF1 e para.
Caso contr´ario, sep(1)+· · ·+p(j−1) ≤u < p(1)+· · ·+p(j) simula X deF e para.
O m´etodo da Composi¸c˜ao
2. Mistura Infinita F(x) =
∞
Z
−∞
FX|Y=y(x|y)fY(y)dy
ComfY a f.d.p. de uma v.a. Y e
FX|Y=y a f.d.a. condicional da v.a. X dadoY =y
O algoritmo consiste em simulary deY e depois simularx de X|Y =y.
A rela¸c˜ao acima pode ser escrita em fun¸c˜ao das fun¸c˜oes densidades.
f(x) = Z∞
−∞
fX|Y=y(x|y)fY(y)dy.