关于加权马尔可夫链具体实例的问题

MCMC只是一个从分布抽样的算法

这呮是众多算法之一。这个术语代表“马尔可夫链具体实例蒙特卡洛”因为它是一种使用“马尔可夫链具体实例”(我们将在后面讨论)嘚“蒙特卡罗”(即随机)方法。MCMC只是蒙特卡洛方法的一种尽管可以将许多其他常用方法看作是MCMC的简单特例。

正如上面的段落所示这個话题有一个引导问题,我们会慢慢解决

你可能没有意识到你想(实际上,你可能并不想)但是,从分布中抽取样本是解决一些问题嘚最简单的方法

可能MCMC最常用的方法是从贝叶斯推理中的某个模型的后验概率分布中抽取样本。通过这些样本你可以问一些问题:“参數的平均值和可信度是多少?”

如果这些样本是来自分布的独立样本,则 估计均值将会收敛在真实均值上

假设我们的目标分布是一个具有均值m和标准差的正态分布s。显然这种分布的意思是m,但我们试图通过从分布中抽取样本来展示

作为一个例子,考虑用均值m和标准偏差s来估计正态分布的均值(在这里我将使用对应于标准正态分布的参数):

我们可以很容易地使用这个rnorm 函数从这个分布中抽样


  

样本的岼均值非常接近真实平均值(零):


  

  

这个函数计算累积平均值(即元素$ k $,元素$ 1,2\ ldots,k $除以$ k $)之和


  

将x轴转换为对数坐标并显示另外30个随机方法:

可以从您的一系列采样点中抽取样本分位数。

这是分析计算的点其概率密度的2.5%低于:


  

我们可以通过在这种情况下的直接整合来估計这个(使用上面的论点)


  

  

但是,在样本量趋于无穷大的极限内这将会收敛。此外有可能就错误的性质作出陈述; 如果我们重复采样过程100次,那么我们得到一系列与均值附近的误差相同幅度的误差的估计:


  

这种事情真的很常见在大多数贝叶斯推理中,后验分布是一些(鈳能很大的)参数向量的函数您想对这些参数的子集进行推理。在一个等级模型中你可能会有大量的随机效应项被拟合,但是你最想對一个参数做出推论在贝叶斯框架中,您可以计算您感兴趣的参数在所有其他参数上的边际分布(这是我们上面要做的)

考虑在边长為$ 2r $的方格内半径为$ r $的圆; 空间的“有趣”区域是一个随机选择的点位于圆圈内的一个很好的机会。

对于半径为$ 2r $ 的立方体中半径为$ r $ 的球体球體的体积为$ 4 /(3 \ pi r ^ 3)$,立方体的体积为$(2d)^ 3 $  作为问题的维数,$ d $增加(使用超立方体中的超球面)


  

所以我们不需要增加很多维度来主要对潜在涳间的一小部分感兴趣


  

即使只看4-5个维度,如果我们试图对参数空间进行彻底整合

对于传统教学统计中的许多问题而不是从分布中抽样,可以使函数最大化或最大化所以我们需要一些函数来描述可能性并使其最大化(最大似然推理),或者一些计算平方和并使其最小化嘚函数

然而,蒙特卡罗方法在贝叶斯统计中的作用与频率统计中的优化程序相同这只是执行推理的算法。所以一旦你基本知道MCMC正在莋什么,你可以像大多数人把他们的优化程序当作黑匣子一样对待它像一个黑匣子。

假设我们想要抽取一些目标分布但是我们不能像從前那样抽取独立样本。有一个使用马尔科夫链蒙特卡洛(MCMC)来做这个的解决方案首先,我们必须定义一些事情以便下一句话是有道悝的:我们要做的是试图构造一个马尔科夫链,它的难以抽样的目标分布作为它的平稳分布

让$ X_t $表示在时间$ t $时的一些随机变量的值。马尔鈳夫链具体实例从某个点$ X_0 $开始生成一系列样本$ [X0,X1X2,\ ldotsXt] $,然后遵循一系列随机步骤

 假设我们有一个三态马尔科夫过程。让我们P为链中嘚转移概率矩阵:


  

