ベータ事前分布は二項尤度の下で事後にどのように影響しますか


8

2つの質問があります。

質問1:可能性が二項であり、事前分布がベータである場合、事後分布がベータ分布であることをどのように示すことができますか

質問2:以前のパラメーターの選択は事後にどのように影響しますか?それらはすべて同じである必要はありませんか?

Rでこれらの質問に答えることは可能ですか?


Rのようにコードを記述しなくても、firstbayesを簡単に使用して比較できます。それは難しいかもしれませんインストールするために、このかもしれない助け.. youtube.com/watch?v=BcdigiWY054

回答:


18

最初の質問に答えるには、ベイズの定理を使用して、2項尤度を以前のベータで更新する必要があります。これを行う方法をよりよく理解するには、最初に次の結果を確認します ここで、比例結果を利用できるので、ベータ分布は、二項尤度の事前共役です。

p(θ|x)=p(x|θ)p(θ)Θp(x|θ)p(θ)dθp(x|θ)p(θ)

ここで、およびます。ベイズの定理を使用して、次のように事後を計算できます。θ ベータ版α β xiBinomial(Ni,θ)θBeta(α,β)

p(θ|x)p(x|θ)p(θ)(Nxi)θs(1θ)NsΓ(α+β)Γ(α)Γ(β)θα1(1θ)β1θs(1θ)Nsθα1(1θ)β1θα+s1(1θ)β+Ns1
ここで、およびs=i=1nxiN=i=1nNi

これで、方程式の比例する右辺が、パラメータ および が更新された別のベータ分布のカーネルとして認識されます。

α=α+i=1nxi
β=β+i=1nNii=1nxi

ここで、問題の2番目の部分として、異なる事前分布が与えられた場合の事後分布の次のグラフを考えます。

BetaPriors

上記のプロットは、5つの異なる事前分布です:

Prior 1:θBeta(.5,.5)Prior 1:θBeta(5,1)Prior 1:θBeta(1,3)Prior 1:θBeta(2,2)Prior 1:θBeta(2,5)
ここに画像の説明を入力してください ここに画像の説明を入力してください ここに画像の説明を入力してください ここに画像の説明を入力してください ここに画像の説明を入力してください

現在、事後分布はこの状況で事前分布を選択してもあまり変化しないようですが、常にそうであるとは限りません。たとえば、である(コード内の)二項分布からサンプリングした場合、事後分布は事前分布の選択によって劇的に変化することがわかります。N=2

Rすべてを生成するために使用されるコードは次のとおりです。

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)

}

(+1)すばらしい回答@ user25658。
MYaseen208 2015年

これは素晴らしい答えであり、可能性(データ)グラフも含まれるので問題ありません。
MYaseen208 2015年

1
@ user25658後部がベータ分布である場合、シータはベータ分布なので、xを生成するrbeta代わりに使用すべきではありません rbinomか?
Kamaldeep Singh
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.