始める無料で始める

複数のチェーン

トレースプロットは、マルコフ連鎖シミュレーションの品質を診断するために役立ちます。「良い」マルコフ連鎖は、チェーンの長さが増加するにつれて安定性を示し、繰り返しシミュレーション、つまり複数のチェーン全体で一貫性を持ちます。以下では、RJAGS を使用して4つの並列チェーンを実行し、トレースプロットを作成します。定義済みの sleep_model はワークスペースに用意されています。

この演習はコースの一部です

RJAGS によるベイズモデリング

コースを見る

演習の手順

  • jags.model() を使用して sleep_modelコンパイルし、4つの並列チェーンを初期化します。出力を sleep_jags_multi という名前の jags オブジェクトに格納します。

  • ms の事後モデルから1,000サンプルの事後分布をシミュレートします。この mcmc.listsleep_sim_multi に格納します。

  • sleep_sim_multihead() を確認します。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
コードを編集して実行