Questions tagged «mcmc»

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


3
进行MCMC:使用锯齿/ stan或自己实施
我是贝叶斯统计研究的新手。我从研究人员那里听说,贝叶斯研究人员可以更好地自己实现MCMC,而不是使用JAGS / Stan之类的工具。我可以问一下,除了学习目的之外,自行实现MCMC算法(使用像R这样的“不太快”的语言)有什么好处?
13 bayesian  mcmc 

1
哈密​​顿量蒙特卡洛和离散参数空间
我刚刚开始在stan中建立模型;为了熟悉该工具,我正在完成贝叶斯数据分析(第二版)中的一些练习。所述沃特伯克锻炼设该数据,与(Ñ ,θ )是未知的。由于汉密尔顿蒙特卡洛法令不允许离散参数,因此我已将N声明为实数∈ [ 72 ,∞ ),并使用该函数对实值二项式分布进行了编码。Ñ 〜二项式(Ñ,θ )n∼binomial(N,θ)n \sim \text{binomial}(N, \theta)(N,θ )(N,θ)(N, \theta)ñNN∈ [ 72 ,∞ )∈[72,∞)\in [72, \infty)lbeta 结果的直方图看起来与我直接计算后验密度所发现的结果几乎相同。但是,我担心可能有些微妙的原因使我总体上不相信这些结果。由于对的实值推论为非整数值分配了正概率,因此我们知道这些值是不可能的,因为分数Waterbuck实际上并不存在。另一方面,结果似乎很好,因此在这种情况下,简化似乎对推理没有影响。ñNN 是否有任何以这种方式进行建模的指导原则或经验法则,或者这种将离散参数“提升”为实际不良做法的方法?

