MCMC如何帮助贝叶斯推理?

时间:2018-12-28 22:16:33

标签: statistics bayesian montecarlo markov-chains mcmc

文献报道,MCMC中的都市喧闹算法是上个世纪开发的最重要的算法之一,并且具有革命性。文献还说,正是MCMC的发展使贝叶斯统计重生。

我了解MCMC的作用-它提供了一种从任何复杂概率分布中提取样本的有效方法。

我还知道什么是贝叶斯推理-它是计算参数的全部后验分布的过程。

我很难在这里连接点: MCMC在贝叶斯推理过程中的哪一步起作用?为什么MCMC如此重要,以至于人们说是MCMC使贝叶斯统计重生?

2 个答案:

答案 0 :(得分:1)

您可能想在StatsExchange上问类似的问题。但是,这是尝试获得高层“建立直觉”的答案(免责声明:我是计算机科学家而不是统计学家。请前往StatsExchange进行更正式的讨论)

>

贝叶斯推断:

在最基本的意义上,我们遵循贝叶斯规则:p(Θ| y)= p(y |Θ)p(Θ)/ p(y)。在这里,p(Θ| y)被称为“后验”,这就是您要计算的。 p(y |Θ)被称为“数据似然性”,通常由您的模型或数据的“生成描述” 给出。 p(Θ)被称为“先验”,它会在观察数据之前捕获您对参数合理值的信念。 p(y)称为“边际似然”,使用总概率定律可以表示为∫p(y |Θ)p(Θ)dΘ。看起来确实很整洁,但实际上p(y)对于解析分析和高维计算(例如,当Θ具有许多维时)通常是难以处理的,数值积分不精确且在计算上难以处理。在某些情况下,问题的共轭结构允许您进行分析计算,但是在许多有用的模型中,这根本是不可能的。因此,我们转向逼近后验。

有两种方法(我知道的 )可以近似地求后验:蒙特卡洛变异推论。既然您询问了MCMC,我就会坚持下去。

蒙特卡洛(和蒙特卡洛马尔可夫链):

统计学中的许多问题涉及在概率分布下对函数的期望。根据大数法则,可以通过Monte Carlo估计器有效地近似期望。因此,如果我们可以从分布中抽取样本(即使我们不知道分布本身),那么我们也可以计算所期望的蒙特卡洛估计。关键是我们不需要为分布指定表达式:如果我们只有样本,那么我们可以计算出我们感兴趣的期望值。但是有一个陷阱……如何绘制样本? / p>

已经有很多工作开发了从未知分布中提取样本的方法。这些包括“拒绝”,“重要性”和“切片”采样。这些都是伟大的创新,并且在许多应用中很有用,但是它们都因无法很好地缩放到高尺寸而遭受痛苦。例如,拒绝抽样从已知的“提案”分布中抽取样本,然后根据需要评估似然函数和提议函数的概率接受或拒绝该样本。这在1维上很棒,但是随着维数的增长,给定样本被拒绝的概率质量急剧增加。

Markov Chain蒙特卡洛(Monte Carlo)是一项创新,具有一些非常出色的理论保证。关键思想是不要从提案分布中随机抽取样本,而要使用已知的样本(希望该样本位于高概率质量的区域中),然后在提案分布的抽取下进行小的随机步骤。理想情况下,如果第一次抽奖处于高概率质量区域,那么第二次抽奖也很可能被接受。因此,您最终接受了更多的样本,并且没有浪费时间来抽取要拒绝的样本。令人惊奇的是,如果您将马尔可夫链运行了足够长的时间(即无限远),并且在特定条件下(链必须是有限的,非周期性的,不可约的和遍历的)运行的,则样本 将从模型的真实后验。棒极了! MCMC技术是绘制依赖的样本,因此它可以缩放到比以前的方法更高的维度,但是在正确的条件下,即使样本是依赖的,它们就像是从所需的IID抽取一样分布(贝叶斯推断中的后验)。

一起解决(并希望回答您的问题):

MCMC可以看作是启用贝叶斯推理的工具(就像从共轭结构进行分析计算一样,变分推理和蒙特卡洛是替代方法)。除了分析解决方案之外,所有其他工具都近似真实的后验。然后,我们的目标是使近似值尽可能地好,并使其尽可能便宜(在计算成本和计算一堆杂乱代数的成本上)。过去的采样方法无法扩展到高维度(这是任何现实世界中的典型问题),因此贝叶斯推理在计算上变得非常昂贵且在许多情况下不切实际。但是,MCMC开启了一种新方法的大门,该方法可以有效地从高维后验中提取样本,并为此提供良好的理论保证,并且(相对)容易且计算便宜。

值得一提的是,Metropolis本身存在一些问题:它在高度相关的潜在参数空间中苦苦挣扎,它需要用户指定的投标分布,并且样本之间的相关性很高,导致结果有偏差。因此,已经提出了更现代的,有时更有用的MCMC工具来尝试解决此问题。有关最新技术,请参见“汉密尔顿蒙特卡洛”和“禁止掉头采样器”。尽管如此,Metropolis是一项巨大的创新,突然使现实世界中的问题在计算上变得易于处理。

最后一个注意事项:有关这些主题的很好的概述,请参见this discussion by MacKay

答案 1 :(得分:1)

这篇文章https://stats.stackexchange.com/a/344360/137466完全清除了我关于MCMC采样如何帮助解决贝叶斯推理的问题。特别是帖子中的以下部分是我错过的关键概念:

  

马尔可夫链具有stationary distribution   如果您通过它运行,它将保留自身的分布   连锁,链条。在某些广泛的假设下(例如,   不可约的,非周期性的),固定分布也将是   限制马尔可夫链的分布,因此无论如何   您选择起始值,这将是   当您运行链条的时间越来越长时,输出会收敛。它   事实证明可以设计一个带有   平稳分布等于后验分布,甚至   尽管我们不确切知道该分布是什么。这就对了   可以设计一个具有$ \ pi(\ theta |   \ mathbb {x})$作为其固定极限分布,即使我们   知道是$ \ pi(\ theta | \ mathbb {x})\ propto L_ \ mathbb {x}(\ theta)   \ pi(\ theta)$。有多种方法可以设计这种马尔可夫模型   链,这些不同的设计构成了可用的MCMC算法   用于根据后验分布生成值。

     

一旦我们设计了这样的MCMC方法,我们就会知道   输入任意的起始值$ \ theta _ {(0)} $和   输出的分布将收敛到后验   分布(因为这是   连锁,链条)。因此,我们可以从中提取(非独立)样本   通过任意起始值开始进行后验分布,   将其输入到MCMC算法中,等待链收敛   接近其固定分布,然后取下   输出作为我们的抽奖。