ESTATÍSTICA COMPUTACIONAL

Documentos relacionados
Ricardo Ehlers Departamento de Matemática Aplicada e Estatística Universidade de São Paulo

Análise de Dados e Simulação

Funções Geradoras de Variáveis Aleatórias. Simulação Discreta de Sistemas - Prof. Paulo Freitas - UFSC/CTC/INE

Noções de Simulação. Ciências Contábeis - FEA - Noturno. 2 o Semestre MAE0219 (IME-USP) Noções de Simulação 2 o Semestre / 23

ESTATÍSTICA COMPUTACIONAL

Um modelo estocástico para o fluxo de caixa de um plano de previdência de um indivíduo 15

ESTATÍSTICA COMPUTACIONAL

Sexta Lista: Geração de Números Pseudo-Aleatórios e Método de Monte Carlo

Métodos para geração de variáveis aleatórias

ESTATÍSTICA COMPUTACIONAL

Mais sobre Modelos Continuos

Estatística e Modelos Probabilísticos - COE241

IND 1115 Inferência Estatística Aula 7

Prof. Lorí Viali, Dr.

Sistemas Aleatórios. Um sistema é aleatório quando seu estado futuro só pode ser conhecido. jogar uma moeda ou um dado. decaimento de uma partícula

Aula 14. Aula de hoje. Aula passada

ESTATÍSTICA COMPUTACIONAL

Análise de dados em Fisica de Particulas

Modelagem e Análise de Sistemas - COS767

Inversão. Introdução à Simulação Estocás5ca usando R INF2035 PUC- Rio, Hélio Lopes Departamento de InformáAca PUC- Rio 4/25/13

Gibbs Sampler para ANOVA e Misturas

Variáveis Aleatórias Contínuas e Distribuição de Probabilidad

Conteúdo Teórico: 04 Esperança

4.1. ESPERANÇA x =, x=1

Estatística e Modelos Probabilísticos - COE241

Modelagem e Avaliação de Desempenho. Pós Graduação em Engenharia Elétrica - PPGEE Prof. Carlos Marcelo Pedroso 2016

1 x. = π 2. pois. Probabilidade: um curso introdutório - Mônica Barros - Capítulo 7 - Soluções

Aula 6. Aula de hoje. Aula passada

Distribuição Normal. Prof. Eduardo Bezerra. (CEFET/RJ) - BCC - Inferência Estatística. 25 de agosto de 2017

MAT 461 Tópicos de Matemática II Aula 8: Resumo de Probabilidade

Ref: H.Gould e J. Tobochnik. Para integrais em uma dimensão as regras do trapezóide e de Simpson são

Métodos Computacionais em Física

Modelagem e Análise de Sistemas de Computação Aula 19

Variáveis Aleatórias Contínuas e Distribuição de Probabilidad

Estatísticas Inferenciais Distribuições Amostrais. Estatística

Fundamentos de Estatística

Metodologia de inversão

A estacionariedade prova-se de maneira semel- hante.

Estatística e Modelos Probabilísticos - COE241

SUMÁRIOS DE VARIÁVEIS ALEATÓRIAS CONTINUAS

Estatística e Modelos Probabilísticos - COE241

Probabilidade II. Departamento de Estatística. Universidade Federal da Paraíba. Prof. Tarciana Liberal (UFPB) Aula Desigualdades 02/14 1 / 31

Análise de Dados em Astronomia. 4. Simulações de Monte Carlo

Variáveis Aleatórias Contínuas e Distribuição de Probabilidad

AULA 7 - Inferência em MQO: ICs e Testes de

Variáveis Aleatórias Bidimensionais &Teoremas de Limite 1/22

Distribuições Contínuas de Probabilidade

Variáveis Aleatórias Contínuas

Sumário. 2 Índice Remissivo 11

ESTATÍSTICA COMPUTACIONAL

Bernardo Kulnig Pagnoncelli 1 e Humberto José Bortolossi 2

