AGA 0505- Análise de Dados em Astronomia I
O método de Monte Carlo
Laerte Sodré Jr.
breve história
método de resolução de problemas baseado em amostragem aleatória de distribuições de probabilidades
inventado por Stanislaw Ulam, John von Neuman e Nicholas Metropolis durante o projeto Manhattan
Ulam (um dos que desenharam a bomba de hidrogênio) bolou o método em 1946, pensando nas probabilidades de se ganhar um jogo de cartas de paciência
Metropolis é o responsável pelo nome Monte Carlo
aplicações:
integração numérica otimização
simulação de sistemas complexos ...
princípios
objetivo: dada uma distribuição de probabilidadesP(x), gerarN valores {xi} distribuídos como P(x)
vamos supor que saibamos produzir uma sequência de números aleatórios uniformemente distribuídos entre 0 e 1
isso não é fácil: os números gerados pelos “geradores de números aleatórios” são pseudo- aleatórios
seja γ um número gerado uniformemente entre 0 e 1
vamos supor que o número de pontos gerados entre γ e γ +dγ seja igual aP(x)dx nesse caso,dγ = P(x)dx e γ = Zx −∞P(x 0 )dx0=F(x)
assim, dado um γi, encontra-sexiresolvendo-se a equação acima
para a distribuição cumulativa de probabilidadesF(x)
exemplo: distribuição exponencial
produção de uma amostra {xi} com P(x) = e−x(x > 0)princípio do MC: γ = Zx −∞P(x 0 )dx0=F(x)
para a distribuição exponencial:
γ = Zx 0 e −x0dx0 =1 − e−x logo x = − ln(1 − γ)
assim, dado um conjunto deN números γigerados uniformemente
entre 0 e 1, calcula-sexi= −ln(1 − γi)
exemplo: meu universo
simulação de um universo newtoniano simples: esférico, cartesiano, uniformemente povoado por galáxias
objetivo: produzir um catálogo com as posições de N galáxias dentro de um raio R
o melhor é fazer a simulação em coordenadas esféricas (r, θ, φ) e daí obter (x, y, z): x = r sen(θ) cos(φ) y = r sen(θ) sen(φ) z = r cos(θ) com 0 ≤ r ≤ R 0 ≤ θ ≤ π 0 ≤ φ ≤ 2π
meu universo
parâmetros: N galáxias dentro de um raio R densidade median = 3N/(4πR3)
simulação das coordenadas esféricas (r, θ, φ): para cada galáxia geramos 3 números aleatórios uniformemente distribuídos entre 0 e 1: γr,i, γθ,i, γφ,i
para θ e φ podemos assumir distribuições uniformes: θi= πγθ,i
φi=2πγφ,i
P(r)dr: probabilidade de se encontrar uma galáxia entrer e r + dr P(r)dr ∝ n4πr2dr → P(r) ∝ r2 logo, γr= Zr 0 P(r0)dr0=r R 3 e ri=Rγr,i1/3 6 / 16
colonização da galáxia
modelo de expansão da humanidade pela Via Láctea: passeio aleatório (random walk) discreto no plano (x,y) vamos supor que as estrelas estejam distribuídas uniformemente, formando uma malha uniforme (x,y) de intervalo 1 pcuma nave só pode executar 4 movimentos: 1) dx=1 2) dx=-1 3) dy=1 4) dy=-1
o tempo para viajar de um ponto a outro (1 passo temporal) é de 100 anos (v∼0.032c)
qual é a distancia média à origem percorrida por uma nave em 100000 anos?
100000 anos corresponde aNp=1000 movimentos (passos)
o random walk no plano obedece à distribuição de Rayleigh P(x) = 2x
Np
exp(−x2/Np) para essa distribuição:
¯
d = N1/2p =31.6
as figuras ao lado mostram o resultado de 1000 simulações (media: 27.7)
integração por Monte Carlo
MC oferece uma forma simples para se integrar uma função positivaf (x): I = Zb a f (x)dx f (x) > 0 o “método da rejeição”:vamos supor que a funçãof (x) possa ser “coberta” por uma função mais simplesg(x) (isto é 0 ≤ f (x) ≤ g(x)), de área A no intervalo de integração
por exemplo,g(x) = fmax= const, A = (b − a)fmax
algoritmo: Nac=0
repitaN vezes os passos:
gere aleatoriamente umxientrea e b
gere um número aleatório γiuniformemente
distribuído entre 0 eg(xi)
sef (xi) ≥ γiaceita-sexi; se não, rejeita-se
sexifoi aceito:Nac=Nac+1 integral:
I =Nac
cálculo de π por MC
a área de um quarto de círculo unitário é π/4podemos calcular π com o método da rejeição calculando a área de um quarto de círculo com o algoritmo (a = 0, b = 0, fmax=1)
Nac=0
repitaN vezes os passos:
gere aleatoriamente umxie umyientre 0 e 1
calculed = x2i+y2i
sed ≤ 1 aceita-se o ponto i; se não, rejeita-se sei foi aceito: Nac=Nac+1
valor estimado de π:
ˆ π =4Nac
N =3.104
(nesta simulação, com 1000 pontos)
variância nas estimativas por MC
note que a variância nos métodos de
MC cai com 1/N
como o desvio padrão σ é a raiz
quadrada da variância, para reduzir σ
por um fator 2 deve-se multiplicar o
número de simulações por um fator 4
teste de hipótese com MC
temos duas amostras independentes,x1, ...,xmey1, ...,yn, com dimensãom e n, respectivamente, extraídas de uma distribuição normal de mesma media e variânciaexemplo: N=M=10 (Jim Albert - Bayesian Computation with R): distribuições X e Y obtidas com rnorm(10,mean=50,sd=10) amostra X: 62.62954 46.73767 63.29799 62.72429 54.14641 34.60050 40.71433 47.05280 49.94233 74.04653
amostra Y: 57.63593 42.00991 38.52343 47.10538 47.00785 45.88489 52.52223 41.08079 54.35683 37.62462
neste caso a diferença entre as médias é 7.214
queremos testar a hipótese de que ambas as populações tenham a mesma média:
hipótese H0: ¯X = ¯Y
solução por MC: fazemos N simulações de amostras com rnorm(10,mean=50,sd=10) e vemos a frequência com que se obtém um valor igual ou maior que essa diferença
esse é o p-value
teste de hipótese com MC
os testes de hipótese clássicos funcionam estabelecendo-se um nível de significância α que estabelece o preço que se quer pagar para se rejeitar H0 dado um certo valor da diferença das médias
por exemplo, se α =0.05 - rejeitamos H0 se esta diferença aparecer em menos de 5% dos casos da distribuição
uma simulação com os dados acima mostra que a diferença observada ocorre com probabilidade 0.0502
por muito pouco H0 não seria rejeitada neste caso!
o exemplo acima envolve o one-side test: testamos a probabilidade da média de X-Y, onde o sinal da diferença é importante
podemos estar interessados no two-side test: a probabilidade da média de |X-Y|, onde o sinal da diferença não é importante
para uma distribuição simétrica, o p-value do segundo caso é o dobro daquele do primeiro caso
teste de hipótese com MC
temos duas amostras independentes,x1, ...,xmey1, ...,yn, com dimensõesm e n, respectivamente, extraídas de uma distribuição normal de mesma media e variânciaqueremos testar a hipótese H0: ¯X = ¯Y
a solução geral para nosso problema é a estatísticat de Student Student era o pseudônimo de William Sealy Gosset, um químico trabalhando para a cervejaria Guinness na Irlanda
ele desenvolveu a estatísticat para monitorar a qualidade do stout!
a estatísticat pode ser definida como
T = ¯x − ¯y spp1/m + 1/n onde sp= v u u t (m − 1)σ2 x+ (n − 1)σ2y m + n − 2 é o desvio padrão agrupado (pooled standard deviation)
sob H0 a estatísticaT tem uma distribuição t com m + n − 2 graus de liberdade se as amostras X e Y são independentes e oriundas de uma distribuição de mesma variância (σx= σy)
dado o nível de significância α rejeitamos H0 se (two-side test) |T| ≥ tn+m−2,α/2
ondetdf ,αé o quantil (1 − α) da distribuição t com df graus de
liberdade
teste de hipótese com MC
muitas vezes se usa o testet quando a rigor não se deveria: variâncias diferentes ou distribuições não gaussianas
como isso impacta o resultado do teste?
vamos responder com MC (10000 simulações em cada caso, n=m=10): vamos calcular a estatísticat e comparar com o valor input de α = 0.1
caso 1: duas gaussianas de mesma média e variância αMC=0.1
x=rnorm(m,mean=0,sd=1) y=rnorm(n,mean=0,sd=1) caso 2: gaussianas de larguras diferentes: αMC=0.117
x=rnorm(m,mean=0,sd=1) y=rnorm(n,mean=0,sd=10) caso 3: duas populações exponenciais: αMC=0.098
x=rexp(m,rate=1) y=rexp(n,rate=1)
caso 4: distribuições t com 4 graus de liberdade e mesmas larguras: αMC=0.098
x=rt(m,df=4) y=rt(n,df=4)
caso 5: uma distribuicao normal e uma exponencial: αMC=0.155
Exercícios
1 EstimeI =R10x3dx via MC. Obtenha estimatimativas usando N = 1, 10, 100, 1000, 10000 simulações. Faça um gráfico log-log da variância nos valores
simulados deI versus N para analisar como o erro na estimativa da integral varia com N. 2 O espectro de energia dos raios cósmicos pode ser parametrizado como
n(E) = CE−γ ondeC é uma constante de normalização e γ ' 2.7 para energias entre 109eV e1015eV. a) Determine a forma analítica da função de distribuição cumulativa,
F(E) = ZE
Emin
n(E0)dE0
DetermineC impondo que F(Emax) =1.
b) InvertaF(E) para estimar Emin≤ E ≤ Emaxa partir de um número entre 0 e 1.
c) simuleN = 10, 100, 1000, 10000 pontos com esta distribuição e calcule, para cada conjunto de N pontos, o valor médio e o desvio padrão da energia. 3 Em um observatório verifica-se uma relação entre a qualidade da noite hoje (boa, razoável, ruim) e a de amanhã, de acordo com a tabela. Faça uma
simulação para estimar a fração de noites boas no longo prazo.
hoje amanhã boa razoável ruim
boa 0.60 0.30 0.10
razoável 0.50 0.25 0.25
ruim 0.20 0.40 0.40