Questions tagged «mcmc»

马尔可夫链蒙特卡罗(MCMC)是指通过从固定分布为目标分布的马尔可夫链中生成随机数,从目标分布中生成样本的方法。当更直接的随机数生成方法(例如反演方法)不可行时,通常使用MCMC方法。第一种MCMC方法是Metropolis算法,后来又修改为Metropolis-Hastings算法。

2
完整的条件从哪里来?
诸如Metropolis-Hastings和Gibbs采样之类的MCMC算法是从联合后验分布中采样的方法。 我想我理解并可以很轻松地实现城市改造-您只需以某种方式选择起点,并在后验密度和投标密度的指导下随机“遍历参数空间”。Gibbs采样看起来非常相似,但是效率更高,因为它一次只更新一个参数,而其他参数保持不变,从而以正交方式有效地遍历空间。 为此,您需要解析from *中每个参数的完整条件。但是这些全部条件从何而来? P(x1|x2, …, xn)=P(x1, …, xn)P(x2, …, xn)P(x1|x2, …, xn)=P(x1, …, xn)P(x2, …, xn) P(x_1 | x_2,\ \ldots,\ x_n) = \frac{P(x_1,\ \ldots,\ x_n)}{P(x_2,\ \ldots,\ x_n)} 要得到分母,您需要在上将关节边缘化x1x1x_1。如果有许多参数,这似乎需要大量工作来进行分析,如果联合分布不是很“好”,则可能很难处理。我意识到,如果在整个模型中使用共轭,则完整的条件可能很容易,但是对于更一般的情况,必须有一种更好的方法。 我在网上看到的所有吉布斯抽样示例都使用了玩具示例(例如从多变量法线抽样,条件变量本身就是法线),并且似乎可以避免这个问题。 *还是根本不需要分析形式的完整条件?像winBUGS这样的程序是如何做到的?
15 bayesian  mcmc  gibbs 


2
马尔可夫链与马尔可夫链蒙特卡洛之间有什么联系
我正在尝试使用SAS了解马尔可夫链。我了解到,马尔可夫过程是未来状态仅取决于当前状态而不取决于过去状态的过程,并且存在一个转移矩阵来捕获从一种状态到另一种状态的转移概率。 但是后来我碰到了这个术语:Markov Chain Monte Carlo。我想知道的是,马尔可夫链蒙特卡洛是否与我上面描述的马尔可夫过程有关?

2
与MCMC Metropolis-Hastings变化相混淆:随机行走,非随机行走,独立,都会
在过去的几周中,我一直在尝试了解MCMC和Metropolis-Hastings算法。每当我认为自己理解时,我就会意识到自己错了。我在网上找到的大多数代码示例都实现了与描述不一致的内容。即:他们说他们实施了Metropolis-Hastings,但实际上是实施了随机漫步的城市。其他人(几乎总是)默默地跳过黑斯廷斯校正率的实现,因为他们使用的是对称提案分配。实际上,到目前为止,我还没有找到一个简单的示例来计算比率。这让我更加困惑。有人可以给我以下代码示例(任何语言): 具有Hastings校正比率计算的Vanilla非随机步行Metropolis-Hastings算法(即使使用对称投标分布最终将为1)。 Vanilla Random Walk Metropolis-Hastings算法。 Vanilla Independent Metropolis-Hastings算法。 无需提供Metropolis算法,因为如果我没有记错的话,Metropolis和Metropolis-Hastings之间的唯一区别是,第一个总是从对称分布中采样,因此它们没有黑斯廷斯校正率。无需详细说明算法。我确实了解基本知识,但是对于Metropolis-Hastings算法的不同变体,我对所有不同的名称感到困惑,但对于在Vanilla非随机行走MH上实际实现黑斯廷斯校正率的方式,我还是感到困惑。请不要复制粘贴链接以部分回答我的问题,因为很可能我已经看过它们。这些联系使我感到困惑。谢谢。

