2015年11月9日月曜日

JAGS, 離散型分析, Metropolis Algorithm, Gibbsサンプリング

Doing Bayesian Data Analysis の 第 8Inferring Two Binomial Proportions via Gibbs Sampling から。


本章のタイトルは「Gibbs サンプリングによる 2 つの二項分布の推定 」という感じ。この「つ」という点は、「ベイズの基礎:課題21-1 どちらの薬が効果的?」のように「つの比較」ということ。本書とはアプローチが違うが、「ベイズの基礎」の方も面白い。

θ1, θ2 の2つモデルの事前確率がともに beta(θ | 3, 3) で、観測データは試行回数が 7 で、θ17 、θ2 2(この 7, 2 は、コインの表の回数、完治した患者数、など)。

以下、JAGS 、グリッド(離散型分析)、Metropolis algorithmGibbs サンプリングで事後確率を算出した結果を取り上げる。今回のような単純な分析では、全ての同様の事後確率を得たが、あらゆる分析で同じになるとは限らない(その理由は割愛)。


JAGS


以下は、本書提供のスクリプト BernTwoJags.R の実行例で、Figure 8.6 に相当(サンプリングなので、結果が完全に一致しない)
本書では左のランダムウォークのプロット図のみ掲載。

M = 0.615, 0.386 は、それぞれ θと θ2 の平均値。この平均値の違いは、ランダムウォークの結果(「塊」)が、右下に偏っていることからも分かる。

右は θ1 - θ295%HDI で、この区間に 0 以下の値が含まれているので、つのモデルの違いは確信をもっては主張できない(「ベイズの基礎:サンプリング利用」でも同様な分析を行った)。


グリッド(離散型分析)

Figure 8.1 に相当する左図は、BernTwoGrid.R の実行例。左の列は 次元プロット、右は「等高線プロット」(contour plot)。

左右のどちらが分かりやすいかは、目的による。左は一見してイメージが掴みやすいが、詳細な検討には右が適している。

右の最下段の事後確率のプロットは、JAGS の右下に偏ったランダムウォークと同じ偏り。また、太い線は 95%HDI を表す。


Metropolis Algorithm

Figure 8.3 に相当する BernTwoMetropolis.R の実行例が以下のプロット。
本書では左のランダムウォークのプロット図のみ掲載。

JAGS では θと θ2 の平均値は 0.615, 0.386 だったが、ここでは 0.605, 0.392 とほぼ一致する値。右のプロットで「塗りつぶされた点」が 95%HDI


Gibbs サンプリング

左は Figure 8.5 で、Gibbs サンプリングのランダムウォークの結果(このスクリプトは未提供のため、左図は本書から引用)。

他のランダムウォークとの特徴的な違いは「水平、垂直」移動。

本書には、Gibbs サンプリングの長所や短所についてあるが、ここでは割愛。実習等で取り上げられた場合に詳述する予定。



事前確率の確認

JAGS のスクリプトで、事前確率を視覚的に確認する方法は、以下のように「データ定義をコメントアウト」するだけ(「#,」は「カンマをコメント」の意味)。

dataList = list(
    N1 = 7 ,
    #y1 = c( 1,1,1,1,1,0,0 ) ,
    N2 = 7 #,
    #y2 = c( 1,1,0,0,0,0,0 )
)

次は BernTwoJagsPriorOnly.R の実行例(Figure 8.7, Figure 8.8 に相当)。
平均値がともに 0.5 で、θ1 - θ2 の 95%HDI の区間は [ -0.516, 0.512 ] で、つが同じ分布であることを示す。


実習8.1,4 "Hot Hand"は存在するか?」に続く。

0 件のコメント:

コメントを投稿