Runjag报告说,对于一个显然存在收敛问题的链,psrf = 1.0047非常低:

> print(o, vars = "q_date2")
JAGS model summary statistics from 3000 samples (chains = 3; adapt+burnin = 1000):
Lower95 Median Upper95 Mean SD MCerr MC%ofSD SSeff AC.10 psrf
q_date2 -0.17611 -0.10467 0.0053844 -0.087376 0.063296 0.023726 37.5 7 0.022495 1.0047当我试图使用coda计算psrf时,得到的结果看起来要合理得多:
> gelman.diag(as.mcmc.list(o)[,'q_date2'], transform=FALSE, autoburnin=FALSE)
Potential scale reduction factors:
Point est. Upper C.I.
[1,] 3.54 7.94那么为什么伦贾格报告的psrf如此之低呢?这是跑步的问题,还是我做错了什么?
我在R3.1.0中使用当前版本的runjags (1.2.1-0)。
编辑:在创建摘要的过程中,我收到了警告--很抱歉之前没有提到它们:
Warning messages:
1: In autocorrs[x$stochastic] <- x$autocorr[4, ] :
number of items to replace is not a multiple of replacement length
2: In psrfs[x$stochastic] <- x$psrf$psrf[, 1] :
number of items to replace is not a multiple of replacement length发布于 2014-11-20 15:03:57
它似乎(从信息发送给我离线),psrf是正确的计算,但正在报告的顺序,因为一些信息是无法获得的一些半随机监测变量。这个事实,这不是被软件发现是一个错误,我将修复!
同时,您可以(a)忽略输出中列出的用于汇总()的psrf,而使用RJout$psrf (或您自己的代码),或者(b)删除导致问题的受监视变量(在本例中为M)。runjags的开发版本有更好的解决方案(在模型返回后计算概要统计数据和图表(重新计算)),并且应该在接下来的几个月内使用CRAN。
这也很好地提醒我们,手工检查跟踪图是MCMC分析的一个重要部分:)
https://stackoverflow.com/questions/27037950
复制相似问题