2
具有异方差测量误差的AR(1)过程
1.问题 我对变量进行了一些测量,其中,我通过MCMC获得了分布,为简单起见,我将其假设为均值的高斯和方差。ytyty_tt=1,2,..,nt=1,2,..,nt=1,2,..,nfyt(yt)fyt(yt)f_{y_t}(y_t)μtμt\mu_tσ2tσt2\sigma_t^2 对于这些观察,我有一个物理模型,例如,但是残差似乎是相关的;特别是,我有物理上的理由认为流程足以考虑相关性,因此我计划通过MCMC获得拟合系数,为此我需要可能性。我认为解决方案很简单,但是我不太确定(它看起来很简单,以至于我遗漏了一些东西)。g(t)g(t)g(t)rt=μt−g(t)rt=μt−g(t)r_t = \mu_t-g(t)AR(1)AR(1)AR(1) 2.推导可能性 零均值流程可写为: 其中,我假设。因此,要估计的参数为(在我的情况下,我还必须添加模型的参数,但这不是问题)。但是,我观察到的是变量 ,其中我假设和是已知的(测量误差)。因为是高斯过程,所以也是。我特别知道 X 吨 = φ X 吨- 1 + ε 吨,(1 )ε 吨〜Ñ (0 ,σ 2 瓦特)θ = { φ ,σ 2 瓦特 } 克(吨)- [R 吨 = X 吨 + η 吨,(2 )η 吨〜ñ (AR(1)AR(1)AR(1)Xt=ϕXt−1+εt, (1)Xt=ϕXt−1+εt, (1)X_t = \phi X_{t-1}+\varepsilon_t,\ \ …


1
是否可以半自动化MCMC收敛诊断程序来设置老化时间?
我想自动选择MCMC链的老化选项,例如通过基于收敛性诊断删除前n行。 此步骤可以安全地自动化到什么程度?即使我仍然仔细检查自相关,mcmc跟踪和pdf,也可以自动选择老化长度。 我的问题很笼统,但是如果您可以提供处理R mcmc.object的细节,那就太好了;我在R中使用rjags和coda软件包。
13 r  bayesian  mcmc 

3
了解MCMC:替代方案是什么?
第一次学习贝叶斯统计;作为理解MCMC的一个角度,我想知道:这是做根本上无法通过其他方式完成的事情,还是只是比其他方法更有效? 通过说明的方式,假设在给定数据P(x,y,z|D)P(x,y,z|D)P(x,y,z|D)的模型的情况下,我们正在尝试计算参数的概率,给定一个计算相反参数P(D|x,y,z)P(D|x,y,z)P(D|x,y,z)。为了直接用贝叶斯定理计算,我们需要这里指出的分母。但是我们可以通过积分来计算它,如下所示:P(D)P(D)P(D) p_d = 0. for x in range(xmin,xmax,dx): for y in range(ymin,ymax,dy): for z in range(zmin,zmax,dz): p_d_given_x_y_z = cdf(model(x,y,z),d) p_d += p_d_given_x_y_z * dx * dy * dz 那会行得通吗(尽管使用大量变量时效率很低),还是有其他原因会使这种方法失败?
13 bayesian  mcmc 

1
了解MCMC和Metropolis-Hastings算法
在过去的几天里,我一直在试图了解Markov Chain Monte Carlo(MCMC)的工作方式。特别是,我一直在尝试理解和实现Metropolis-Hastings算法。到目前为止,我认为我对该算法有一个整体的了解,但是有些事情我还不清楚。我想使用MCMC使某些模型适合数据。因此,我将描述我对Metropolis-Hastings算法的理解,该算法用于将直线拟合到一些观测数据D:F(x )= a xf(x)=axf(x)=axdDD 1)制作为初始猜测。将此a设置为我们的当前a(a 0)。还要在马尔可夫链(C)的末尾添加a。一个aa一个aa一个aa一个0a0a_0一个aaCCC 2)重复以下步骤。 3)评估当前似然()给出一个0和d。大号0L0{\cal L_0}一个0a0a_0DDD 4)通过从正态分布取μ = a 0和σ = s t e p s i z e来提出新的(a 1)。现在,š 吨È p 小号我Ž ê是恒定的。aaaa1a1a_1μ=a0μ=a0\mu=a_0σ=stepsizeσ=stepsize\sigma=stepsizestepsizestepsizestepsize 5)评估新的可能性()给定的一个1和d。L1L1{\cal L_1}a1a1a_1DDD 6)如比更大大号0,接受一个1作为新的一个0,将其追加在年底Ç并转到步骤2。L1L1{\cal L_1}L0L0{\cal L_0}a1a1a_1a0a0a_0CCC 7)如果小于L 0,则从均匀分布生成范围[0,1] 的数字(U)L1L1{\cal L_1}L0L0{\cal L_0}UUU 8)如果比两个似然性(之间的差较小的大号1 - 大号0),接受一个1作为新的一个0,将其追加在年底Ç并转到步骤2。UUUL1L1{\cal L_1}L0L0{\cal L_0}a1a1a_1a0a0a_0CCC UUUL1L1{\cal L_1}L0L0{\cal L_0}a0a0a_0CCCa0a0a_0 10)重复结束。 CCC …

