岡本@日本女子大学心理学科です。 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 となります。 横浜市在住 岡本安晴
ここは心理学研究の基礎メーリングリストに投稿された過去の記事を掲載しているページです。