Amostragem e distribuições por amostragem

Cálculo II (Primitivas e Integral)

Departamento de InformáAca - PUC- Rio. Hélio Lopes Departamento de InformáAca PUC- Rio. A plataforma R

TÉCNICAS DE AMOSTRAGEM

Capítulo 2. Variáveis Aleatórias e Distribuições

Cálculo Numérico. Santos Alberto Enriquez-Remigio FAMAT-UFU 2015

DCC008 - Cálculo Numérico

Probabilidade e Estatística

Distribuições de Probabilidade. Distribuição Uniforme Distribuição Exponencial Distribuição Normal

MOQ-13 PROBABILIDADE E ESTATÍSTICA. Professor: Rodrigo A. Scarpel

ALGUNS MODELOS DE VARIÁVEIS ALEATÓRIAS UNIDIMENSIONAIS. Prof.: Idemauro Antonio Rodrigues de Lara

AGA Análise de Dados em Astronomia I. O método de Monte Carlo

Inferência para CS Modelos univariados contínuos

Anexo 1 - Revisões de Teoria das Probabilidades e Processos Estocásticos

ME-310 Probabilidade II Lista 0

Métodos Computacionais em Física

Teoremas de uma, duas e três séries de Kolmogorov

Visão Computacional CPS754

IND 1115 Inferência Estatística Aula 6

Probabilidade II. Departamento de Estatística. Universidade Federal da Paraíba

Técnicas Computacionais em Probabilidade e Estatística I

Modelos de Distribuição PARA COMPUTAÇÃO

Objetivos. fim de servir de entrada na simulação de um modelo.

Geração de Variáveis Aleatórias Contínuas. Mat02274 Estatística Computacional. A função densidade de probabilidade. Exemplo

Probabilidade 2 - ME310 - Lista 0

Probabilidade e Estatística

Processos Estocásticos

Anexo 1 - Revisões de Teoria das Probabilidades e Processos Estocásticos

Par de Variáveis Aleatórias

Tiago Viana Flor de Santana

VARIÁVEIS ALEATÓRIAS

Momentos: Esperança e Variância. Introdução

Exercícios de programação

Testes de Hipóteses. Ricardo Ehlers Departamento de Matemática Aplicada e Estatística Universidade de São Paulo

LEEC Probabilidades e Estatística 1 a Chamada 13/06/2005. Parte Prática C (C) M 1% 9% 10% (M) 4% 86% 90% 5% 95% 100%

6- Probabilidade e amostras: A distribuição das médias amostrais

AGA Análise de Dados em Astronomia I 8. Inferência Bayesiana e MCMC

PROVAS Ciência da Computação. 2 a Prova: 13/02/2014 (Quinta) Reavaliação: 20/02/2014 (Quinta)

Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação

CONHECIMENTOS ESPECÍFICOS

Teoria das Filas aplicadas a Sistemas Computacionais. Aula 08

Métodos Estatísticos

Variáveis Aleatórias Discretas e Distribuição de Probabilidade

Estatística e Modelos Probabilísticos - COE241

1) Deseja-se usar o algoritmo de rejeição para simular de uma v.a. normal positiva, cuja densidade é dada por. 2 x > 0.

2. podemos solucionar problemas não somente probabilisticas, mas tambem qualquer

Análise de Dados e Simulação

Transcrição:

ESTATÍSTICA COMPUTACIONAL Ralph dos Santos Silva Departamento de Métodos Estatísticos Instituto de Matemática Universidade Federal do Rio de Janeiro

Sumário

Simulação O que é simulação? Reprodução de um sistema (problema real) num ambiente controlado pelo pesquisador. O sistema em questão pode ser determinístico, neste caso, as componentes e os comportamento do sistema são conhecidos. Esse sistema pode ser descrito por uma regra matemática exata. Em outros casos, o sistema está sujeito a flutuações aleatórias. Então, precisamos acomodar as incertezas envolvidas usando probabilidade.

