Untuk menjawab pertanyaan pertama Anda, kami hanya perlu menggunakan Teorema Bayes untuk memperbarui kemungkinan binomial kami dengan beta sebelumnya. Untuk lebih memahami bagaimana melakukan ini, pertama-tama perhatikan hasil berikut
p(θ|x)=p(x|θ)p(θ)∫Θp(x|θ)p(θ)dθ∝p(x|θ)p(θ)
di mana kita dapat menggunakan hasil proporsionalitas karena distribusi beta adalah konjugat sebelum kemungkinan binomial.
Sekarang, mari xi∼Binomial(Ni,θ) dan θ∼Beta(α,β). Kita sekarang dapat menggunakan Teorema Bayes untuk menghitung posterior sebagai berikut:
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
di mana dan
s=∑ni=1xiN=∑ni=1Ni
Sekarang, kami mengenali sisi kanan proporsional dari persamaan sebagai kernel dari distribusi beta lain dengan parameter yang diperbarui
dan
α∗=α+∑i=1nxi
β∗=β+∑i=1nNi−∑i=1nxi
Sekarang untuk bagian kedua dari masalah Anda, pertimbangkan grafik berikut dari posteriors yang diberikan distribusi sebelumnya yang berbeda.
Plot di atas terdiri dari lima distribusi sebelumnya yang berbeda:
Prior 1Prior 1Prior 1Prior 1Prior 1:θ∼Beta(.5,.5):θ∼Beta(5,1):θ∼Beta(1,3):θ∼Beta(2,2):θ∼Beta(2,5)
Sekarang meskipun distribusi posterior tampaknya tidak banyak berubah oleh pilihan sebelumnya dalam situasi ini, ini tidak selalu terjadi. Sebagai contoh, jika kita mengambil sampel dari distribusi Binomial (dalam kode) di mana kita akan melihat bahwa distribusi posterior secara drastis diubah oleh pilihan distribusi sebelumnya.N=2
Berikut adalah R
kode yang digunakan untuk menghasilkan semuanya:
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)
}