检查复杂层次模型 JAGS 中的收敛性

checking for convergence in complex hierarchical models JAGS

我估计了一个具有许多随机效应的复杂层次模型,但我真的不知道检查收敛性的最佳方法是什么。我有来自几百个人的复杂纵向数据,并为每个人估计了相当多的参数。正因为如此,我可以通过许多跟踪图进行目视检查。或者我真的应该花一天时间浏览所有的轨迹图吗?检查收敛性的更好方法是什么?我是否必须为个人层面的每个参数计算 Gelman 和 Rubin's Rhat?我什么时候可以得出模型收敛的结论?当绝对所有数以千计的参数达到收敛?期望这样是否明智?还是有什么“整体收敛”之类的东西?还有一些人级别的参数没有收敛是什么意思?将 R2jags 包中的 autorun.jags 与这样的模型一起使用是否有意义,还是永远只是 运行?我知道,这些问题很多,但我只是不知道如何解决。

我用于收敛的度量是潜在的比例缩减因子 (psrf)*,使用 R 包 coda 中的 gelman.diag 函数 coda

但是,尽管我也有 tens/hundreds 个,但我也在快速地目视检查所有的跟踪图。如果将它们放入 PNG 文件中,然后使用例如快速浏览它们,速度会非常快。 IrfanView(如果您需要我对此进行扩展,请告诉我)。

Marc Kery(伟大的贝叶斯书籍的作者)的一个例子很好地描述了您应该检查跟踪图的原因:请参阅 "Never blindly trust Rhat for convergence in a Bayesian analysis",这里我附上了来自这封电子邮件的不言自明的图片:

这与我使用 psrf 时的 Rhat 统计数据有关,但 psrf 很可能也受此影响......最好检查链。


*) Gelman, A. & Rubin, D. B. 使用多个序列的迭代模拟推断。状态。科学。 7, 457–472 (1992)。