再現性
マルコフ連鎖の診断を完了(そして合格!)したので、RJAGS シミュレーションを仕上げる準備が整いました。ここで重要なのが再現性です。シミュレーション結果を再現可能にするには、RJAGS の乱数生成器にシードを設定する必要があります。これは基本的な R の方法とは異なります。set.seed() を使う代わりに、モデルをコンパイルする際に inits = list(.RNG.name = "base::Wichmann-Hill", .RNG.seed = ___) で開始シードを指定します。
この演習はコースの一部です
RJAGS によるベイズモデリング
演習の手順
提供されているコードを何度か実行してみましょう。実行するたびに
summary()の統計値が変わることを確認してください。結果を再現可能にするため、
jags.model()に乱数生成器のinitsを指定しましょう。開始シードとして 1989 を設定してください。新しいコードを何度か実行してみましょう。今度は
summary()の統計値が変わらないことを確認してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# COMPILE the model
sleep_jags <- jags.model(textConnection(sleep_model), data = list(Y = sleep_study$diff_3))
# SIMULATE the posterior
sleep_sim <- coda.samples(model = sleep_jags, variable.names = c("m", "s"), n.iter = 10000)
# Summarize the m and s chains of sleep_sim
summary(sleep_sim)