No caso de sistemas não determinísticos, existe pelo menos uma componente estocástica, que será descrita por distribuições de probabilidade. Podemos representar o sistema por y = g(x 1,..., x p). A função g pode ser complicada e x 1,..., x p são variáveis aleatórias. Objetivo: reproduzir essas variáveis aleatórias.

Geração de variáveis aleatórias Essas variáveis aleatórias são, de forma geral, independentemente distribuídas de acordo com uma funcão de distribuição F. F pode não ser explicitamente conhecida. Inicialmente iremos considerar geração de variáveis com distribuição uniforme no intervalo (0,1). Gerando da Uniforme Inicialmente iremos gerar da U(0, 1) pois essa distribuição fornece a noção básica de representação da aleatoriedade. E ela será usada para geração de outras distribuições de probabilidade.

Objetivo: gerar uma amostra aleatória (U 1,..., U n) de tamanho n de U(0, 1). Paradoxo: queremos gerar números aleatórios mas usando um mecanismo determinístico que possa ser repetido para gerar vários números aleatórios com a propriedade desejada. Definição (gerador uniforme pseudo-aleatório): algoritmo que começando de um valor inicial u 0 e uma transformação D, produz uma sequência {u i } = {D i (u 0 )} de valores em (0,1). Para todo n, os valores (u 1,..., u n) reproduzem o comportamento de uma amostra aleatória (U 1,..., U n) de U(0, 1) quando testadas segundo um certo conjunto de testes. Queremos encontrar uma sequência de valores tal que ao testar H 0 : U 1,..., U n são variáveis aleatórias U(0, 1) não rejeitamos H 0. Teste clássico nesse contexto: Kolmogorov-Smirnov.

Partimos da noção de que queremos encontrar um sistema determinístico que possa imitar um fenômeno aleatório. Isso sugere que modelos caóticos poderiam criar esse comportamento. Esses modelos são baseados em estruturas complexas tal como sistemas dinâmicos da forma X n+1 = D(X n). Esse tipo de sistema é bastante sensível ao valor inicial. Exemplo: função logística. Seja D a(x) = ax(1 x). Para a [3, 57; 4, 00] temos configurações caóticas. Em particular, para a = 4, 00 temos uma sequência de números no [0,1] com distribuição arco-seno cuja função de densidade de probabilidade é 1 π x(1 x). Podemos transformar X gerado da distribuição arco-seno e obter amostras da U(0, 1) fazendo: U i = 2 π arcoseno( X i ) para i = 1,..., n.

Gerando de outras distribuições Considere a variável aleatória X com suporte {x 1,..., x k } com k probabilidades p 1,..., p k tal que p i = 1. i=1 Podemos dividir o intervalo [0,1] em k intervalos I 1,..., I k de forma que j I j = (F j1, F j ], onde F 0 = 0 e F j = p i. i=1 Geramos u i da U(0, 1) e vemos em qual intervalo ele caiu. Se u i em I 1, então dizemos que X = X i e assim por diante. Por que esse gerador gera da distribuição de X acima?

Gerando da distribuição de Bernoulli Distribuição: Pr(X = 1) = p e Pr(X = 0) = 1 p. Algoritmo 1. Dividir o intervalo (0,1) em 2 partes: I 1 = (0, p] e I 2 = (p, 1]. 2. Gerar u da U(0, 1). 3. Se u em I 1, então x = 1. Caso contrário, x = 0. 4. Repita os Passos 1, 2 e 3 n vezes. (Mostrar exemplo no R: exemplo_09.r)

Gerando da distribuição uniforme discreta Distribuição: Pr(X = x) = 1 N para x = 1, 2,..., N. Algoritmo 1. Dividir o intervalo (0,1) em N partes: I 1 = (0, 1/N], I 2 = (1/N, 2/N],..., I N = ((N 1)/N, 1]. 2. Gerar u da U(0, 1). 3. Se u em I j, então x recebe o valor j. 4. Repita os Passos 1, 2 e 3 n vezes. (Mostrar exemplo no R: exemplo_10.r)

