Para responder sua primeira pergunta, precisamos apenas usar o Teorema de Bayes para atualizar nossa probabilidade binomial com a versão beta anterior. Para entender melhor como fazer isso, primeiro observe o seguinte resultado
onde podemos usar o resultado da proporcionalidade desde a distribuição beta é o conjugado anterior para a probabilidade binomial.
p(θ|x)=p(x|θ)p(θ)∫Θp(x|θ)p(θ)dθ∝p(x|θ)p(θ)
Agora, deixe e . Agora podemos usar o Teorema de Bayes para calcular o posterior da seguinte forma:θ ∼ Beta ( α , β )xi∼Binomial(Ni,θ)θ∼Beta(α,β)
s=∑ n i = 1 xiN=∑ n i = 1 Ni
p(θ|x)∝p(x|θ)p(θ)∝(Nxi)θs(1−θ)N−sΓ(α+β)Γ(α)Γ(β)θα−1(1−θ)β−1∝θs(1−θ)N−sθα−1(1−θ)β−1∝θα+s−1(1−θ)β+N−s−1
onde e
s = ∑ni = 1xEuN=∑ni=1Ni
Agora, reconhecemos o lado proporcional à direita da equação como o kernel de outra distribuição beta com parâmetros atualizados
e
α∗=α+∑i=1nxi
β∗=β+∑i=1nNi−∑i=1nxi
Agora, para a segunda parte do seu problema, considere os seguintes gráficos das partes posteriores, com diferentes distribuições anteriores.
O gráfico acima é composto por cinco distribuições anteriores diferentes:
Prior 1Prior 1Prior 1Prior 1Prior 1:θ∼Beta(.5,.5):θ∼Beta(5,1):θ∼Beta(1,3):θ∼Beta(2,2):θ∼Beta(2,5)
Agora, embora a distribuição posterior não pareça ser muito alterada pela escolha do prior nessa situação, esse nem sempre é o caso. Por exemplo, se amostrássemos a partir de uma distribuição binomial (no código) onde veríamos que a distribuição posterior é drasticamente alterada pela escolha da distribuição anterior.N=2
Aqui está o R
código usado para gerar tudo:
colors = c("red","blue","green","orange","purple")
n = 10
N = 10
theta = .2
x = rbinom(n,N,theta)
grid = seq(0,2,.01)
alpha = c(.5,5,1,2,2)
beta = c(.5,1,3,2,5)
plot(grid,grid,type="n",xlim=c(0,1),ylim=c(0,4),xlab="",ylab="Prior Density",
main="Prior Distributions", las=1)
for(i in 1:length(alpha)){
prior = dbeta(grid,alpha[i],beta[i])
lines(grid,prior,col=colors[i],lwd=2)
}
legend("topleft", legend=c("Beta(0.5,0.5)", "Beta(5,1)", "Beta(1,3)", "Beta(2,2)", "Beta(2,5)"),
lwd=rep(2,5), col=colors, bty="n", ncol=3)
for(i in 1:length(alpha)){
dev.new()
plot(grid,grid,,type="n",xlim=c(0,1),ylim=c(0,10),xlab="",ylab="Density",xaxs="i",yaxs="i",
main="Prior and Posterior Distribution")
alpha.star = alpha[i] + sum(x)
beta.star = beta[i] + n*N - sum(x)
prior = dbeta(grid,alpha[i],beta[i])
post = dbeta(grid,alpha.star,beta.star)
lines(grid,post,lwd=2)
lines(grid,prior,col=colors[i],lwd=2)
legend("topright",c("Prior","Posterior"),col=c(colors[i],"black"),lwd=2)
}