hierarchical-data - 检查复杂层次模型的收敛性 JAGS
问题描述
我估计了一个具有许多随机效应的复杂层次模型,但并不真正知道检查收敛的最佳方法是什么。我有来自数百个人的复杂纵向数据,并为每个人估计了很多参数。正因为如此,我有办法对许多跟踪图进行目视检查。或者我真的应该花一天时间浏览所有的跟踪图吗?检查收敛性的更好方法是什么?我是否必须为个人级别的每个参数计算 Gelman 和 Rubin's Rhat?我什么时候可以得出模型收敛的结论?当绝对所有的参数达到收敛?期待这一点是否明智?还是有“整体收敛”之类的东西 ? 当某些人级别的参数没有收敛时,这意味着什么?使用有意义吗autorun.jags
从R2jags
带有这种模型的包装中提取还是会永远运行?我知道,这些问题很多,但我只是不知道如何解决。
解决方案
我用于收敛的度量是使用 R 包中的 gelman.diag 函数的潜在比例缩减因子 (psrf)* coda
。
但是,尽管我也有成百上千的轨迹图,但我还是快速目视检查了所有轨迹图。如果您将它们放入 PNG 文件中,然后使用例如 IrfanView 快速浏览它们,它会非常快(如果您需要我对此进行扩展,请告诉我)。
Marc Kery(伟大的贝叶斯书籍的作者)的一个例子很好地描述了您应该检查跟踪图的原因:请参阅“永远不要盲目相信 Rhat 在贝叶斯分析中收敛”,这里我包含来自这封电子邮件的自我解释图像:
这与我使用 psrf 时的 Rhat 统计信息有关,但 psrf 很可能也受此影响……最好检查一下链。
*) Gelman, A. & Rubin, DB 使用多个序列的迭代模拟推断。统计。科学。7, 457–472 (1992)。
推荐阅读
- ios - 使用嵌套结构在 Swift 中解码深度嵌套的对象
- java - Java spring map无法推断类型变量R
- sql - SQL find unique foreign keys in child table
- c# - DataGridView 区分大小写搜索
- javascript - 在 javascript 中填充条件时未调用所需的函数(提交表单时)
- javascript - 将 Json 数组转换为 CSV
- dependency-injection - 2个实现相同接口的类
- javascript - 如何使用 IntlPhoneInput 插件删除电话号码
- excel - 如何将文本从一个文本框拖到用户窗体中的另一个文本框
- c# - 此代码给出此异常“System.IO.IOException:'该进程无法访问该文件,因为它正在被另一个进程使用。' "