2
MCMC收敛到单个值?
我正在尝试使用jags和rjags包来适应分层模型。我的结果变量是y,这是一系列bernoulli试验。我有38名人受试者被分为两类执行:P和基于M.在我的分析,每个扬声器具有成功的在P类的概率和成功的在M类的概率θ p × θ 米。我也假设存在的P和M一些社区层面超参数:μ p和μ 米。θpθp\theta_pθp× θ米θp×θm\theta_p\times\theta_mμpμp\mu_pμmμm\mu_m 因此,对于每个扬声器: 和θ 米〜b Ë 吨一个(μ 米 × κ 米,(1 - μ 米)× κ 米)其中κ p和κ 米θp∼beta(μp×κp,(1−μp)×κp)θp∼beta(μp×κp,(1−μp)×κp)\theta_p \sim beta(\mu_p\times\kappa_p, (1-\mu_p)\times\kappa_p)θm∼beta(μm×κm,(1−μm)×κm)θm∼beta(μm×κm,(1−μm)×κm)\theta_m \sim beta(\mu_m\times\kappa_m, (1-\mu_m)\times\kappa_m)κpκp\kappa_pκmκm\kappa_m控制如何达到峰值的分布是围绕和μ 米。μpμp\mu_pμmμm\mu_m 也,μ 米〜b Ë 吨一(甲米,乙米)。μp∼beta(Ap,Bp)μp∼beta(Ap,Bp)\mu_p \sim beta(A_p, B_p)μm∼beta(Am,Bm)μm∼beta(Am,Bm)\mu_m \sim beta(A_m, B_m) 这是我的锯齿模型: model{ ## y = N bernoulli trials ## …

1
具有Metropolis-Hastings算法的MCMC:选择方案
我需要进行仿真以评估3参数函数的积分,我们说,它的公式非常复杂。要求使用MCMC方法进行计算并实施Metropolis-Hastings算法以生成以分配的值,并建议使用3变量正态作为建议分布。阅读有关它的一些示例,我发现其中一些使用带有固定参数的法线一些使用具有可变均值,其中是最后接受的值根据分布。我对这两种方法都有疑问:ffffffN(μ,σ)N(μ,σ)N(\mu, \sigma)N(X,σ)N(X,σ)N(X, \sigma)XXXfff 1)选择最后接受的值作为提案分配的新均值是什么意思?我的直觉说,它应该保证我们的值将更接近于分布的值,并且接受的机会会更大。但这不是集中我们太多的样本吗?是否可以保证,如果我得到更多的样本,链条将变得平稳?fff 2)不会选择固定参数(因为确实很难分析)真的很困难,并且依赖于第一个样本,我们需要选择启动算法?在这种情况下,找到哪种更好的最佳方法是什么?fff 这些方法中的一种是否比另一种更好?或者这取决于具体情况? 我希望我的疑惑是明确的,如果能提供一些文献,我会很高兴(我读过一些有关该主题的论文,但是更好的是!) 提前致谢!

1
为什么冗余均值参数化可以加快Gibbs MCMC?
在Gelman&Hill(2007)的书(使用回归和多级/层次模型进行数据分析)中,作者声称包括冗余均值参数可以帮助加快MCMC。 给定的示例是“飞行模拟器”(公式13.9)的非嵌套模型: yiγjδk∼N(μ+γj[i]+δk[i],σ2y)∼N(0,σ2γ)∼N(0,σ2δ)yi∼N(μ+γj[i]+δk[i],σy2)γj∼N(0,σγ2)δk∼N(0,σδ2) \begin{align} y_i &\sim N(\mu + \gamma_{j[i]} + \delta_{k[i]}, \sigma^2_y) \\ \gamma_j &\sim N(0, \sigma^2_\gamma) \\ \delta_k &\sim N(0, \sigma^2_\delta) \end{align} 他们建议重新参数化,并添加平均参数和,如下所示:μγμγ\mu_\gammaμδμδ\mu_\delta γj∼N(μγ,σ2γ)δk∼N(μδ,σ2δ)γj∼N(μγ,σγ2)δk∼N(μδ,σδ2) \begin{align} \gamma_j \sim N(\mu_\gamma, \sigma^2_\gamma) \\ \delta_k \sim N(\mu_\delta, \sigma^2_\delta) \end{align} 提供的唯一理由是(第420页): 仿真可能会陷入整个矢量(或)远离零的配置中(即使分配了均值为0的分布)。最终,模拟将收敛到正确的分布,但是我们不想等待。γγ\gammaδδ\delta 冗余均值参数如何解决此问题? 在我看来,非嵌套模型的速度较慢,主要是因为和呈负相关。(实际上,如果一个总数上升,则另一个则必须下降,因为它们的总和被数据“固定”了)。冗余均值参数是否有助于降低和之间的相关性,或完全减少其他方面的相关性?γγ\gammaδδ\deltaγγ\gammaδδ\delta