Método da transformação inversa Na representação da estrutura de uma variável aleatória podemos representar a tripla (Ω, A, P) por ([0, 1], B, U(0, 1)). Isto é, podemos igualar a variabilidade de ω Ω usando a uniforme no intervalo (0,1) através de uma transformação. Dessa forma, X são funções que levam do (0,1) em D x. Esse método para gerar valores da variável aleatória X é conhecido como método da transformação inversa. Lema Se U U(0, 1), então a variável F 1 (U) tem função de distribuição acumulada F. Exercício: Prove este lema!

Então basta gerar U da uniforme e fazer X = F 1 (U) para obter X com distribuição acumulada F. Podemos obter outras distribuições como uma transformação determinística de amostras da uniforme. Exemplo: X = log(u) pode ser usado para obter uma amostra da distribuição exponencial com parâmetro 1. Por que? Como encontrar essa transformação? Como generalizar para uma exponencial como parâmetro λ (média 1/λ)? (Mostrar exemplo no R: exemplo_11.r)

Exemplo: como utilizar a uniforme para gerar da Gama(κ, β) sendo κ um inteiro positivo e β > 0? Algoritmo 1. Gerar u 1,..., u k da U(0, 1). 2. Definir y i = (1/β) log(u i ), para i = 1,..., k. 3. Faça x = y 1 + + y k. 4. Repita os Passos 1, 2 e 3 n vezes. (Mostrar exemplo no R: exemplo_12.r)

Geração de variáveis aleatórias usando misturas Podemos usar uma técnica bivariada para simplificar a geração de variáveis. Motivação: sabemos que f (x 1, x 2 ) = f (x 1 x 2 )f (x 2 ). Suponha que seja mais fácil gerar de (X 1 X 2 = x 2 ) e de X 2 do que gerar diretamente de X 1. Então, (X 1, X 2 ) pode ser gerado em dois passos Passo 1: Gerar x 2. Passo 2: Gerar (x 1 x 2 ). Nesse algoritmo temos disponível a distribuição conjunta (X 1, X 2 ) e a distribuição marginal de X 1.

Exemplo: mistura discreta de normais Considere interesse em gerar variáveis aleatórias X tal que f X (x) = ωφ(x µ 1, σ 2 1) + (1 ω)φ(x µ 2, σ 2 2), sendo 0 < ω < 1 e φ(. a, b 2 ) a função de densidade de probabilidade de uma normal com média a e variância b 2. Seja Y Ber(ω). Então, podemos dizer que f X Y (x y = 1) = φ(x µ 1, σ 2 1) e f X Y (x y = 0) = φ(x µ 2, σ 2 2). Consequentemente, uma maneira de obter uma amostra de X é gerar valores de Y e dado o valor de Y gerar valores de X. Algoritmo Para i = 1,..., n, faça: 1. Gerar Y i Ber(ω); 2. Se Y i = 1 gerar X i N (µ 1, σ 2 1). Se Y i = 0 gerar X i N (µ 2, σ 2 2). A amostra (x 1,..., x n) tem densidade f X. (Mostrar exemplo no R: exemplo_13.r)

Exemplo: distribuição t-student Lema Se X λ N (µ, σ 2 /λ) e λ G(ν/2, ν/2), então X t ν(µ, σ 2 ). Exercício: Prove o lema acima! Algoritmo Para i = 1,..., n, faça: 1. Gerar λ i G(ν/2, ν/2); 2. Gerar X i N (µ, σ 2 /λ i ). A amostra (x 1,..., x n) tem densidade t ν(µ, σ 2 ). (Mostrar exemplo no R: exemplo_14.r)

