Questions tagged «mcmc»

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


2
如何从非负整数的离散分布中采样?
我有以下离散分布,其中是已知常数:α,βα,β\alpha,\beta p(x;α,β)=Beta(α+1,β+x)Beta(α,β)for x=0,1,2,…p(x;α,β)=Beta(α+1,β+x)Beta(α,β)for x=0,1,2,… p(x;\alpha,\beta) = \frac{\text{Beta}(\alpha+1, \beta+x)}{\text{Beta}(\alpha,\beta)} \;\;\;\;\text{for } x = 0,1,2,\dots 有什么方法可以有效地从这种分布中采样?

2
基于马尔可夫链的抽样是蒙特卡洛抽样的“最佳”方法吗?有替代方案吗?
马尔可夫链蒙特卡洛方法是基于马尔可夫链的方法,它使我们能够从非标准分布中获取样本(在蒙特卡洛环境中),而我们无法直接从中提取样本。 我的问题是,为什么马尔可夫链对于蒙特卡洛采样来说是“最先进的”。另一个问题可能是,是否还有其他方法(如马尔可夫链)可用于蒙特卡洛采样?我知道(至少从研究文献的角度来看)MCMC具有深厚的理论根源(就(a)周期性,同质性和详细平衡之类的条件而言),但我想知道蒙特卡洛是否有任何“可比的”概率模型/方法卡洛采样类似于马尔可夫链。 如果我对问题的某些部分感到困惑(或者似乎完全令人困惑),请指导我。

