在获取 MCMC 样本以对特定参数进行推断时,应该针对的有效样本的最小数量有哪些好的指导?
而且,随着模型变得或多或少复杂,这个建议会改变吗?
在获取 MCMC 样本以对特定参数进行推断时,应该针对的有效样本的最小数量有哪些好的指导?
而且,随着模型变得或多或少复杂,这个建议会改变吗?
您提出的问题与“收敛诊断”不同。假设您已经运行了所有收敛诊断(选择您最喜欢的),现在准备从后验开始采样。
在有效样本量(ESS)方面有两种选择,您可以选择单变量 ESS 或多变量 ESS。单变量 ESS 将分别为每个参数提供有效的样本量,并且保守的方法要求您选择最小的估计值。此方法忽略跨组件的所有互相关。这可能是大多数人已经使用了一段时间
最近,引入了 ESS 的多元定义。多元 ESS 返回一个数字,表示您要估计的数量的有效样本量;它通过考虑过程中的所有互相关来做到这一点。就个人而言,我更喜欢多元 ESS。假设您对-后验分布均值向量。mESS定义如下
mESS可以通过使用样本协方差矩阵来估计和批次均值协方差矩阵来估计. 这已multiESS
在 R 包mcmcse的函数中编码。
这篇最近的论文提供了所需有效样本数量的理论上有效的下限。在模拟之前,您需要确定
通过这三个数量,您将知道您需要多少有效样品。论文要求第一次停止模拟
在哪里是伽马函数。这个下限可以通过minESS
在 R 包mcmcse中使用来计算。
所以现在假设你有后面的参数,你想要对您的估计有信心,并且您希望蒙特卡洛误差为 5%() 的后验误差,你需要
> minESS(p = 20, alpha = .05, eps = .05)
[1] 8716
这适用于任何问题(在规律性条件下)。这种方法适应不同问题的方式是缓慢混合马尔可夫链需要更长的时间才能达到下限,因为 mESS 会更小。multiESS
因此,现在您可以使用您的马尔可夫链是否已达到该界限来检查几次;如果不去拿更多的样品。
收敛取决于几件事:参数的数量、模型本身、采样算法、数据......
我建议避免任何一般规则,并使用一些收敛诊断工具来检测每个特定示例中适当的老化和细化迭代次数。另请参阅http://www.johnmyleswhite.com/notebook/2010/08/29/mcmc-diagnostics-in-r-with-the-coda-package/
,http://users.stat.umn.edu/~geyer/mcmc/diag.html
。