Método da rejeição Objetivo: obter uma amostra de X com função de densidade de probabilidade f (x). Suponha que amostrar de X através de f (x) seja difícil, mas obter amostrar de uma g(x) parecida com f (x) seja fácil. Dizemos que g(x) é um envelope para f (x) se existe uma constante C > 0 tal que 0 f (x) Cg(x) para todo x. f(x) 0.0 0.1 0.2 0.3 0.4 0.5 0.6 f(x) g(x) envelope 4 3 2 1 0 1 2 3 4 x

Razão de aceitação Vamos propor uma valor de x gerando da distribuição g(x). A aceitação desse valor está relacionada com a razão A = f (x) Cg(x) com g(x) 0 para todo x. Pela definição do envelope temos que 0 A 1. Valores pequenos de A indicam que o valor proposto tem densidade pequena em f e grande em Cg. Valores de A próximos de 1 indicam que o valor proposto tem densidade alta em f e Cg. Isto é, as duas são parecidas.

Algoritmo 1. Gere um valor proposto x de g(x); 2. Aceite o valor proposto x com probabilidade A = f (x ) Cg(x ). 3. Repita os Passos 1 e 2 até obter uma amostra de tamanho n. A amostra (x 1,..., x n) tem densidade f (x). Por que o algoritmo gera uma amostra de f (x)? Exemplo: N (0, 1) Objetivo: gerar amostras da Normal padrão, usando propostas: (a) U( 10, 10); e (b) Cauchy padrão.

No caso da U( 10, 10), temos C = (2π) 1/2 exp{ x 2 /2}. 1/20 O máximo dessa razão é C = 7, 98 em x = 0. Então, 7, 98I ( 10,10) cobre f (x). No caso da Cauchy padrão, temos C = (2π) 1/2 exp{ x 2 /2} [π(1 + x 2 )] 1. O máximo dessa razão é C = 1, 52 em x = 1 e x = 1. Então, 1.52[π(1 + x 2 )] 1 cobre f (x). (Mostrar exemplo no R: exemplo_15.r)

Notas sobre o método da rejeição A distribuição proposta deve ser fácil de gerar valores. A função de densidade de probabilidade da proposta deve ser fácil de avaliar. As funções de densidade de probabilidade f e g devem ser similares para resultar em uma taxa de aceitação alta e um algoritmo eficiente. Podemos calcular a taxa de aceitação teórica: ( Pr U f (X) ) ( = Pr U f (s) ) X = s g(s)ds Cg(X) Cg(s) f (s) = Cg(s) g(s)ds = 1 g(s)ds = 1 C C. Lembrando que C 1. Temos que C mais próximo de 1 indica que f e g são próximas, levando a altas taxas de aceitação. Enquanto que C grande indica que f e g são distantes, levando a baixas taxas de aceitação. No caso da proposta uniforme, a taxa de aceitação teórica é 1/7,9788=0,125 e na proposta Cauchy, a taxa de aceitação teórica é 1/1,5203=0,658.

Observação importante: Se só conhecemos a função de densidade de interesse exceto por uma constante de integração f (x) κ f (x) nada muda no algoritmo. Basta substituir f por f. Agora, a constante C é tal que f (x) Cg(x). Por que?

Exemplo: Normal truncada Objetivo: gerar uma amostra da distribuição Normal truncada entre 0 e infinito (conhecida como Half-Normal). Considere como proposta a distribuição Normal padrão. f(x) g(x) f(x) 0.0 0.2 0.4 0.6 0.8 4 3 2 1 0 1 2 3 4 x Figura: Exemplo do método de rejeição aplicado a normal truncada.

A função de densidade de probabilidade objetivo é f (x) = 2 1 exp { x } 2 I (x 0) = 2φ(x)I (x 0). 2π 2 No caso da proposta Normal padrão com densidade φ(x), temos C = 2 (2π) 1/2 exp { x 2 /2 } I (x 0) (2π) 1/2 exp { x 2 /2} = 2I (x 0). O máximo dessa razão é C = 2 em x 0. Então, 2φ(x) cobre f (x). Algoritmo 1. Gerar uma proposta X N (0, 1); 2. Aceitar o valor proposto x com probabilidade 2φ(x) 2φ(x) I (x 0) = I (x 0). 3. Repita os Passos 1 e 2 n vezes. Note que se x 0, então aceitamos este valor com probabilidade 1. Por outro lado, se x < 0, então rejeitamos este valor com probabilidade 1.

