MCMC; 我们能否确定我们有来自后部的“纯”和“足够大”的样本?如果我们不是,它怎么能工作?

机器算法验证 马尔可夫链蒙特卡罗
2022-03-12 09:03:55

参考此线程:您如何向外行解释马尔可夫链蒙特卡罗(MCMC)?.

我可以看到它是马尔可夫链和蒙特卡洛的组合:马尔可夫链是用后验作为不变限制分布创建的,然后蒙特卡洛绘制(依赖)是从限制分布(=我们的后验)。

假设(我知道我在这里简化)在步之后,我们处于极限分布 (*)。LΠ

马尔可夫链是一个随机变量序列,我得到一个序列,其中是随机变量,是限制 '我们希望从中采样的“随机变量”。 X1,X2,,XL,Π,Π,Π,ΠXiΠ

MCMC 从一个初始值开始,即是一个随机变量,所有质量都在那个值处。如果我对随机变量使用大写字母,对随机变量的实现使用小写字母,那么 MCMC 会给我一个序列 . 所以MCMC链的长度是L+n。X1x1x1,x2,x3,xL,π1,π2,π3,....πn

[[*注意:大写字母是随机变量(即一大堆结果),小是结果,即一个特定值。* ]]x

显然,只有属于我的“后验”,并且为了近似后验“好”,的值应该“足够大”。πin

如果我总结一下,那么我有一个长度为,只有与我的后验近似相关,并且应该足够大。x1,x2,x3,xL,π1,π2,π3,....πnN=L+nπ1,π2,,πnn

如果我在计算后验近似值时确实包含了一些(即在达到不变分布之前的实现),那么它将是“嘈杂的”。xi

我知道 MCMC 链的长度,但不知道,即我确定从限制分布中采样的步骤,我不能确定我没有包括噪声,我也不能确定,我的样本来自极限分布的大小,特别是,我不能确定它是否“足够大”。 N=L+nLn=NL

因此,据我了解,的这个值对于后验的近似质量(排除噪声和大样本)至关重要L

当我申请 MCMC 时,有什么方法可以找到L

(*) 我认为,一般来说,将取决于初始值Lx1

1个回答

TL博士;你不能估计因为因此,简化假设永远不可能真正成为可能。(在某些情况下可能是这样,但不是在 MCMC 的一般世界中)。但是,您可以决定什么会使早期偏差变小。LL=N


从本质上讲,您的问题归结为“我们如何估计老化时间?”。老化是因为马尔可夫链没有收敛而丢弃开始样本的行为。有许多 MCMC 诊断可以帮助您估计“老化”时间,您可以在此处查看它们的评论。

关于老化有两个流派;流行的方法是使用其中一个诊断来确定是什么,然后丢弃个样本,然后通过它的第二个学校,第一个个样本应该无关紧要,所以不要担心它们。我同意查理·盖尔对此的咆哮。LLL

现在,我转向您问题的更多技术细节。

您在问题中所做的一个简化假设是,最终(在步之后),采样器将从限制分布开始绘制。步之后的样本是纯抽奖,尽管是相关的。这是不真实的。严格来说,马尔可夫链永远不会在有限时间内真正收敛到极限分布。所以估计几乎没有意义。LLLL

提出这个问题的另一种方式是:什么是使得在步之后,马尔可夫链“足够接近”极限分布。这是大多数诊断试图回答的问题。越来越多的人同意上述诊断通常非常自由,并且可以在“收敛”之前诊断出它应该有的时间。是一篇论文,展示了诊断的一些弱点。LL

上面要求用户做的是不要担心,担心通常,用户对完整的后验分布不感兴趣,而是对特定数量感兴趣。通常这个量是后验的平均值,或者任何其他可以写成期望的函数。这就是 MCMC 的“蒙特卡洛”部分的用武之地,因为蒙特卡洛表示用求和来估计积分。因此,如果是您的马尔可夫链(请注意我是如何忽略的,因为),并且我们要估计后验均值(),那么 LNX1,X2,X3,,XNLLθ

θ¯N=1Ni=1NXi.

这个想法是,如果足够大,那么样本的初始偏差将是微不足道的。当然,如果起始值与极限分布的高概率空间相距甚远,用户可能会目不转睛地扔掉前几个样本。这与估计不同,因为它不是估计,而是对明显损坏的样本的有根据的无视。NL

应该有多大答案应该取决于我们想要估计的程度。如果我们想要一个很好的估计,那么我们想要更多的样本,如果一个好的估计就足够了,那么我们可以用一个更小的样本。这也正是标准统计问题中发生的情况。Nθ

我们量化估计的“优度”的方式是思考,“我们能说什么,蒙特卡洛误差?在合理的条件下,实际上存在马尔可夫链CLT 表示为对于任何初始分布(θ¯Nθ)N

N(θ¯Nθ)dNp(0,Σ),

其中θRpΣ是渐近协方差矩阵。这里的关键是任何初始分布的结果都是正确的。

什么时候Σ/N很小,我们知道估计器是好的。本文提出了这种停止的想法,我在这里的回答总结了他们的方法。他们论文中的结果也与过程的初始分布无关。