Để trả lời câu hỏi đầu tiên của bạn, chúng tôi chỉ cần sử dụng Định lý Bayes để cập nhật khả năng nhị thức của chúng tôi với phiên bản beta trước. Để hiểu rõ hơn về cách thực hiện việc này, trước tiên hãy quan sát kết quả sau
trong đó chúng ta có thể sử dụng kết quả tỷ lệ phân phối beta là liên hợp trước cho khả năng nhị thức.
p(θ|x)=p(x|θ)p(θ)∫Θp(x|θ)p(θ)dθ∝p(x|θ)p(θ)
Bây giờ, hãy để và . Bây giờ chúng ta có thể sử dụng Định lý Bayes để tính toán hậu nghiệm như sau:θ ~ Beta ( α , β )xi∼Binomial(Ni,θ)θ∼Beta(α,β)
s=∑ n i = 1 xiN=∑ n i = 1 Ni
p ( θ | x )Α p ( x | θ ) p ( θ )∝ ( NxTôi) θS( 1 - θ )N- sΓ ( α + β)Γ ( α ) Γ ( β)θα - 1( 1 - θ )β- 1∝ θS( 1 - θ )N- sθα - 1( 1 - θ )β- 1∝ θα + s - 1( 1 - θ )β+ N- s - 1
trong đó và
s = Σni = 1xTôiN=∑ni=1Ni
Bây giờ, chúng tôi nhận ra phía bên phải tỷ lệ của phương trình là hạt nhân của phân phối beta khác với các tham số được cập nhật
và
α∗=α+∑i=1nxi
β∗=β+∑i=1nNi−∑i=1nxi
Bây giờ đối với phần thứ hai của vấn đề của bạn, hãy xem xét các biểu đồ sau của các phần sau được cung cấp các bản phân phối trước khác nhau.
Cốt truyện trên có năm bản phân phối trước khác nhau:
Prior 1Prior 1Prior 1Prior 1Prior 1:θ∼Beta(.5,.5):θ∼Beta(5,1):θ∼Beta(1,3):θ∼Beta(2,2):θ∼Beta(2,5)
Bây giờ mặc dù phân phối sau dường như không được thay đổi nhiều bởi sự lựa chọn trước trong tình huống này không phải lúc nào cũng như vậy. Ví dụ: chúng tôi đã lấy mẫu từ phân phối Binomial (trong mã) trong đó chúng tôi sẽ thấy rằng phân phối sau được thay đổi mạnh mẽ bởi sự lựa chọn phân phối trước.N=2
Đây là R
mã được sử dụng để tạo ra mọi thứ:
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)
}