2
MCMC样本的模式可靠性
John Kruschke在他的《做贝叶斯数据分析》一书中指出,使用R中的JAGS ...根据MCMC样本进行的模式估算可能相当不稳定,因为该估算基于平滑算法,该算法对MCMC样本中的随机隆起和波动敏感。(进行贝叶斯数据分析,第205页,第8.2.5.1节) 虽然我对Metropolis算法和Gibbs采样之类的精确形式有所了解,但我也不熟悉所提到的平滑算法,以及为什么这意味着从MCMC样本中估计模式是不稳定的。是否有人能够直观地了解平滑算法的作用以及为什么会使模式的估计不稳定?
12 bayesian  mcmc  mode 

1
MCMC; 我们能否确定从后方获得“纯”和“足够大”的样本?如果我们不这样做怎么办?
引用此主题:您将如何向非专业人士解释Markov Chain Monte Carlo(MCMC)?。 我可以看到它是马尔可夫链和蒙特卡洛的组合:创建了一个马尔科夫链,其后部为不变极限分布,然后从极限分布(=我们的后部)中进行了蒙特卡洛绘制(从属)。 可以说(我想在这里简化),经过步后,我们处于极限分布(*)。ΠLLLΠΠ\Pi 马尔可夫链是一个随机变量序列,我得到一个序列,其中是随机变量,是极限'我们希望从中取样的“随机变量”。 X 我 ΠX1个,X2,… ,X大号,Π ,Π ,Π ,… ΠX1,X2,…,XL,Π,Π,Π,…ΠX_1, X_2, \dots , X_L, \Pi, \Pi, \Pi, \dots \PiX一世XiX_iΠΠ\Pi MCMC从初始值开始,即是一个随机变量,所有质量均为该值。如果我将大写字母用于随机变量,将小写字母用于随机变量的实现,那么MCMC会给我一个序列。因此,MCMC链的长度为L + n。X 1 X 1,X 2,X 3,... X 大号,π 1,π 2,π 3,。。。。π ñX1个X1X_1X1个x1x_1x1,x2,x3,…xL,π1,π2,π3,....πnx1,x2,x3,…xL,π1,π2,π3,....πnx_1,x_2,x_3, \dots x_L, \pi_1, \pi_2, \pi_3, ....\pi_n [[* *:大写字母是随机变量(即一堆结果),小是结果,即一个特定值。*]]xxx 显然,只有属于我的“后验”,为了近似“后验”,的值应“足够大”。 ñπiπi\pi_innn 如果我对此进行总结,那么我有一个MCMC链的长度,只有与我的后验近似有关,并且应该足够大。 Ñ …
12 mcmc 

1
我何时应该担心贝叶斯模型选择中的Jeffreys-Lindley悖论?
我正在考虑使用RJMCMC探索各种复杂性的大型(但有限)模型。每个模型的参数向量的先验是非常有用的。 在哪种情况下(如果有),当更复杂的模型之一更适合时,我应该担心Jeffreys-Lindley悖论偏爱更简单的模型吗? 有没有简单的例子可以突出贝叶斯模型选择中的悖论问题? 我已经读了几篇文章,分别是西安的博客和安德鲁·盖尔曼的博客,但是我仍然不太了解这个问题。

2
MCMC什么时候有用?
我在理解MCMC方法在哪种情况下实际有用时遇到了麻烦。我正在阅读Kruschke的书中的一个玩具示例“做贝叶斯数据分析:R和BUGS教程”。 到目前为止,我的理解是我们需要一个与成正比的目标分布,p(D|θ)p(θ)p(D|θ)p(θ)p(D|\theta)p(\theta)以便获得的样本P(θ|D)P(θ|D)P(\theta|D)。但是,在我看来,一旦我们有了p(D|θ)p(θ)p(D|θ)p(θ)p(D|\theta)p(\theta)我们只需要对分布进行归一化就可以得到后验,并且归一化因子很容易在数值上找到。那么在什么情况下不可能呢?
12 mcmc 

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.