Neste caso, o Passo 2 do algoritmo é desnecessário. Para gerar da Normal truncada entre 0 e infinito usando uma Normal padrão devemos: Gerar valores da Normal padrão e aceitar os valores maiores que 0. Nesse caso a taxa de aceitação é 1/C = 1/2. Considere a proposta G(1, 1) E(1). Nesse caso, a taxa de aceitação teórica é 0,76 (C = 1, 315 em x = 1). f(x) 0.0 0.2 0.4 0.6 0.8 1.0 f(x) g 1(x) g 2(x) 4 3 2 1 0 1 2 3 4 x Figura: Exemplo do método de rejeição aplicado a normal truncada. (Mostrar exemplo no R: exemplo_16.r)

Gerando da distribuição Normal Teorema central do limite. Rejeição com proposta exponencial dupla. Método de Box-Muller Teorema central do limite Considere uma amostra (U 1,..., U n) i.i.d. U(0, 1). Sabemos que para n grande temos n(u 1/2) X = 1/ N (0, 1). 12 Essa aproximação é razoável para n igual ou maior que 12. Mas esse algoritmo não é eficiente pois para gerar um único valor da N (0, 1) é preciso gerar pelo menos 12 valores da U(0, 1). (Mostrar exemplo no R: exemplo_17.r)

Gerando da distribuição Normal: Rejeição Objetivo: Gerar amostras da distribuição Normal padrão. Considere uma proposta exponencial dupla dada por g(x) = 1 { 2τ exp 1τ } x, x R. f(x) 0.0 0.1 0.2 0.3 0.4 0.5 0.6 f(x) g 1(x) g 3(x) 4 3 2 1 0 1 2 3 4 Figura: Exemplo para gerar da Normal padrão pelo método de rejeição com proposta Laplace. x

A razão entre as densidade f e g é C(x, τ) = f (x) g(x) = τ exp { x 2 2π 2 + x τ }, x R, τ > 0. O máximo dessa razão é obtida para x = 1/τ e x = 1/τ e é igual a C(τ) = τ { } 1 exp. 2π 2τ 2 Lembrando que a constante deve ser a menor possível para uma alta taxa de aceitação. Então, devemos minimizar C(τ) com respeito a τ. Para isto, τ = 1. Segue-se que C(1) = 1, 315 e a taxa de aceitação teórica 1/C(1) = 0, 76. Portanto, nossa proposta é uma Laplace(1). (Mostrar exemplo no R: exemplo_18.r)

Gerando da distribuição Normal: Box-Muller Sejam U i U(0, 1), i = 1, 2 e independentes. Defina as variáveis aleatórias X 1 e X 2 tais que X 1 = 2 log(u 1 ) cos(2πu 2 ), e X 2 = 2 log(u 1 )sen(2πu 2 ). Então, X i N (0, 1), i = 1, 2 e independentes. Por transformação polar podemos verificar a relação acima. Note que no algoritmo anterior de rejeição usando proposta Laplace em 100 U(0, 1) geradas esperamos gerar 76 N (0, 1). Enquanto nesse algoritmo, em 100 U(0, 1) geradas iremos gerar 100 N (0, 1).

Gerando da distribuição Normal multivariada Objetivo: Gerar uma amostra da Normal multivariada com vetor de médias µ e matriz de covariâncias Σ a partir de variáveis N (0, 1) independentes. Considere X = (X 1,..., X p) um vetor de variáveis aleatórias independentes e identicamente distribuídas da N (0, 1). Sabemos que Y = µ + U X N p(µ, Σ) sendo Σ = U U. Podemos utilizar a decomposição de Cholesky! Podemos utilizar a decomposição em valor singular (SVD)! E possível com a decomposição LU? (Mostrar exemplo no R: exemplo_19.r)