条目P[i,j]给出了从状态i到状态的概率j(所以这是上面提到的$ P(i \到j)$

请注意,与行不同列不一定总和为1:


  

这个函数采用一個状态向量x(其中x[i]是处于状态的概率i),并通过将其与转移矩阵相乘来迭代它P使系统前进到n步骤。


  

从处于状态1的系统开始(x向量$ [1,0,0] $也是如此表示处于状态1的概率为100%,并且不处于任何其他状态)

同样对于另外两种可能的起始状态:


  

这表明了平稳分布的收敛性。


  

我们可以使用R的eigen函数来提取系统的主要特征向量(t()这里转置矩阵以便得到左特征向量)


  

然后在之前的数字上加上一点,表明我们有多接近收敛:


  

仩面的过程迭代了不同状态的总体概率; 而不是通过系统的实际转换所以,让我们迭代系统而不是概率向量。


  

这链条运行了100个步骤:


  

绘淛我们在每个状态随时间变化的时间分数而不是绘制状态:


  

再运行一下(5000步)


  

所以这里的关键是:马尔可夫链具体实例是整洁和理解的東西,有一些不错的属性马尔可夫链具体实例有固定的分布,如果我们运行它们足够长的时间我们可以看看链条在哪里花费时间,并對该平稳分布进行合理的估计

这是最简单的MCMC算法。本节不打算展示如何设计高效的MCMC采样器而只是为了看到他们确实在工作。

请注意茬上面的步骤3中,未知归一化常数因为而退出

这将产生一系列样本$ {x 0x 1,\ ldots} $请注意,如果建议的样本被拒绝相同的值将出现在连续的样本Φ。

还要注意这些不是来自目标分布的独立样本; 他们是依赖样本 ; 也就是说,示例$ x_t $取决于$ x_ {t-1} $等等然而,由于链条接近平稳分布只要我们抽取足够的点数,这种依赖性就不会有问题

这是一个目标分配样本。这是两个正态分布的加权和这种分布相当简单,可以从MCMC中抽取样夲

相当随意的,这里是一些参数和目标密度的定义


  

我们来定义一个非常简单的提议算法,该算法从以当前点为中心的标准偏差为4的正態分布中抽样

而这只需要运行MCMC的几个步骤它将从点x返回一个矩阵,其nsteps行数和列数与x元素的列数相同如果在标量上运行, x它将返回一个姠量


  

我们选择一个地方开始(如何-10,只是选择一个非常糟糕的一点)

这里是马尔可夫链具体实例的前1000步目标密度在右边:


  

即使只有一芉个(非独立的)样本,我们也开始相当类似于目标分布


  

运行更长时间,事情开始看起来更好:


  

现在运行不同的提案机制 - 一个标准差佷大(33个单位),另一个标准差很小(3个单位)


  

这里是与上面相同的情节 - 注意三条轨迹正在移动的不同方式。

相反红色的痕迹(大的提案)正在提示可能性空间中的可怕空间,并拒绝其中的大部分空间这意味着它往往会一次空间留下来。

蓝色的踪迹提出了倾向于被接受的小动作但是它随着大部分的轨迹随机行走。它需要数百次迭代才能达到概率密度的大部分

您可以在随后的参数中看到不同提议步驟在自相关中的效果 - 这些图显示了不同延迟步骤之间自相关系数的衰减,蓝线表示统计独立性


  

由此可以计算独立样本的有效数量:


  

这更清楚地显示了链条运行时间更长的情况:


  

  

给出了一个多元正态密度,给定一个均值向量(分布的中心)和方差 - 协方差矩阵


  

如上所述,将目标密度定义为两个mvns的总和(这次未加权):


  

从多元正态分布取样也相当简单但我们将使用MCMC从中抽取样本。

这里有一些不同的策略 - 我们鈳以同时在两个维度上提出动作或者我们可以独立地沿着每个轴进行采样。这两种策略都能奏效虽然它们的混合速度会有所不同。

假設我们实际上并不知道如何从mvn中抽样 让我们提出一个在两个维度上一致的提案分布,从每边的宽度为“d”的正方形取样

比较抽样分布與已知分布:

例如,参数1 的边际分布是多少


  

我们需要整合第一个参数的第二个参数的所有可能值。那么因为目标函数本身并不是标准囮的,所以我们必须将其分解为第一维积分值


  

——中国专业的第三方数据服务提供商,提供定制化的一站式数据挖掘和统计分析咨询服務

公司项目外包 ;线上线下一对一培训 ;数据采集;学术研究;报告撰写;市场调查

【大数据部落】提供定制化的一站式数据挖掘和统計分析咨询服务
分享最新的大数据资讯,每天学习一点数据分析让我们一起做有态度的数据人

加载中,请稍候......

我要回帖

更多关于 马尔可夫链具体实例 的文章

 

随机推荐