使用马尔可夫链蒙特卡罗(MCMC)方法进行不确定性量化(UQ)是贝叶斯推理中的一种强大方法。然而,在某些情况下,MCMC可能不是最佳选择或可能失败。以下是一个示例,说明了由于多模态和混合不良导致MCMC在不确定性量化方面遇到困难的情况。

示例:MCMC在多模态分布中遇到困难

考虑一个贝叶斯推理问题,其中后验分布是高度多模态的。如果MCMC采样器在模态之间混合不良,则可能给出误导性的结果。

问题设置

我们将后验分布定义为两个高斯分布的混合:

$$ n(x)=0.5 \cdot N (-3.1)+0.5 \cdot N (3.1) $$

该分布有两个明显分离的峰,使得某些MCMC算法难以有效地探索这两个模态。

🧠Python实现

我们将使用Metropolis-Hastings算法,该算法在这种情况下可能会遇到困难。

https://gist.github.com/viadean/b91a1f32ae352cc04322980c37968ca9

Figure_9.png

此情况下MCMC的问题

  1. 混合不良:如果提议分布太窄,采样器会卡在一个模态中,很少跳到另一个模态。
  2. 模态跳跃困难:如果模态相距太远,标准的Metropolis-Hastings可能需要很长时间才能发现并在它们之间切换。
  3. 采样偏差:如果链从一个模态附近开始,它可能会不成比例地从该模态采样,低估真实的不确定性。

更好的方法

为了改善这种情况下的不确定性量化,可以: