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