2
Stan中没有定义先验的参数
我刚刚开始学习使用Stan和rstan。除非一直对JAGS / BUGS的工作方式感到困惑,否则我一直认为您必须为要从中提取模型的每个参数定义某种先验分布。似乎您不必根据Stan的文档在Stan中执行此操作。这是他们在此处提供的示例模型。 data { int<lower=0> J; // number of schools real y[J]; // estimated treatment effects real<lower=0> sigma[J]; // s.e. of effect estimates } parameters { real theta[J]; real mu; real<lower=0> tau; } model { theta ~ normal(mu, tau); y ~ normal(theta, sigma); } 既mu没有tau定义先验也没有。在将我的一些JAGS模型转换为Stan时,我发现如果我对许多参数(大多数)具有未定义的先验值,它们将起作用。 问题是,当我有没有定义的先验的参数时,我不理解Stan在做什么。是否默认为统一分布?这是HMC的特殊属性之一,它不需要为每个参数都定义一个先验吗?

2
哈密​​尔顿蒙特卡洛
有人可以解释汉密尔顿蒙特卡罗方法背后的主要思想吗?在哪种情况下,它们会比马尔可夫链蒙特卡罗方法产生更好的结果?
14 bayesian  mcmc  hmc 

2
MCMC的性能基准
是否有大规模的MCMC方法研究在一组测试密度上比较了几种不同算法的性能?我想到的是与Rios和Sahinidis的论文(2013)相同的东西,该论文将大量无衍生的黑盒优化器在几种测试函数上进行了全面比较。 对于MCMC,可以通过例如每个密度评估的有效样本数(ESS)或其他一些适当的指标来评估性能。 一些评论: 我理解性能将在很大程度上取决于目标pdf的细节,但是对于优化而言,类似的参数(可能不相同)成立,尽管如此,仍有大量基准测试功能,套件,竞赛,论文等用于基准测试优化。算法。 同样,MCMC与优化的不同之处还在于,需要更多的用户关注和调整。但是,现在有几种MCMC方法几乎不需要调整:在老化阶段,采样过程中适应的方法,或演化多个交互链并使用的多状态(也称为ensemble)方法(例如Emcee)。来自其他链条的信息以指导抽样。 我对标准方法与多状态(又称为合奏)方法之间的比较特别感兴趣。有关多状态的定义,请参阅MacKay的书的 30.6节: 在多状态方法中,多个参数向量被保留;它们在大都会和吉布斯等举动下各自发展;向量之间也存在相互作用。XX\textbf{x} 这个问题起源于这里。 更新资料 对于一个有趣采取多态又名集成方法,请参阅本博客文章由鲍勃·卡彭特格尔曼的博客,我的评论指这CV职位。

2
Dirichlet聚类流程:如何处理标签?
问:使用Dirichlet流程对数据进行聚类的标准方法是什么? 使用吉布斯采样时,采样簇会出现并消失。此外,由于后验分布对于聚类重标记是不变的,因此我们存在可识别性问题。因此,我们不能说哪个是用户集群,而是两个用户在同一个集群中(即)。p(ci=cj)p(ci=cj)p(c_i=c_j) 我们可以总结一下类的分配,以便如果是点的集群分配,那么现在不仅是而且是?cicic_iiiici=cjci=cjc_i=c_jci=cj=cj=...=czci=cj=cj=...=czc_i=c_j=c_j=...=c_z 这些是我找到的替代方案,也是为什么我认为它们不完整或被误导的原因。 (1)DP-GMM + Gibbs采样+基于对的混淆矩阵 为了将Dirichlet过程高斯混合模型(DP-GMM)用于聚类,我实现了本文,其中作者提出了使用Gibbs采样进行密度估计的DP-GMM 。 为了探讨集群性能,他们说: 由于在[MCMC]链上组件的数量发生了变化,因此需要形成一个混淆矩阵,显示每个数据对在整个链中分配给同一组件的频率,见图6。 缺点:这不是真正的“完整”群集,而是成对群集。该图看起来不错,因为我们知道了真实的簇,并据此安排了矩阵。 (2)DP-GMM + Gibbs采样+采样直到没有任何变化 我一直在搜索,发现有些人声称使用Gibbs采样器基于Dirichlet Process进行聚类。例如,这篇文章认为当聚类数量或均值没有更多变化时,链收敛,因此可以从那里获得汇总。 缺点:我不确定这是否允许,因为如果我没有记错的话: (a)在MCMC期间可能会有标签切换。 (b)即使在固定分布中,采样器也可以不时创建一些簇。 (3)DP-GMM + Gibbs采样+选择最可能划分的采样 在本文中,作者说: 在“老化”阶段之后,可以从Gibbs采样器中提取来自IGMM后分布的无偏样本。可以通过绘制许多此类样本并使用类别指标变量的联合可能性最高的样本来找到硬聚类。我们使用M. Mandel编写的经过修改的IGMM实现。 缺点:除非这是一个折叠的吉布斯采样器,我们仅对分配进行采样,否则我们可以计算而不是边际。(取而代之的是获得具有最高的状态,这是一个好习惯吗?)p (c)p (c,θ )p(c|θ)p(c|θ)p(\mathbf{c} | \theta)p(c)p(c)p(\mathbf{c})p(c,θ)p(c,θ)p(\mathbf{c}, \theta) (4)具有可变推论的DP-GMM: 我已经看到一些库使用变分推理。我不太了解变分推理,但我想您那里没有可识别性问题。但是,我想坚持使用MCMC方法(如果可能)。 任何参考将有所帮助。

1
Gelman和Rubin收敛性诊断,如何泛化以使用向量?
Gelman和Rubin诊断程序用于检查并行运行的多个mcmc链的收敛性。它将链内方差与链间方差进行比较,说明如下: 步骤(针对每个参数): 从过度分散的起始值运行m≥2个长度为2n的链。 丢弃每个链中的前n个平局。 计算链内和链间方差。 将参数的估计方差计算为链内方差和链间方差的加权和。 计算潜在的水垢减少因子。 项目清单 我想使用此统计信息,但我想使用的变量是随机向量。 在这种情况下,取协方差矩阵的均值是否有意义?

4
MCMC的实际示例
我正在听一些与MCMC有关的讲座。但是,我找不到如何使用它的好例子。谁能给我一个具体的例子。我所看到的是它们运行着一个马尔可夫链,并说其平稳分布是所需的分布。 我想要一个很好的例子,其中难以从中获取所需的分布。因此,我们创建了一个马尔可夫链。我想知道如何选择过渡矩阵,以便其马尔可夫链的平稳分布成为目标分布

2
MCMC Geweke诊断
我正在运行Metropolis采样器(C ++),并希望使用以前的示例来估计收敛速度。 我发现一种易于实施的诊断程序是Geweke诊断程序,它可以计算两个样本平均值之间的差除以其估计的标准误差。由零处的光谱密度估计标准误差。 Zn=θ¯A−θ¯B1nASAθ^(0)+1nBSBθ^(0)−−−−−−−−−−−−−−−−√,Zn=θ¯A−θ¯B1nASθA^(0)+1nBSθB^(0),Z_n=\frac{\bar{\theta}_A-\bar{\theta}_B}{\sqrt{\frac{1}{n_A}\hat{S_{\theta}^A}(0)+\frac{1}{n_B}\hat{S_{\theta}^B}(0)}}, 其中,B是马尔可夫链中的两个窗口。我做了什么有一些研究^ 小号一个θ(0 )和^ 小号乙θ(0 ),但进入文学的能量谱密度和功率一塌糊涂谱密度,但我不会在这些议题的专家; 我只需要一个简单的答案:这些数量是否与样本方差相同?如果没有,计算它们的公式是什么?AAABBB小号一种θ^(0 )小号θ一种^(0)\hat{S_{\theta}^A}(0)SBθ^(0)SθB^(0)\hat{S_{\theta}^B}(0) 对Geweke诊断的另一个疑问是如何选择?上述文献所述,这是一些功能θ (X )和应该意味着频谱密度的存在^ 小号甲θ(0 ),但为了方便起见,我想的最简单的方法是使用恒等函数(使用样品本身)。它是否正确?θθ\thetaθ(X)θ(X)\theta(X)SAθ^(0)SθA^(0)\hat{S_{\theta}^A}(0) R coda程序包有描述,但也没有指定如何计算值。S小号S
14 mcmc  diagnostic 

4
我可以在不影响马尔可夫性的情况下更改随机行走MH MCMC中的提案分配吗?
具有对称建议的随机漫步都会区 具有接受概率的性质q(x | y)= 克(| y− x | )q(X|ÿ)=G(|ÿ-X|)q(x|y)= g(|y-x|) P(一个ç ç ë p 吨ÿ )= min { 1 ,f(y)/ f(x )}P(一种CCËpŤ ÿ)=分{1个,F(ÿ)/F(X)}P(accept\ y) = \min\{1, f(y)/f(x)\} 不依赖提案 。G(⋅ )G(⋅)g(\cdot) 这是否意味着我可以更改 根据链的先前性能 g (⋅ ),而不会影响链的马尔可夫性?G(⋅ )G(⋅)g(\cdot) 我特别感兴趣的是根据接受率调整普通提案的比例。 如果有人可以指出在实践中用于此类问题的适应算法,也将不胜感激。 非常感谢。 [编辑:从robertsy和wok给出的参考开始,我发现了以下关于MH自适应算法的参考: Andrieu,Christophe和ÉricMoulines。2006。 一些自适应MCMC算法的遍历性。应用概率年鉴16,第。3:1462-1505。http://www.jstor.org/stable/25442804。 Andrieu,Christophe和Johannes Thoms。 2008年。有关自适应MCMC的教程。统计与计算18,没有。4(12):343-373。doi:10.1007 / s11222-008-9110-y。http://www.springerlink.com/content/979087678366r78v/。 Y.Atchadé,G。Fort,E。Moulines和P. Priouret。2009。 自适应马尔可夫链蒙特卡洛:理论与方法。预印本。 …


1
了解不对称提案分配的都市人
我一直试图理解Metropolis-Hastings算法,以便编写代码来估计模型的参数(即)。根据参考书目,Metropolis-Hastings算法具有以下步骤:F(x )= a ∗ xf(x)=a∗xf(x)=a*x 生成ÿŤ〜q(y| XŤ)Yt∼q(y|xt)Y_t \sim q(y|x^t) Xt + 1= { YŤ,XŤ,很有可能ρ (xŤ,YŤ),很有可能1 - ρ (XŤ,YŤ),Xt+1={Yt,with probabilityρ(xt,Yt),xt,with probability1−ρ(xt,Yt),X^{t+1}=\begin{cases} Y^t, & \text{with probability} \quad \rho(x^t,Y_t), \\ x^t, & \text{with probability} \quad 1-\rho(x^t,Y_t), \end{cases} 其中ρ (x ,y)= 分钟(f(y)F(x )* q(x | y)q(y| X),1 )ρ(x,y)=min(f(y)f(x)∗q(x|y)q(y|x),1)\rho(x,y)=\min \left( \frac{f(y)}{f(x)}*\frac{q(x|y)}{q(y|x)},1 \right) 我想问几个问题: 参考书目指出,如果是对称分布,则比率变为1,该算法称为Metropolis。那是对的吗?Metropolis和Metropolis-Hastings之间的唯一区别是,第一个使用对称分布吗?那么“随机漫步”都会区(Hastings)呢?它与其他两个有何不同?q (x …


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.