MCMC 方法 - 燃烧样品?

机器算法验证 采样 马尔可夫链蒙特卡罗
2022-01-27 08:31:32

MCMC方法中,我一直在阅读有关burn-in时间或样本数量的信息"burn"这到底是什么,为什么需要它?

更新:

一旦MCMC稳定下来,它会保持稳定吗?时间的概念burn-in与混合时间的概念有何关系?

2个回答

老化旨在让马尔可夫链有时间达到其平衡分布,特别是如果它从一个糟糕的起点开始。要“烧入”链条,您只需丢弃第一个n开始收集点之前的样本。

这个想法是一个“坏”的起点可能会在平衡分布之前对平衡分布下实际上概率非常低的区域进行过度采样,然后再进入平衡分布。如果你把这些点扔掉,那么那些不太可能出现的点将是相当罕见的。

这个页面给出了一个很好的例子,但它也指出老化更像是一种黑客/艺术形式,而不是一种有原则的技术。从理论上讲,您可以只采样很长时间,或者找到一些方法来选择一个合适的起点。

编辑:混合时间是指链条接近其稳态所需的时间,但通常很难直接计算。如果您知道混合时间,您就会丢弃那么多样品,但在许多情况下,您不知道。因此,您选择了一个希望足够大的老化时间。

至于稳定性——这取决于。如果你的链已经收敛,那么……它已经收敛。然而,在某些情况下,链似乎已经收敛,但实际上只是在状态空间的一部分“闲逛”。例如,假设有几种模式,但每种模式与其他模式的联系很差。采样器可能需要很长时间才能穿过那个间隙,并且看起来链条会在它发生跳跃之前会聚。

有收敛的诊断,但他们中的许多人很难区分真正的收敛和伪收敛。Charles Geyer 在马尔可夫链蒙特卡洛手册中的章节 (#1)对所有事情都非常悲观,但要尽可能长时间地运行链。

Metropolis-Hastings 算法从后验分布中随机抽样。通常,初始样本并不完全有效,因为马尔可夫链尚未稳定到平稳分布。老化样本允许您丢弃这些尚未处于静止状态的初始样本。