3
Winbugs和其他MCMC,无须事先分发的信息
当您不了解参数分布时会发生什么?我们应该使用什么方法? 大多数时候,我们的目标是低估某个变量是否对某个物种的存在/不存在有任何影响,并且根据变量的重要性来接受或不接受该变量。这意味着大多数时候我们不考虑参数应具有的展开分布。 当我所知道的是b1,b2,b3和b4应该在-2和2之间变化而b0可以在-5和5之间变化时,假设所有参数都遵循正态分布是正确的吗? model { # N observations for (i in 1:N) { species[i] ~ dbern(p[i]) logit(p[i]) <- b0 + b1*var1[i] + b2*var2[i] + b3*var3[i] + b4*var4[i] } # Priors b0 ~ dnorm(0,10) b1 ~ dnorm(0,10) b2 ~ dnorm(0,10) b3 ~ dnorm(0,10) b4 ~ dnorm(0,10) }
10 r  bayesian  mcmc  bugs  winbugs 

1
R线性回归分类变量“隐藏”值
这只是我多次遇到的示例,因此我没有任何示例数据。在R中运行线性回归模型: a.lm = lm(Y ~ x1 + x2) x1是一个连续变量。x2是分类的,具有三个值,例如“低”,“中”和“高”。但是,R给出的输出将类似于: summary(a.lm) Estimate Std. Error t value Pr(>|t|) (Intercept) 0.521 0.20 1.446 0.19 x1 -0.61 0.11 1.451 0.17 x2Low -0.78 0.22 -2.34 0.005 x2Medium -0.56 0.45 -2.34 0.005 我知道R在这种因素(x2是一个因素)上引入了某种虚拟编码。我只是想知道,如何解释x2“高”值?例如,x2在此处给出的示例中,“ High” 对响应变量有什么影响? 我在其他地方(例如这里)已经看到了这样的示例,但是还没有找到我能理解的解释。
10 r  regression  categorical-data  regression-coefficients  categorical-encoding  machine-learning  random-forest  anova  spss  r  self-study  bootstrap  monte-carlo  r  multiple-regression  partitioning  neural-networks  normalization  machine-learning  svm  kernel-trick  self-study  survival  cox-model  repeated-measures  survey  likert  correlation  variance  sampling  meta-analysis  anova  independence  sample  assumptions  bayesian  covariance  r  regression  time-series  mathematical-statistics  graphical-model  machine-learning  linear-model  kernel-trick  linear-algebra  self-study  moments  function  correlation  spss  probability  confidence-interval  sampling  mean  population  r  generalized-linear-model  prediction  offset  data-visualization  clustering  sas  cart  binning  sas  logistic  causality  regression  self-study  standard-error  r  distributions  r  regression  time-series  multiple-regression  python  chi-squared  independence  sample  clustering  data-mining  rapidminer  probability  stochastic-processes  clustering  binary-data  dimensionality-reduction  svd  correspondence-analysis  data-visualization  excel  c#  hypothesis-testing  econometrics  survey  rating  composite  regression  least-squares  mcmc  markov-process  kullback-leibler  convergence  predictive-models  r  regression  anova  confidence-interval  survival  cox-model  hazard  normal-distribution  autoregressive  mixed-model  r  mixed-model  sas  hypothesis-testing  mediation  interaction 

4
给定10D MCMC链,如何确定R中的后验模式?
问题:假设有10维MCMC链,我准备将抽奖矩阵交给您:10个参数(列)的100,000次迭代(行),我如何才能最好地识别后验模式?我特别关注多种模式。 背景:我认为自己是一位精通计算的统计学家,但是当一位同事问我这个问题时,我为自己无法给出一个合理的答案而感到ham愧。主要关注的是可能会出现多种模式,但前提是必须考虑十个维度中的至少八个左右。我的第一个想法是使用核密度估计,但是对R的搜索没有发现对大于3维问题的希望。同事已经提出了十个维度的临时分箱策略并寻求最大值,但我担心的是带宽可能会导致严重的稀疏性问题或缺乏分辨多种模式的分辨率。就是说,我很乐意接受有关自动带宽建议的建议,与10个内核密度估算器的链接或您所知道的其他任何信息。 顾虑: 我们认为该分布可能会偏斜;因此,我们希望确定后验模式,而不是后验方法。 我们担心可能存在几种后验模式。 如果可能的话,我们希望使用基于R的建议。但是,只要不难以实现,任何算法都可以。我想我不希望通过从头开始自动带宽选择来实现Nd内核密度估计器。

1
汉密尔顿·蒙特卡洛(Hamiltonian Monte Carlo):如何解读“大都市-哈斯特”提案?
我想了解汉密尔顿·蒙特卡洛(HMC)的内部工作原理,但是当我们用Metropolis-Hasting提案取代确定性时间积分时,无法完全理解该部分。我正在阅读Michael Betancourt撰写的引人入胜的入门论文《哈密尔顿蒙特卡洛概念概论》,因此我将沿用其中的相同符号。 背景 马尔可夫链蒙特卡洛(MCMC)的总体目标是逼近目标变量的分布。π(q)π(q)\pi(q)qqq HMC的想法是引入辅助的“动量”变量以及与建模为“位置” 的原始变量结合。位置-动量对形成一个扩展的相空间,可以用哈密顿动力学来描述。联合分布可以用微规范分解来表示:pppqqqπ(q,p)π(q,p)\pi(q, p) π(q,p)=π(θE|E)π(E)π(q,p)=π(θE|E)π(E)\pi(q, p) = \pi(\theta_E | E) \hspace{2pt} \pi(E), 其中表示给定能级上的参数,也称为典型集合。参见图21和图22进行说明。θEθE\theta_E(q,p)(q,p)(q, p)EEE 原始的HMC程序包括以下两个交替步骤: 在能量水平之间执行随机过渡的随机步骤,以及 确定性步骤,沿着给定的能量水平执行时间积分(通常通过跳跃式数值积分实现)。 在本文中,有人认为越级跳跃(或辛积分器)具有小的误差,会引入数值偏差。因此,与其将其视为确定性步骤,不如将其转变成Metropolis-Hasting(MH)提案以使该步骤成为随机步骤,并且所产生的过程将从分布中产生确切的样本。 MH提案将执行步越级操作,然后反转动量。然后,该提案将以以下接受概率被接受:LLL a(qL,−pL|q0,p0)=min(1,exp(H(q0,p0)−H(qL,−pL)))a(qL,−pL|q0,p0)=min(1,exp⁡(H(q0,p0)−H(qL,−pL)))a (q_L, -p_L | q_0, p_0) = min(1, \exp(H(q_0,p_0) - H(q_L,-p_L))) 问题 我的问题是: 1)为什么将确定性时间积分转换为MH提议的这种修改会消除数值偏差,以使生成的样本完全符合目标分布? 2)从物理学的角度来看,能量在给定的能量水平上是守恒的。这就是为什么我们能够使用汉密尔顿方程的原因: dqdt=∂H∂p,dpdt=−∂H∂qdqdt=∂H∂p,dpdt=−∂H∂q\dfrac{dq}{dt} = \dfrac{\partial H}{\partial p}, \hspace{10pt} \dfrac{dp}{dt} = -\dfrac{\partial H}{\partial q}。 从这个意义上说,能量在典型集合上的任何地方都应该恒定,因此应当等于。为什么在能量上存在差异,可以构造接受概率?H(q0,p0)H(q0,p0)H(q_0, p_0)H(qL,−pL)H(qL,−pL)H(q_L, …
9 mcmc  monte-carlo  hmc 

1
MCMC / EM的局限性?EM上的MCMC?
我目前正在使用R中的JAGS学习分层贝叶斯模型,并使用Python(“黑客的贝叶斯方法”)学习pymc 。 我可以从这篇文章中得到一些直觉:“最终,您会得到一堆看起来像是在某种程度上设法从想要了解的复杂分布中提取独立样本的数字。” 就像我可以给出条件概率,然后我可以基于条件概率生成无记忆过程。当我生成过程足够长的时间时,联合概率可以收敛。然后我可以在生成的序列的末尾取一堆数字。就像我从复杂的联合分布中提取独立样本一样。例如,我可以制作直方图,它可以近似分布函数。 然后我的问题是,我是否需要证明MCMC是否针对某个模型收敛?我很高兴知道这一点,因为我以前学习了GMM和LDA(图形模型)的EM算法。如果我只使用MCMC算法而不证明它是否收敛,那么它可以比EM节省更多时间。由于我将必须计算预期的对数似然函数(必须计算后验概率),然后使预期的对数似然率最大化。它显然比MCMC麻烦(我只需要表述条件概率)。 我也想知道似然函数和先验分布是否共轭。这是否意味着MCMC必须收敛?我想知道MCMC和EM的局限性。

2
通过概率编程(pymc)进行开关点检测
我目前正在阅读《概率编程和贝叶斯黑客方法》一书。我已经阅读了几章,并且在第一章中进行思考,其中pymc的第一个示例包括检测文本消息中的巫婆点。在该示例中,用于指示切换点何时发生的随机变量用ττ\tau。MCMC步骤后, ττ\tau 给出: 首先,从该图可以了解到,在第45天发生转换点的可能性接近50%。如果没有转换点,该怎么办?我想确定是否确实存在一个切换点,而不是假设有一个切换点然后尝试找到它。 作者通过“没有发生变化,或者随着时间的推移变化是逐渐变化的,……的后验分布”来回答“是否发生了切换点”问题。 ττ\tau 本来可以散布的。”但是您如何以可预测性来回答这个问题,例如,发生切换点的机率是90%,而在第45天发生机率的机率是50%。 是否需要更改型号?还是可以用当前模型来回答?

2
与吉布斯抽样有关的混乱
我看到这篇文章时说,在吉布斯采样中,每个样本都被接受。我有点困惑。如果每个接受的样本都收敛到平稳分布,结果如何。 在一般的Metropolis算法中,我们接受为min(1,p(x *)/ p(x)),其中x *是采样点。我假设x *将我们指向密度很高的位置,因此我们正在向目标分布移动。因此,我认为经过一段时间的老化后,它会移动到目标分布。 但是,在吉布斯采样中,我们接受了所有内容,因此即使它可能将我们带到另一个地方,也不能说它收敛于平稳/目标分布 假设我们有一个分布 p (θ )= c (θ )/ Zp(θ)=C(θ)/žp(\theta) = c(\theta)/Z。我们无法计算Z。在大都会算法中,我们使用以下术语c (θñ Ë W ^)/ c (θÒ 升d)C(θñËw)/C(θØ升d)c(\theta^{new})/c(\theta^{old}) 合并发行版 c (θ )C(θ)c(\theta)加上归一化常数Z抵消了。这样很好 但是在吉布斯抽样中,我们在哪里使用分布 c (θ )C(θ)c(\theta) 例如在论文中http://books.nips.cc/papers/files/nips25/NIPS2012_0921.pdf其给定 所以我们没有确切的条件分布可用来进行抽样,我们只有与条件分布成正比的东西

4
(交互)MCMC用于多模式后路
我正在尝试使用MCMC从具有多种模式的后验样本中进行采样,这些模式之间的距离特别远。看起来在大多数情况下,这些模式中只有一种包含我要寻找的95%hpd。我试图实现基于回火模拟的解决方案,但这不能提供令人满意的结果,因为在实践中,从一种“捕获范围”到另一种“捕获范围”是昂贵的。 因此,在我看来,更有效的解决方案是从不同的起点运行许多简单的MCMC,并通过使MCMC相互交互而进入主导解决方案。您知道是否有实施此想法的适当方法? 注意:我发现http://lccc.eecs.berkeley.edu/Papers/dmcmc_short.pdf(分布式马尔可夫链Monte Carlo,Lawrence Murray)看上去很接近我在寻找的东西,但我真的不理解设计的函数。[R一世[R一世R_i [编辑]:缺少答案似乎表明我的最初问题没有明显的解决方案(使从不同起点从相同目标分布进行采样的多个MCMC相互交互)。真的吗 ?为什么这么复杂?谢谢

1
从现有的多输入最大熵分类器创建最大熵马尔可夫模型
最大熵马尔可夫模型(MEMM)的概念引起了我的兴趣,我正在考虑将其用于词性(POS)标记器。目前,我正在使用常规的最大熵(ME)分类器来标记每个单词。这使用了许多功能,包括前面的两个标签。 MEMM使用维特比算法找到通过马尔可夫链的最优路径(即为句子找到完整的最优标签集,而不是为每个单词找到单独的最优值)。读到它,这似乎具有奇妙的优雅和简约。但是,每个阶段仅依赖于上一个阶段的“结果”(即,根据马尔可夫链)。 但是,我的ME模型使用了前两个阶段(即前两个单词的标签)。看来我有两种可能的方法: 与传统的Viterbi实现一样,使用根据一个(上一个)阶段存储的一组路径。我的ME分类器将使用此阶段和此阶段之前的“冻结”阶段(冻结到所考虑的路径中)来产生传递函数。 或者我编写算法来跟踪两个阶段。这更加复杂,将不再是真正的马尔可夫模型,因为每个传递函数(即,来自ME模型)将取决于前两个阶段而不是一个阶段。 令我惊讶的是,第二秒将更加准确,尽管它将更加复杂。 在文献搜索过程中,我还没有找到任何示例。是否尝试过?两阶段方法是否改善了整体精度?

3
候选人分布均匀的都市空港大学的录取率
当使用均一的候选分布运行Metropolis-Hastings算法时,接受率大约为20%的原理是什么? 我的想法是:一旦找到了真实的(或接近真实的)参数值,那么就不会有来自相同均匀间隔的任何新的候选参数值集会增加似然函数的值。因此,我运行的迭代次数越多,我应该得到的接受率就越低。 我的想法在哪里错了?非常感谢! 这是我的计算的说明: Acceptance_rate=exp{l(θc|y)+log(p(θc))−[l(θ∗|y)+log(p(θ∗)]},Acceptance_rate=exp⁡{l(θc|y)+log⁡(p(θc))−[l(θ∗|y)+log⁡(p(θ∗)]},Acceptance\_rate = \exp \{l(\theta_c|y) + \log(p(\theta_c)) - [l(\theta^*|y) + \log(p(\theta^*) ]\}, 其中是对数似然。lll 由于候选对象始终取自相同的均匀间隔,θθ\theta p(θc)=p(θ∗).p(θc)=p(θ∗).p(\theta_c) = p(\theta^*). 因此,接受率的计算可缩减至: Acceptance_rate=exp{l(θc|y)−[l(θ∗|y)]}Acceptance_rate=exp⁡{l(θc|y)−[l(θ∗|y)]}Acceptance\_rate = \exp \{l(\theta_c | y) - [l(\theta^* | y) ]\} 的接受规则如下:θcθc\theta_c 如果,其中是从区间均匀分布得出的,则U≤Acceptance_rateU≤Acceptance_rateU \le Acceptance\_rate UUU[0,1][0,1][0,1] θ∗=θc,θ∗=θc,\theta^* = \theta_c, 否则从间隔均匀分布中θcθc\theta_c[θmin,θmax][θmin,θmax][\theta_{min}, \theta_{max}]

2
计算数据的ROC曲线
因此,我进行了16次试验,试图使用汉明距离从生物特征中鉴定一个人。我的阈值设置为3.5。我的数据如下,只有试验1为“真阳性”: Trial Hamming Distance 1 0.34 2 0.37 3 0.34 4 0.29 5 0.55 6 0.47 7 0.47 8 0.32 9 0.39 10 0.45 11 0.42 12 0.37 13 0.66 14 0.39 15 0.44 16 0.39 我的困惑是,我真的不确定如何根据此数据制作ROC曲线(FPR与TPR或FAR与FRR)。哪一个都不重要,但是我只是对如何进行计算感到困惑。任何帮助,将不胜感激。
9 mathematical-statistics  roc  classification  cross-validation  pac-learning  r  anova  survival  hazard  machine-learning  data-mining  hypothesis-testing  regression  random-variable  non-independent  normal-distribution  approximation  central-limit-theorem  interpolation  splines  distributions  kernel-smoothing  r  data-visualization  ggplot2  distributions  binomial  random-variable  poisson-distribution  simulation  kalman-filter  regression  lasso  regularization  lme4-nlme  model-selection  aic  r  mcmc  dlm  particle-filter  r  panel-data  multilevel-analysis  model-selection  entropy  graphical-model  r  distributions  quantiles  qq-plot  svm  matlab  regression  lasso  regularization  entropy  inference  r  distributions  dataset  algorithms  matrix-decomposition  regression  modeling  interaction  regularization  expected-value  exponential  gamma-distribution  mcmc  gibbs  probability  self-study  normality-assumption  naive-bayes  bayes-optimal-classifier  standard-deviation  classification  optimization  control-chart  engineering-statistics  regression  lasso  regularization  regression  references  lasso  regularization  elastic-net  r  distributions  aggregation  clustering  algorithms  regression  correlation  modeling  distributions  time-series  standard-deviation  goodness-of-fit  hypothesis-testing  statistical-significance  sample  binary-data  estimation  random-variable  interpolation  distributions  probability  chi-squared  predictor  outliers  regression  modeling  interaction 

1
我可以在每次MCMC迭代中对大型数据集进行二次采样吗?
问题:我想执行Gibbs采样以推断大型数据集的一些后验。不幸的是,我的模型不是很简单,因此采样速度太慢。我会考虑采用变型或并行方法,但在此之前…… 问题:我想知道是否可以在每次Gibbs迭代中从数据集中随机采样(替换),以便在每个步骤中学习的实例更少。 我的直觉是,即使我更改样本,我也不会更改概率密度,因此Gibbs样本不应注意到这一窍门。我对吗?是否有人提到过这样做?
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.