我有我的锯齿输出对象。为了了解 MCMC 尾链如何工作,我尝试查看每个 MCMC 链中的第一次迭代是否等于提供的初始值。它是不同的!初始值不存在!这是一个错误吗?
请注意,我为此指定了burnin = 0。
我如何跑锯齿:
inits = function () { list(
alpha = rnorm(no_crit, 0, 10000),
beta = rnorm(no_crit, 0, 10000)
,eps_tau = 7.9
,gamma_tau = 3.1
,delta_tau = 213
)
}
params = c("alpha", "beta", "eps_tau", "gamma_tau", "delta_tau")
ni <- 5000
nt <- 8
nb <- 0
nc <- 3
out <- R2jags::jags(win.data, inits, params, "model.txt",
nc, ni, nb, nt,
working.directory = paste(getwd(), "/tmp_bugs/", sep = "")
)
jags 计算完成后,我从每个 MCMC 尾链中转储了第一次迭代:
> mm = as.mcmc(out)
> mm[1, c("delta_tau", "eps_tau")]
> mm[1, c("delta_tau", "eps_tau")]
[[1]]
delta_tau eps_tau
4426.7716020 0.4825011
[[2]]
delta_tau eps_tau
4811.3174529 0.5240721
[[3]]
delta_tau eps_tau
4406.2672016 0.5351576
如您所见,所有这些链中的第一次迭代与我提供的初始值不同(eps_tau = 7.9,delta_tau = 213)。