Inferência Bayesiana na distribuição Normal Diego Ignacio Gallardo Mateluna Instituto de Matemática e Estatística Universidade de São Paulo Março, 2012
Distribuição Normal: Inferência da variância com média conhecida
Dados de anotações de equipes de Futebol Americano Para 672 jogos de Futebol Americano, o banco de dados contém os pontos conseguidos pelo time favorito, pelo time zebra e o valor do spread, termo utilizado em apostas e que estima a diferença entre os pontos conseguidos pelo time favorito e pelo time zebra. Baseado nesses valores, é calculada a variável d = favorite underdog spread. require(learnbayes) data(footballscores) attach(footballscores) d = favorite - underdog - spread n = length(d) S = sum(d^2) > n [1] 672 > S [1] 128902
Dados de anotações de equipes de Futebol Americano Se assumimos que as diferenças d 1,..., d n são uma amostra i.i.d. da distribuição N(0, σ 2 ), então a função de verossimilhança é dada por } n L(σ 2 ) = (σ 2 ) n d 2 exp { 2 i, σ 2 > 0. 2σ 2 i=1 Suponha priori não informativa para σ 2, i.e., π(σ 2 ) σ 2 Desse jeito, a distribuição a posteriori para σ 2 é dada por π(σ 2 X) (σ 2 ) ( n +1) { 2 exp S }, 2σ 2 em que S = n i=1 d2 i. Portanto, σ 2 X Sχ 2 n = 128.902χ 2 (672).
Dados de anotações de equipes de Futebol Americano A distribuição qui-quadrado invertida vem incorporada no pacote geor. require(geor) curve(dinvgamma(x, n/2,s/2),xlim=c(160,230), ylab="densidade",xlab=expression(sigma^2),lwd=2) Calculamos o intervalo de credibilidade com caudas simétricas para σ 2 comparamos com o HDR. S/qchisq(c(0.975,0.025),n) [1] 172.8538 214.1019 HDRinvgamma(n/2,S/2,0.95) [1] 172.1466 213.2860 e
Dados de anotações de equipes de Futebol Americano Densidade à posteriori HDR IC com caudas simétricas densidade 0.01 0.02 0.03 170 180 190 200 210 220 σ 2 Figura: Distribuição à posteriori de σ 2.
densidade 0.0 0.5 1.0 1.5 2.0 Densidade à posteriori HDR IC com caudas simétricas 0.5 1.0 1.5 2.0 σ 2 Figura: Comparação de HDR e IC com caudas simétricas para σ 2 com outra distribuição.
Distribuição Normal: Inferência da média com variância conhecida
Suponha que estamos interessados em estimar o QI de Joe, o qual tem distribuição N(θ, σ 2 ), em que σ = 15. Você acredita, à priori, que a média e a mediana da distribuição para θ é 100. Além disso, considere os seguintes três cenários: 1 Com um 90 % de confiança, você acredita que o QI de Joe está entre 70 e 130. 2 Com um 90 % de confiança, você acredita que o QI de Joe está entre 80 e 120. 3 Com um 90 % de confiança, você acredita que o QI de Joe está entre 90 e 110. Utilizando como distribuição à priori a Normal, pode-se verificar que cada um dos casos pode ser representado da seguinte forma: 1 θ N(100; 18.24 2 ) 2 θ N(100; 12.16 2 ) 3 θ N(100; 6.08 2 )
Desenhamos as distribuições à priori através dos seguintes comandos. curve(dnorm(x,mean=100,sd=18.24),xlim=c(80,130), lwd=2,col=1,ylim=c(0,0.09),ylab="densidade",xlab=expression(theta)) curve(dnorm(x,mean=100,sd=12.16),lwd=2,col=2,add=t) curve(dnorm(x,mean=100,sd=6.08),lwd=2,col=3,add=t) a<-c("priori 1","Priori 2","Priori 3","Post. 1","Post. 2","Post. 3") legend("topleft",a,lwd=2,col=1:3,lty=rep(1:2,c(3,3)),bty="n",cex=1.3)
densidade 0.00 0.01 0.02 0.03 0.04 0.05 0.06 0.07 Priori 1 Priori 2 Priori 3 60 80 100 120 140 θ Figura: Distribuições à priori para θ.
Sabemos que se y 1,..., y n provém da distribuição N(θ, σ 2 ), (σ 2 conhecido), e a distribuição a priori para θ é N(µ, τ 2 ), então ( ) ȳ(n/σ 2 ) + µ(1/τ 2 ) 1 θ X N, n/σ 2 + 1/τ 2 n/σ 2 + 1/τ 2 Suponhamos que foram observados quatro resultados do teste QI para Joe. Desse jeito, a distribuição à posteriori para θ é ( ) ȳ(4/15 2 ) + 100(1/τ 2 ) 1 θ X N, 4/15 2 + 1/τ 2 4/15 2 + 1/τ 2
Consideremos os seguintes possíveis casos para ȳ. Caso 1: ȳ = 110. As distribuições à posteriori para θ para cada um dos casos fica 1 θ X N(108.55; 48.12) 2 θ X N(107.24; 40.75) 3 θ X N(103.97; 22.31)
Consideremos os seguintes possíveis casos para ȳ. Caso 1: ȳ = 110. As distribuições à posteriori para θ para cada um dos casos fica 1 θ X N(108.55; 48.12) 2 θ X N(107.24; 40.75) 3 θ X N(103.97; 22.31) Caso 2: ȳ = 125. As distribuições à posteriori para θ para cada um dos casos fica 1 θ X N(121.38; 48.12) 2 θ X N(118.11; 40.75) 3 θ X N(109.91; 22.31)
Consideremos os seguintes possíveis casos para ȳ. Caso 1: ȳ = 110. As distribuições à posteriori para θ para cada um dos casos fica 1 θ X N(108.55; 48.12) 2 θ X N(107.24; 40.75) 3 θ X N(103.97; 22.31) Caso 2: ȳ = 125. As distribuições à posteriori para θ para cada um dos casos fica 1 θ X N(121.38; 48.12) 2 θ X N(118.11; 40.75) 3 θ X N(109.91; 22.31) Caso 3: ȳ = 140. As distribuições à posteriori para θ para cada um dos casos fica 1 θ X N(134.22; 48.12) 2 θ X N(128.98; 40.75) 3 θ X N(115.86; 22.31)
densidade 0.00 0.02 0.04 0.06 0.08 Priori 1 Post. 1 densidade 0.00 0.02 0.04 0.06 0.08 Priori 2 Post. 2 60 80 100 120 140 160 60 80 100 120 140 160 θ θ densidade 0.00 0.02 0.04 0.06 0.08 Priori 3 Post. 3 60 80 100 120 140 160 θ Figura: Distribuições à priori e à posteriori para θ (Caso ȳ = 110).
densidade 0.00 0.02 0.04 0.06 0.08 Priori 1 Post. 1 densidade 0.00 0.02 0.04 0.06 0.08 Priori 2 Post. 2 60 80 100 120 140 160 60 80 100 120 140 160 θ θ densidade 0.00 0.02 0.04 0.06 0.08 Priori 3 Post. 3 60 80 100 120 140 160 θ Figura: Distribuições à priori e à posteriori para θ (Caso ȳ = 125).
densidade 0.00 0.02 0.04 0.06 0.08 Priori 1 Post. 1 densidade 0.00 0.02 0.04 0.06 0.08 Priori 2 Post. 2 60 80 100 120 140 160 60 80 100 120 140 160 θ θ densidade 0.00 0.02 0.04 0.06 0.08 Priori 3 Post. 3 60 80 100 120 140 160 θ Figura: Distribuições à priori e à posteriori para θ (Caso ȳ = 140).
Mesmo problema de Joe. Suponha que estamos interessados em estimar o QI de Joe, o qual tem distribuição N(θ, σ 2 ), em que σ = 15. Você acredita, à priori, que a média e a mediana da distribuição para θ é 100 e Com um 90 % de confiança, você acredita que o QI de Joe está entre 80 e 120. A diferença é que agora será utilizada como distribuição à priori a distribuição Normal e a distribuição T 2. Assim, é possível concluir que as distribuições à priori para θ serão 1 θ N(100; 12.16 2 ) 2 θ T2(100; 6.85)
Analogamente ao caso anterior, desenhamos as distribuições à priori. curve(dnorm(x,mean=100,sd=12.16),xlim=c(60,140), lwd=2,col=1,ylim=c(0,0.055),ylab="densidade",xlab=expression(theta)) tscale=6.85 curve(1/tscale*dt((x-mu)/tscale,2),lwd=2,col=2,add=t) a<-c("priori Normal","Priori T") legend("topleft",a,lwd=2,col=1:2,lty=rep(1:2,c(3,3)),bty="n",cex=1.3)
densidade 0.00 0.01 0.02 0.03 0.04 0.05 Priori Normal Priori T 60 80 100 120 140 θ Figura: Distribuições à priori para θ.
No caso de utilizar a distribuição Normal como distribuição à priori e como foi visto anteriormente, temos que ( ) ȳ(4/15 2 ) + 100(1/12.16 2 ) 1 θ X N, 4/15 2 + 1/12.16 2 4/15 2 + 1/12.16 2 Note que no caso de utilizar a distribuição T 2 temos que como distribuição à priori, π(θ X) φ ( ȳ θ, σ/ n ) g T2 (θ µ, τ) O núcleo dessa distribuição à posteriori não pertence a alguma distribuição conhecida. Dessa forma, precissamos aproximar essa distribuição à posteriori (que é contínua) para um conjunto de valores finitos utilizando o seguinte procedimento.
Procedimento para aproximar uma distribuição contínua por um conjunto de valores finitos. Defina uma grade de valores para θ, i.e., θ 1,..., θ M. Para cada θ i, i = 1,..., M, calcule a distribuição à posteriori avaliada em θ i, que definiremos como f i. Transforme os valores computados no passo anterior em probabilidades, dividindo cada f i por M i=1 fi. Desse jeito, é possível utilizar os valores θ 1,..., θ M para obter aproximações de estatísticas de interesse (por exemplo, a média ou a variância).
Por exemplo, se foi observado ȳ = 110 e queremos utilizar uma grade de M = 500 valores entre 60 e 180 para θ, então um programa em R para computar a média e o desvio padrão da distribuição à posteriori de θ, é o seguinte: ybar=110 sigma=15;n=4;tscale=6.85 theta = seq(60, 180, length = 500) like = dnorm((theta - ybar)/(sigma/sqrt(n))) prior = dt((theta - mu)/tscale, 2) post = prior * like post = post/sum(post) m = sum(theta * post) s = sqrt(sum(theta^2 * post) - m^2) m [1] 105.2924 s [1] 5.841821
Assim, é possível aplicar o mesmo procedimento para ȳ = 125 e ȳ = 140. A seguinte tabela compara as duas distribuições à priori em diferentes cenários para ȳ observado. Priori Normal Priori T 2 ȳ Média AP Desvio padrão AP Média AP Desvio padrão AP 110 107.2442 6.3835 105.2921 5.8417 125 118.1105 6.3835 118.0841 7.8852 140 128.9768 6.3835 135.4134 7.9735
Assim, é possível aplicar o mesmo procedimento para ȳ = 125 e ȳ = 140. A seguinte tabela compara as duas distribuições à priori em diferentes cenários para ȳ observado. Priori Normal Priori T 2 ȳ Média AP Desvio padrão AP Média AP Desvio padrão AP 110 107.2442 6.3835 105.2921 5.8417 125 118.1105 6.3835 118.0841 7.8852 140 128.9768 6.3835 135.4134 7.9735
Finalmente, é possível utilizar os mesmos pontos da grade para aproximar a distribuição à posteriori de θ com as duas prioris. normpost = dnorm(theta, 128.9768, 6.3835) normpost = normpost/sum(normpost) plot(theta,normpost,type="l",lwd=2,ylab="densidade",col=1,xlab=expression(theta)) lines(theta,post,lwd=2,col=2) legend("topleft",legend=c("priori Normal","Priori T"),lwd=2, bty="n",col=1:2)
Densidade 0.000 0.005 0.010 0.015 Priori Normal Priori T 60 80 100 120 140 160 180 θ Figura: Distribuições à posteriori (estimadas) para θ.
Distribuição Normal: Inferência com média e variância desconhecida
Tempos de corrida O banco de dados inclui os tempos de corrida (em minutos) de 20 homens de entre 20 e 29 anos. Será assumido que os tempos y 1,..., y 20 representam uma a.a. da distribuição N(θ, σ 2 ). Se for assumida a priori não informativa π(θ, σ 2 ) 1/σ 2, então a densidade à posteriori conjunta de (θ, σ 2 ) é dada por { π(θ, σ 2 1 X) exp 1 } (σ 2 ) n/2+1 2σ (S + n(θ 2 ȳ)2 ), em que S = n i=1 (yi ȳ)2. Pode ser verificado que ) S θ X T n 1 (ȳ, n(n 1) θ σ 2, X N ( ȳ, σ 2 /n ) σ 2 X Sχ 2 n
Tempos de corrida Assim, é possível construir HDR ao 95 % para θ e σ 2 como segue: data(marathontimes) attach(marathontimes) n=length(time) ybar=mean(time) S=(n-1)*var(time) HDRtheta=ybar+qt(c(0.025,0.975),n-1)*sqrt(S/(n*n-1)) HDRtheta [1] 254.9741 300.2259 HDRsigma2=HDRinvgamma(n/2,S/2,0.95) HDRsigma2 [1] 1178.604 4393.832
Tempos de corrida Também é possível fazer inferência aproximada de (θ, σ 2 ), simulando valores, em um primeiro passo, da distribuição à posteriori marginal de σ 2 X e logo, em um segundo passo, simulando valores da distribuição condicional à posteriori de θ σ 2, X. sigma2 = S/rchisq(1000, n - 1) theta = rnorm(1000, mean = ybar, sd = sqrt(sigma2)/sqrt(n)) quantile(theta, c(0.025, 0.975)) 2.5% 97.5% 256.0215 301.0007 quantile(sigma2, c(0.025, 0.975)) 2.5% 97.5% 1471.431 5485.004
Tempos de corrida Finalmente, é possível plotar as linhas de contorno ao 10 %, 1 % e 0.1 % para a distribuição conjunta de (θ, σ 2 ). Também é possível plotar os pontos simulados para θ e σ 2. mycontour(normchi2post, c(220, 330, 500, 9000), time) title(xlab=expression(theta),ylab=expression(sigma^2)) points(theta, sigma2)
Tempos de corrida 6.9 4.6 2.3 220 240 260 280 300 320 2000 4000 6000 8000 θ σ 2 Figura: Linhas de contorno para (θ, σ 2 ) ao 10 %, 1 % e 0.1 %.
Referências Albert, J. (2007) Bayesian Computation with R. New York: Springer