[fpr 3597] Gibbs samplingの簡単なプログラム例

岡本安晴


 岡本@日本女子大学心理学科です。

J. K. Kruschke (2011). Doing Bayesian Data Analysis: A tutorial with R and
BUGS
の第8章にギブズサンプリングの説明がありますが、C++でプログラムを書いてみま
した。
基本的な部分は
       for (int t = 1; t <= NSamples; t++){
              theta1[t] = rn.beta( z1 + a1, N1 - z1 + b1 );
              theta2[t] = rn.beta( z2 + a2, N2 - z2 + b2 );
              thetaDiff[t] = theta1[t] - theta2[t];
       }
と簡単なものです。これをベースにサンプリング経過の表示と事後分布のヒストグラ
ムを
表示するプログラムを作成して
http://y-okamoto-psy1949.la.coocan.jp/VCpp/SimpleGibbsSampling/
にあげました。このプログラムでは事後分布の平均値が
0.230
になっていますが、KruschkeのRによる計算では
0.232
です。
 理論的には
B(8, 5) - B(5, 8) の平均=3/13≒0.230769
となります。

横浜市在住
岡本安晴





スレッド表示 著者別表示 日付順表示 トップページ

ここは心理学研究の基礎メーリングリストに投稿された過去の記事を掲載しているページです。