Gibbs 采样器卡在本地模式

机器算法验证 马尔可夫链蒙特卡罗 混合分布 吉布斯
2022-04-10 15:38:12

我对统计非常陌生,并试图实现 Gibbs 采样器。但是,根据维基百科https://en.wikipedia.org/wiki/Gibbs_sampling和这个讨论线程http://metaoptimize.com/qa/questions/7831/disadvatage-of-gibbs-sampler,吉布斯采样是可能的陷入本地模式。在这种情况下,人们倾向于如何解决这个问题?

我试图在生物信息学的背景下对分布进行采样,其中联合分布难以分析计算。参考论文在这里http://bioinformatics.oxfordjournals.org/content/31/12/i97.long,虽然它可能太罗嗦了。

任何一般方向将不胜感激。在此处输入图像描述

2个回答

这当然是可能的。当变量高度相关时,通常会发生这种情况。

为简单起见,考虑一个两参数模型。因为 Gibbs 采样一次只改变一个变量,所以它只能在笛卡尔平面上垂直或水平移动。它将无法到达彼此成对角线的高后验概率区域。

您可以通过重新参数化模型以使后验大致为球形或通过联合更新相关参数块来解决此问题。有关如何重新参数化的示例,您可以采用回归模型并标准化协变量。这使得斜率不会对截距的拟合产生太大影响,反之亦然。如果没有标准化,数据可能远离原点,并且斜率的微小变化可能需要截距的巨大变化,以便回归线落在数据上。

MCMC 实施很困难且容易出错,因此您可能需要考虑使用 STAN 等工具。STAN 通过一种在精神上类似于 R 的公式语法的语言提供已经实现的最先进的 MCMC 方法。它与许多常见的科学计算语言有接口。(我不隶属于STAN——只是一个信徒。)

这是一个吉布斯采样卡住的简单案例:

想象(θ1,θ2)是两个二元正态的 50-50 混合,每个正态都有方差为 1 的独立分量。

第一个混合分量集中在(10,10). 第二个集中在(10,10).

![在此处输入图像描述

如果您处于左上角(绿色)模式,您将留在那里。如果你处于红色模式,你会留在那里。

每个分量都是二元分布中的局部模式。当您开始时,您会立即陷入一种模式或另一种模式 - 您可以轻松地在任何一种模式中移动,但不能在它们之间移动。

在这种情况下,可以使用多种策略。例如,有时将受影响的变量作为一个块进行采样是可行的。有时你可以整合一些变量,这可以减少甚至解决问题。有时您可能能够重新参数化(重写为(ψ1,ψ2)=(θ1+θ2,θ1θ2)将适用于 abobe 示例)。您可以添加一个变量(或多个变量),允许在以前无法通信的模式之间移动。还有许多其他策略;有些更适合特定种类的多种模式。

您也可能转向完全不同的方法,例如 Hamiltonian Monte Carlo。