事後分布に収束していく様子をグラフ化してみる(ポアソン/ガンマ分布)

  • ????????????????????

ポアソン分布のパラメータの事前分布としてガンマ分布を仮定すると事後分布もガンマ分布になる(過去の記事 → 共役事前分布について)。

平均3のポアソン分布から100個サンプルをとってきて、オンライン学習的に次々にデータを食わせて事後分布がどのように変化していくかを図示してみた。事前分布としては \(\alpha=0.1, \beta=0.1\) のガンマ分布を使用。

データを増やしていくとなんとなくいいかんじに分布が収束していくことがわかる。こういう図をうまく見せるのって難しい。以下、Rスクリプト。

library(RColorBrewer)
x <- rpois(100,3)
lam <- seq(0,8,0.01)
hc=brewer.pal(11,"RdYlGn")
plot(lam,dgamma(lam,0.1,0.1),type="n",
     ylim=c(0,3),xlab="Lambda",ylab="Density",col="gray")
lines(lam,dgamma(lam,0.1,0.1),col="gray",lw=2)
i <- 1
for( n in c(seq(1,10,2),seq(20,100,20)) ){
  lines(lam,dgamma(lam,0.1+sum(x[1:n]),0.1+n),
        col=hc[i],lw=2)
  i=i+1
}
title("Posterior of Poisson distribution parameter with Gamma(0.1,0.1) prior")
lines(c(3,3),c(0,5),lw=2,lt=2,col="darkblue")
legend("topright",
       legend=c("Prior (Gamma(0.1,0.1))",
                paste("n =",c(seq(1,10,2),seq(20,100,20)))),
       lw=2,col=c("gray",hc))
dev2bitmap(file="PoissonPosterior.png",
           gaa=4,taa=4,width=9,height=6)
はてなブックマーク - 事後分布に収束していく様子をグラフ化してみる(ポアソン/ガンマ分布)
Pocket