为什么细化在贝叶斯推理中起作用?

机器算法验证 贝叶斯 模拟 蒙特卡洛 马尔科夫过程 后部
2022-01-29 03:17:16

在贝叶斯推理中,需要根据先验分布和数据的似然性来确定参数的后验分布。由于这种计算可能无法进行分析,因此可能需要模拟方法。

在 MCMC(马尔可夫链蒙特卡罗)算法中,会生成一条马尔可夫链,其极限分布是期望的后验分布。在实践中,可能很难评估是否已经实现了收敛。当您在有限步停止马尔可夫链时,您没有独立的实现,因为每个生成的点都依赖于前面的点。问题是,随着链条的推进,这种依赖会越来越低,在无穷远处,你会从后面获得独立的实现。

因此,让我们假设我们已经在有限步停止了马尔可夫链,并且获得的样本还具有显着的自相关性。我们没有来自后验分布的独立抽取。细化包括在每个步从样本中挑选分离的点。当我们从马尔可夫链中分离点时,依赖性变得更小,我们实现了某种独立样本。但是我对这个过程的不理解是,虽然我们有一个(大约)独立的样本,但我们还没有从后验分布进行模拟;否则整个样本将具有当前的独立性。k

所以在我看来,细化提供了更多的独立性,这对于通过蒙特卡洛模拟和大数定律来近似统计数据肯定是必要的。但它不会加速与后验分布的相遇。至少,我不知道关于后一个事实的任何数学证据。所以,实际上,我们一无所获(除了更少的存储和内存需求)。对此问题的任何见解将不胜感激。

2个回答

细化与贝叶斯推理无关,而是与基于计算机的伪随机模拟有关。

通过 MCMC 算法生成马尔可夫链中进行模拟。然而,这样做的代价是在模拟之间产生相关性。(关于这个问题,这种相关性甚至在中渐近地持续存在。)通过对马尔可夫链进行二次抽样或细化,这种相关性通常(但不总是)随着细化间隔的增加而降低。(θt)π()t(θt)

无关,因为它是模拟马尔可夫链的后处理。只有当链条(大约)静止时,细化才有意义。去除马尔可夫链的早期值以消除起始值的影响称为燃烧或预热。π()(θt)

此外请注意,在考虑后验期望的近似值时(通过遍历定理),细化很少有帮助 因为使用整个(未细化的)链通常会减少近似值的方差。如果特定需要需要来自的几乎 iid 样本,细化可能会有吸引力,但除了可以实施更新的特定情况外,不能保证样本将是“i”或“id”......并行独立运行多个链的替代解决方案会产生独立的样本,但很少有保证点完全从分布。

1Tt=Th(θt)h(θ(π(θ)dθ
π()π()

细化并没有真正起作用。相反,如果不进行细化,您最终会得到更多样本,因此得到更精确的估计(Link and Eaton,2012)。除了Xi'an的精彩回答之外,现在很少推荐瘦身,因为它没有太大帮助。如果您想通过存储更少的样本来减少磁盘或内存的使用,您可以使用细化,但这似乎是最大的优势。

Link, WA 和 Eaton, MJ (2012)。关于 MCMC 中链条的细化生态与进化方法,3 (1), 112-115。