首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在runjags摘要中psrf值太低?

在runjags摘要中psrf值太低?
EN

Stack Overflow用户
提问于 2014-11-20 11:01:10
回答 1查看 308关注 0票数 0

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

代码语言:javascript
复制
> 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时,得到的结果看起来要合理得多:

代码语言:javascript
复制
> 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)。

编辑:在创建摘要的过程中,我收到了警告--很抱歉之前没有提到它们:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-20 15:03:57

它似乎(从信息发送给我离线),psrf是正确的计算,但正在报告的顺序,因为一些信息是无法获得的一些半随机监测变量。这个事实,这不是被软件发现是一个错误,我将修复!

同时,您可以(a)忽略输出中列出的用于汇总()的psrf,而使用RJout$psrf (或您自己的代码),或者(b)删除导致问题的受监视变量(在本例中为M)。runjags的开发版本有更好的解决方案(在模型返回后计算概要统计数据和图表(重新计算)),并且应该在接下来的几个月内使用CRAN。

这也很好地提醒我们,手工检查跟踪图是MCMC分析的一个重要部分:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27037950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档