複数のチェーン
トレースプロットは、マルコフ連鎖シミュレーションの品質を診断するために役立ちます。「良い」マルコフ連鎖は、チェーンの長さが増加するにつれて安定性を示し、繰り返しシミュレーション、つまり複数のチェーン全体で一貫性を持ちます。以下では、RJAGS を使用して4つの並列チェーンを実行し、トレースプロットを作成します。定義済みの sleep_model はワークスペースに用意されています。
この演習はコースの一部です
RJAGS によるベイズモデリング
演習の手順
jags.model()を使用してsleep_modelをコンパイルし、4つの並列チェーンを初期化します。出力をsleep_jags_multiという名前の jags オブジェクトに格納します。mとsの事後モデルから1,000サンプルの事後分布をシミュレートします。この mcmc.list をsleep_sim_multiに格納します。sleep_sim_multiのhead()を確認します。4つの並列チェーンを含む4つのリスト要素に注目しましょう。plot()を使用して、複数のチェーンのトレースプロットを作成します。密度プロットは非表示にします。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# COMPILE the model
sleep_jags_multi <- jags.model(textConnection(sleep_model), data = list(Y = sleep_study$diff_3), ___)
# SIMULATE the posterior
sleep_sim_multi <- coda.samples(model = ___, variable.names = c("m", "s"), n.iter = ___)
# Check out the head of sleep_sim_multi
# Construct trace plots of the m and s chains