Método do envelope Esse método é parecido com o método de rejeição com um passo extra que diminui o custo computacional no caso em que avaliar a densidade objetivo é difícil. A ideia do método é de que além de encontrar uma constante C tal que Cg cubra a f também devemos escolher uma função h que limite f por baixo. Se h(x) f (x) para todo x, então podemos usar a seguinte relação para aceitar x: u h(x) Cg(x) f (x) Cg(x) u f (x) Cg(x). Não é preciso avaliar f (x), basta aceitar o valor proposto.

Exemplo: gerando da N (0, 1) Considere o problema de gerar da N (0, 1) usando como proposta a U( 10; 10). Utilizaremos um limitante inferior para avaliar a função de densidade da N (0, 1) um número de vezes menor. Para isto considere a relação (1 x 2 /2) exp{ x 2 /2}. O método da rejeição terá um passo extra que testa se u (2π) 1/2 (1 x 2 /2) Cg(x) = (1 x 2 /2) pois C = (2π) 1/2 1/20. Se a relação for verificada, então podemos aceitar o valor proposto de g(x). (Mostrar exemplo no R: exemplo_20.r)

Reamostragem ponderada No método de rejeição vimos que é crucial encontrar a constante C para determinar o envelope. O método da reamostragem ponderada usa a ideia do método de rejeição sem precisar encontrar essa constante. Desvantagem: produz valores com distribuição aproximada. Ao invés de gerar diretamente da densidade objetivof (x), iremos gerar de uma aproximação discreta dessa distribuição. Para isso, assim como no método de rejeição, amostramos de uma densidade proposta g(x). Na distribuição discreta as probabilidades dos valores x 1, x 2,..., x n são tais que Pr(X = x i ) f (x i) g(x i ).

1. Considere uma amostra (x 1,..., x n) obtida da função de densidade de probabilidade proposta g(x). 2. Calcule os pesos e depois as probabilidades ω i = f (x i) g(x i ) i = 1,..., n, π i = ω i n j=1 ω j i = 1,..., n. 3. Uma segunda amostra (x 1,..., x m) é obtida da distribuição discreta Pr(X = x i ) = π i, i = 1,..., n. A reamostra (x 1,..., x m) tem distribuição aproximada f (x). Note que o tamanho da reamostra é qualquer. Por exemplo, podemos ter m > n e nesse caso temos amostragem com reposição da distribuição discreta. Neste caso, também não é preciso conhecer f (x) completamente. Precisamos conhecer somente seu núcleo.

Exemplo: mistura discreta de normais Considere interesse em gerar variáveis aleatórias X tal que f X (x) = ωφ(x µ 1, σ 2 1) + (1 ω)φ(x µ 2, σ 2 2), sendo 0 < ω < 1 e φ(. a, b 2 ) a função de densidade de probabilidade de uma normal com média a e variância b 2. Sabemos que E(X) = E Y (E(X Y )) = ωµ 1 + (1 ω)µ 2 = µ Var(X) = E Y (Var(X Y )) + Var Y (E(X Y )) = [ωµ 1 + (1 ω)µ 2 ] + [ω(µ 1 µ) 2 + (1 ω)(µ 2 µ) 2 ]. (Mostrar exemplo no R: exemplo_21.r) Exemplo: núcleo da função de densidade de probabilidade f (x) exp( x 2 /2){[sen(6x)] 2 + 3[cos(x)] 2 [sen(4x)] 2 + 1}, x R. (Mostrar exemplo no R: exemplo_22.r)

