如何测试bug模型的收敛性?

时间:2016-01-28 10:18:15

标签: bayesian winbugs convergence r2winbugs

我想用命令plot()解释bug模型中的收敛。输出的示例如下图enter image description here

我不确定我能够很好地阅读此输出,感谢大家:)

2 个答案:

答案 0 :(得分:1)

不幸的是,它看起来并不像你正在显示的数字那样确认收敛(编辑:至少有一些信息,见下文)。图的左侧只是一个毛虫图,它有效地显示了每个参数的95%的分布间隔。

评估融合是一个更加微妙的过程,因为有多种方法可以决定您的模型是否融合。您需要确定的是,您的模型已经适当地探索了每个参数的参数空间(通过跟踪图,traceplot库中的coda函数),链变异之间和之内(gelman-rubin)诊断,gelman.diag库中的coda以及链中的自动关联(autocorr.plot中的coda)。如果您的模型已融合,其他人已建议评估其他各种措施,并查看coda包的其余部分将说明这一点。

我强烈建议您通过他们user manual(链接到pdf)中的WINBUGS教程,它有一个部分可以解决检查模型收敛问题。您希望确保跟踪图混合良好(查看教程以了解这意味着什么),您的Gelman Rubin诊断是< 1.10对于每个参数(一般规则),并且您的链不太相关(这将减少链中的有效样本大小)。

祝你好运,并且对这个主题有所了解,如果你对贝叶斯推理感兴趣,那将对你有很大的帮助!

修改

正如@jacobsocolar指出的那样,我完全错过了,这个问题中可用的图表至少有一些信息表明模型确实收敛了。我没有在左图的右侧看到R-hat图。如果模型确实收敛,则每个参数的这些值应小于1.1。注意上面的情节确实暗示了模型的收敛,但是如果在图上的1.1标记处有一条垂直线,那么这将更容易看到,而没有。

答案 1 :(得分:0)

你的输出数字确实足以(开始)评估收敛,反对M_Fidino的回答。在毛虫图旁边,有一个'r-hat'值的图表。这些是Gelman-Rubin统计量 - 链间方差与链内方差之比,它们都是< 1.10 这是一个令人鼓舞的第一个迹象,即模型已经收敛,假设初始值被选择为过度分散。 否则,我同意M_Fidino答案中的所有内容。