Departamento de Estatística - UFJF Outubro e Novembro de 2014
são métodos de simulação São utilizados quando não temos uma forma fechada para resolver o problema Muito populares em Estatística, Matemática, Física e Engenharia
De modo geral, podemos descrever os da seguinte forma: 1. Defina um domínio para o problema 2. Gere dados aleatórios de uma distribuição de probabilidade sobre este domínio 3. Realize cálculos determinísticos nos dados gerados 4. Junte os resultados
- Estimativa da Média Se X é uma variável aleatória discreta, E(X ) = x X Se X é uma variável aleatória contínua, E(X ) = Um estimador para E(X ) é X = 1 n n i=1 X i xf (x) xf (x)dx
Estimativa da Média - Código no R n < 10000 x < rnorm ( n ) soma < 0 f o r ( j i n 1 : n ){ soma < soma + x [ j ] } soma/n
Lei Fraca dos Grandes Números Sejam X 1, X 2, variáveis aleatórias independentes e identicamente distribuídas. Sejam E(X 1 ) = µ e Var(X 1 ) = σ 2 <. Seja X n = 1 n n i=1 X i. Então, para todo ε > 0, lim n P( X n µ < ε) = 1
Lei Forte dos Grandes Números Sejam X 1, X 2, variáveis aleatórias independentes e identicamente distribuídas. Sejam E(X 1 ) = µ e Var(X 1 ) = σ 2 <. Seja X n = 1 n n i=1 X i. Então, para todo ε > 0, ( ) P lim X n µ < ε = 1 n
Diferença entre as Leis Fraca e Forte dos Grandes Números Lei Fraca: lim P( X n µ < ε) = 1 n ( ) Lei Forte: P lim X n µ < ε = 1 n A Lei Fraca afirma que para um n grande, X n provavelmente vai estar próximo de µ, embora X n µ > ε possa ocorrer um número infinito de vezes. A Lei Forte afirma que isto provavelmente não ocorrerá quase certamente. Em particular, para todo ε > 0, X n µ < ε será verdade para todo n suficientemente grande.
Estimativa da Média - Código no R n < 10000 x < rnorm ( n ) soma < 0 f o r ( j i n 2 : n ){ soma [ j ] < soma [ j 1] + x [ j ] } p l o t ( soma / ( 1 : n ), type= l ) a b l i n e ( mean ( x ), 0, c o l = r ed, l t y =2)
- Lançamento de Dados Calcule a probabilidade de obtermos 7 ou 11 na soma do lançamento de dois dados
Lançamento de Dados - Código no R n < 10000 l a n c < 0 f o r ( j i n 1 : n ){ l a n c [ j ] < sample ( seq ( 1, 6 ), 1) + sample ( seq ( 1, 6 ), 1) } ( sum ( l a n c ==7) + sum ( l a n c ==11))/n
- Estimativa de π Uma maneira de calcular o valor de π é a seguinte: Desenhe um quadrado com um círculo inscrito Distribua uniformemente de mesmo tamanho (grãos de areia, por exemplo) sobre o quadrado Conte o número de objetos dentro do círculo e o número total de objetos dentro do quadrado A razão entre estas contagens é uma estimativa entre as duas áreas
Estimativa de π - Código no R # quadrado em ( 0, 0 ), ( 1, 0 ), ( 0, 1 ), ( 1, 1) # s e m i c i r c u l o com r a i o 1 e c e n t r o em ( 0, 0) n < 10000; x < r u n i f ( n ) ; y < r u n i f ( n ) dados < m a t r i x ( c ( x, y ), n c o l =2) d i s t a n c i a < f u n c t i o n ( x ){ d < d i s t ( m a t r i x ( c ( 0, 0, x ), n c o l =2, byrow=true), method= e u c l i d e a n ) r e t u r n ( d ) } dados. d i s t a n c i a < a p p l y ( dados, 1, d i s t a n c i a ) 4 sum ( dados. d i s t a n c i a <= 1)/ n
Estimativa de π - Gráfico # g r a f i c o dados. menores < which ( dados. d i s t a n c i a <= 1) dados. m a i o r e s < which ( dados. d i s t a n c i a > 1) p l o t ( x [ dados. menores ], y [ dados. menores ], c o l = red, pch =20, x l a b= x, y l a b= y ) p o i n t s ( x [ dados. m a i o r e s ], y [ dados. m a i o r e s ], pch =20)
Gerar Números Aleatórios É possível gerar números aleatórios de qualquer distribuição de probabilidade a partir de um gerador de números aleatórios uniformes Veremos dois métodos para realizar esta tarefa
Método da Transformação Inversa Teorema. Seja U uma variável aleatória com distribuição uniforme no intervalo (0, 1). Se, para qualquer função de distribuição contínua F definimos a variável aleatória X como X = F 1 (U), então X tem distribuição F. (F 1 (u) é o valor de x tal que F (x) = u)
Método da Transformação Inversa Demonstração. F X (a) = P(X a) = P(F 1 (U) a) Como F (x) é uma função monótona, temos que F 1 (U) a se, e somente se, U F (a). Portanto, F X (a) = P(U F (a)) = F (a)
Método da Transformação Inversa - Exponencial Se X Exp(1), então F (x) = 1 e x Desta forma, F 1 (u) é o valor de x tal que 1 e x = u ou x = log(1 u) Assim, se U Unif(0, 1), então F 1 (U) = log(1 U)
Método da Transformação Inversa - Exponencial u < r u n i f (10000) x < l o g (1 u ) mean ( x ) v a r ( x ) h i s t ( x )
Método da Transformação Inversa - Weibull Gere 10,000 observações de uma variável aleatória de Weibull(α, β), cuja densidade é dada por { αβ α x α 1 exp[( x/β) α ], se x > 0 f (x) = 0, caso contrário. Utilize valores genéricos para α e β.
Método da Transformação Inversa - Weibull A função acumulada é dada por x F (x) = f (t)dt { 1 exp[( x/β) α ], se x > 0 = 0, caso contrário
Método da Transformação Inversa - Weibull Assim, U = 1 exp[ X /β] α exp[( X /β) α ] = 1 U (X /β) α = log(1 U) X /β = [log(1 U)] 1/α X = β[log(1 U)] 1/α
Método da Transformação Inversa - Weibull Como 1 U Unif(0,1), podemos simplesmente substituir 1 U para obter o algoritmo final: 1. Gere U Unif(0,1) 2. Retorne X = β[ log(u)] 1/α
Método da Transformação Inversa - Exponencial a l p h a < 5 beta < 2 n < 10000 u < r u n i f ( n ) x < beta ( l o g ( u ) ) ˆ ( 1 / a l p h a ) mean ( x ) # E(X) = beta gamma(1+1/ beta ) v a r ( x ) # Var (X) = beta ˆ2 (gamma(1+2/ a l p h a ) gamma(1+1/ a l p h a )ˆ2) h i s t ( x )
Método da Rejeição Suponha que temos um método para simular uma variável aleatória com função densidade de probabilidade g(x). Podemos gerar números aleatórios que possuam densidade f (x) simulando Y a partir de g e então aceitando este número gerado com probabilidade proporcional a f (Y ) g(y ). Seja c uma constante tal que f (y) g(y) c, para todo y 1. Simule Y com densidade g e simule um número aleatório U 2. Se U f (Y ) cg(y ), então X = Y. Caso contrário, volte ao passo 1
Método da Rejeição Teorema. A variável aleatória X gerada pelo Método da Rejeição tem função densidade de probabilidade f.
Método da Rejeição Demonstração. Seja X o valor obtido e seja N o número de iterações necessárias. Assim, P(X x) = P(Y N x) = P(Y x U f (Y )/cg(y )) P{Y x, U f (Y )/cg(y )} = K P{Y x, U f (Y )/cg(y ) Y = y}g(y)dy = K x {f (y)/cg(y)}g(y)dy = K x = f (y)dy, Kc
Método da Rejeição Demonstração (Cont.) onde K = P{U f (Y )/cg(y )}. Fazendo x, temos que K = 1/c.
Método da Rejeição - Beta Se X Beta(2, 4), utilize o método da rejeição para gerar uma amostra aleatória de X através do Método da Rejeição. A densidade de x é dada por 20x(1 x) 3, 0 < x < 1. Assim, podemos considerar o método de rejeição com g(x) = 1, 0 < x < 1 Para determinar o valor de c tal que f (x)/g(x) c, fazemos [ ] d f (x) = 20 [ (1 x) 3 3x(1 x) 2] dx g(x)
Método da Rejeição - Beta Igualando esta equação a zero, encontramos que seu máximo ocorre em x = 1/4. Assim, Portanto, f (x) g(x) = 20 ( 1 4 ) ( ) 3 3 = 135 4 64 c f (x) cg(x) = 256 x(1 x)3 27
Método da Rejeição - Beta Portanto, o procedimento de rejeição torna-se 1. Gere números aleatórios U 1 e U 2, onde U i Unif(0, 1) 2. Se U 2 256 27 U 1(1 U 1 ) 3, X = U 1. Caso contrário, repita o Passo 1.
Método da Rejeição - Beta n < 10000 k < 1 x < 0 w h i l e ( k < n ) { u1 < r u n i f ( 1 ) u2 < r u n i f ( 1 ) i f ( u2 <= 256/27 u1 (1 u1 )ˆ3){ x [ k ] < u1 k < k+1 } }
Amostragem de Importância Método para estimar esperanças Estima as esperanças com respeito a f reponderando amostras de uma distribuição q, diferente de f Não é um método de Monte Carlo i.i.d.
Amostragem de Importância Suponha que desejamos estimar µ = E f [g(x)], a esperança de alguma função g com respeito à distribuição de probabilidade f Seja q(x) a distribuição de onde sabemos gerar amostras i.i.d. Além disso, exigimos que q(x) > 0 sempre que g(x)f (x) > 0
Amostragem de Importância Usamos aqui o fato de que E f [g(x)] = E q [g(x) f (x) E f [g(x)] = g(x)f (x)dx g(x)f (x) = q(x)dx q(x) ( = E q g(x) f (x) ) q(x) q(x) ]:
Amostragem de Importância Assim, o estimador por amostragem de importância µ n para a esperança baseado numa amostra i.i.d. X 1, X 2,, X n q é dado por µ n = 1 n n i=1 g(x i )f (X i ) q(x i ) Pela Lei Forte dos Grandes Números, µ n µ com probabilidade 1
Aplicações da Amostragem de Importância Este método é geral e poderoso Entretanto, é particularmente útil em algumas situações especiais, como eventos raros
Eventos Raros Suponha que queiramos estimar P(Z > 4,5), onde Z N(0,1) Métodos ingênuos envolveriam amostrar Z 1, Z 2,, Z n N(0, 1) e calcular µ n = n i=1 I (Z i > 4,5)/n Mesmo para n = 100.000, este método provavelmente produziria uma estimativa de 0, pois a chance de observarmos Z > 4,5 é muito pequena 1 pnorm ( 4. 5 ) sum ( rnorm (100000) > 4. 5 )
Eventos Raros Entretanto, podemos obter estimativas melhores para P(Z > 4,5) utilizando outra função de importância Por exemplo, se usarmos q ExpTrunc(4,5; 1), onde q ExpTrunc(4,5; 1) é a distribuição Exponencial Truncada, definida como { e 1, se x > 4,5 f (x) = 0, caso contrário.
Eventos Raros Se X é uma variável aleatória com densidade f (x), então sua função densidade f (x X > a) truncada em a é g(x) f (x X > a) = 1 F (y), se x > a, 0, caso contrário onde g(x) = f (x) para todo a < x e g(x) = 0 caso contrário. Além disso, E(X X > a) = a xg(x)dx. 1 F (y)
Eventos Raros Portanto, a densidade de uma variável aleatória exponencial truncada é dada por f (x X > a) = λe λx 1 e λa Simule 10.000 observações de uma distribuição exponencial com parâmetro λ truncada em a
Eventos Raros n < 10000 lambda < 1 a < 4. 5 x < r e x p ( 1 ) + a
Eventos Raros Encontre, por simulação, P(Z > 4,5), onde Z N(0, 1)
Eventos Raros n < 100 x < 0 k < 1 m < 1 w h i l e ( k < n ) { u1 < r e x p ( 1 ) + 4. 5 u2 < r u n i f ( 1 ) i f ( u2 <= dnorm ( u1 ) ) { x [ k ] < u1 k < k+1 } m < m+1 } l e n g t h ( x )/m
Erro Padrão de Monte Carlo Não conhecemos µ e σ 2 Importante para estabelecer intervalos de confiança para nossas estimativas
Erro Padrão de Monte Carlo O erro padrão para a amostragem de importância simples é fácil de ser obtido: ( ) 1 n g(x i )f (X i ) Var( µ n ) = Var n q(x i ) i=1 = 1 ( ) 1 n Var g(x i )f (X i ) q n q(x i ) g(x pois X 1,, X n são i.i.d.. Como é fácil estimar Var i )f (X i ) q q(x i ) partir das amostras geradas, basta computar σ 2 baseada em g(x 1 )f (X 1 ) q(x 1 ),, g(xn)f (Xn) q(x n) a
Erro Padrão de Monte Carlo Teorema. Defina w(x) = f (x)/q(x). Se E q [w(x) 2 ] < e E q g 2 (x)w 2 (x) <. Então O Teorema Central do Limite Bivariado existe e é dado por [( 1 n n n i=1 g(x )] i)w(x i ) µ 1 n n i=1 w(x N(0, Σ) i) 1 A estimativa da variância assintótica σ 2 é consistente