Qualidade da aproximação Podemos mostrar que para n temos F ω(a) F X (a) sendo F ω(a) = Pr(X a) = n j=1 ω j = I(x j < a)f (x j )/g(x j ) n j=1 f (x. j)/g(x j ) j:x j a Quando n, temos vários x j gerados com frequência de g(x j ). Então, podemos aproximar F ω(a) = n j=1 ω j = I(x j < a)f (x j )/g(x j ) n j=1 f (x j)/g(x j ) j:x j a [I(x < a)f (x)/g(x)]g(x)dx [f (x)/g(x)]g(x)dx = I(x < a)f (x)dx f (x)dx Dessa forma, teremos uma boa aproximação para n grande. = F X (a).

Teorema fundamental da simulação Antes de falar sobre o amostrador da fatia (Slice Sampler), considere a ideia que esta por trás de vários métodos de simulação tais como rejeição e amostrador da fatia. Podemos reescrever a densidade objetivo f (x) por f (x) = f (x) 0 1du, isto é, f (x) é a densidade marginal da conjunta de (X, U) sendo Dessa forma (X, U) U{(x, u) : 0 < u < f (x)}. f (x) = I(0 < u < f (x))du = f (x) 0 1du. A variável U é chamada variável auxiliar, criada artificialmente para facilitar a geração de variáveis aleatórias com distribuição f (x). Para gerar X com função de densidade de probabilidade f (x) basta gerar da conjunta de (X, U).

Para isto usamos uma cadeia de Markov que gera valores de X U e de U X tais que (X U = u) U(x : u f (x)) (U U = x) U(u : u f (x)). Os valores gerados são obtidos da distribuição conjunta de (X, U). Teorema Gerar X com função de densidade de probabilidade f (x) é equivalente a gerar (X, U) U{(x, u) : 0 < u < f (x)}. Os movimentos são feitos usando um passeio aleatório em cada eixo por vez. Movemos a cadeia fazendo um movimento no eixo u. Depois fazemos um movimento no eixo x. Após gerar n pares (x i, u i ), basta considerar somente os valores de x 1,..., x n como amostra da marginal de X.

3.5 2.5 1.5 0.5 0.5 1.5 2.5 3.5 0.0 0.1 0.2 0.3 0.4 x f(x) 3.5 2.5 1.5 0.5 0.5 1.5 2.5 3.5 0.0 0.1 0.2 0.3 0.4 x f(x) 4 3 2 1 0 1 2 3 4 0.0 0.1 0.2 0.3 0.4 x f(x) Figura: Comportamento do amostrador da fatia. Esse método gera valores somente da Uniforme. Nenhum valor é rejeitado. Idea: gerar valores sob a curva baseados em Uniformes.

Suponha uma distribuição f (x) unimodal. Algoritmo 1. Inicializar com x 0 e fazer i = 0; 2. Fazer i = i + 1 e gerar y i de U(0, f (x i 1 )); 3. Gerar x i de U(c 1i, c 2i ) sendo y i = f (c 1i ) = f (c 2i ); 4. Repetir os Passos 2 e 3 para i n. f(x) 0.0 0.1 0.2 0.3 0.4 3.5 2.5 1.5 0.5 0.5 1.5 2.5 3.5 Figura: Comportamento do amostrador da fatia. x (Mostrar exemplo no R: exemplo_23.r)

Exemplo: N (0, 1) truncada no (0, 1) via amostrador da fatia A função de densidade de probabilidade é dada por f (x) = φ(x), x (0, 1). Φ(1) Φ(0) f(x) 0.0 0.2 0.4 0.6 0.8 1.0 1.2 0.0 0.2 0.4 0.6 0.8 1.0 Figura: Comportamento do amostrador da fatia para normal truncada. x

Dado y, precisamos calcular κ tal que f (κ) = y: κ = 2 [ln(y) + 12 ] ln(2π) + ln(φ(1) Φ(0)). Note que 0 κ 1. Algoritmo 1. Inicializar com x 0 e fazer i = 0; 2. Fazer i = i + 1 e gerar y i de U(0, f (x i 1 )); 3. Gerar x i de U(0, mín(κ i, 1)). 4. Repetir os Passos 2 e 3 para i n. (Mostrar exemplo no R: exemplo_24.r)