多条链
"轨迹图"(Trace plots)用于诊断马尔可夫链模拟的质量。一个"良好"的马尔可夫链会在链长度增加时表现出稳定性,并在重复模拟(即使用多条链)之间具有一致性。您将使用 RJAGS 运行 4 条并行链并绘制其轨迹图。已定义的 sleep_model 已在您的工作区中。
本练习是课程的一部分
使用 RJAGS 的贝叶斯建模
练习说明
使用
jags.model()来编译(COMPILE)sleep_model并初始化 4 条并行链。将输出保存为名为sleep_jags_multi的 jags 对象。从
m和s的后验模型中模拟(SIMULATE)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