我无法理解 MCMC 方法在哪种情况下真正有用。我正在浏览 Kruschke 书中“做贝叶斯数据分析:R 和 BUGS 教程”中的一个玩具示例。
到目前为止我所理解的是,我们需要一个与成比例的目标分布,以便获得的样本。然而,在我看来,一旦我们有了,我们只需要对分布进行归一化即可得到后验,并且可以很容易地从数值上找到归一化因子。那么在哪些情况下这是不可能的呢?
我无法理解 MCMC 方法在哪种情况下真正有用。我正在浏览 Kruschke 书中“做贝叶斯数据分析:R 和 BUGS 教程”中的一个玩具示例。
到目前为止我所理解的是,我们需要一个与成比例的目标分布,以便获得的样本。然而,在我看来,一旦我们有了,我们只需要对分布进行归一化即可得到后验,并且可以很容易地从数值上找到归一化因子。那么在哪些情况下这是不可能的呢?
蒙特卡罗积分是数值积分的一种形式,它比例如通过用多项式逼近被积函数的数值积分更有效。在高维情况下尤其如此,简单的数值积分技术需要大量的函数评估。为了计算归一化常数,我们可以使用重要性采样,
其中和是从中采样的。请注意,我们只需要评估采样点的联合分布。对于正确的,这个估计器在需要很少样本的意义上是非常有效的。在实践中,选择合适的可能很困难,但这是 MCMC 可以提供帮助的地方!退火重要性抽样(Neal, 1998)将 MCMC 与重要性抽样相结合。
MCMC 有用的另一个原因是:我们通常甚至对的后验密度不感兴趣,而是对汇总统计和期望感兴趣,例如,
知道通常并不意味着我们可以求解这个积分,但样本是一种非常方便的估计方法。
最后,能够评估是一些 MCMC 方法的要求,但不是所有方法(例如,Murray 等人,2006 年)。
当给定一个先验和似然时,它们要么不能以封闭形式计算,要么后验分布不是标准类型,直接从该目标模拟到后验分布的蒙特卡洛近似是不可行的。一个典型的例子是具有非共轭先验的分层模型,例如在BUGS 书中找到的那些。
的维数增加到超过几个单位时,间接模拟方法(例如接受-拒绝、均匀比率或重要性采样技术)通常会遇到数值和精度困难。
相反,马尔可夫链蒙特卡罗方法更适用于大维度,因为它们可以在局部基础上探索后验分布,即在当前值的邻域中,以及在较少数量的组件上,即在子空间上。例如,Gibbs 采样器验证了一次从一维目标进行模拟的概念,即与相关的完整条件分布,从长远来看足以从真实的后验中实现模拟。
马尔可夫链蒙特卡洛方法也具有一定程度的普遍性,因为Metropolis-Hastings 算法等算法正式可用于任何可以计算为常数的
在不能轻易计算的情况下,存在替代方案,或者通过将该分布完成为在更大空间上的可管理分布,如或通过非马尔可夫方法,如ABC。
MCMC 方法为贝叶斯方法提供了更广泛的应用范围,正如 Alan Gelfand 和 Adrian Smith 在 1990 年推广该方法后的热潮所说明的那样。