Questions tagged «metropolis-hastings»

一种特殊类型的马尔可夫链蒙特卡洛(MCMC)算法,用于从复杂概率分布中进行仿真。它已通过马尔可夫链理论进行了验证,并提供了多种可能的实现方式。

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其给定 所以我们没有确切的条件分布可用来进行抽样,我们只有与条件分布成正比的东西

2
使用MCMC从已知密度的双变量分布中抽样
我尝试使用R中的Metropolis算法从二元密度进行模拟,但是没有运气。密度可以表示为 ,其中是Singh-Maddala分布p (X ,ÿ)p(X,ÿ)p(x,y)p (ÿ| x)p(x)p(ÿ|X)p(X)p(y|x)p(x)p (x )p(X)p(x) p(x)=aqxa−1ba(1+(xb)a)1+qp(x)=aqxa−1ba(1+(xb)a)1+qp(x)=\dfrac{aq x^{a-1}}{b^a (1 + (\frac{x}{b})^a)^{1+q}} 参数,q,b和p(y | x)是对数正态的,其中log-mean是x的分数,而log-sd是常数。为了测试我的样本是否是我想要的样本,我查看了x的边际密度,其应为p(x)。我尝试了R包MCMCpack,mcmc和dream中的不同Metropolis算法。我舍弃了老化,使用细化处理,使用了大小不超过100万的样本,但是由此产生的边际密度从来不是我提供的那种。aaaqqqbbbp(y|x)p(y|x)p(y|x)xxxxxxp(x)p(x)p(x) 这是我使用的代码的最终版本: logvrls <- function(x,el,sdlog,a,scl,q.arg) { if(x[2]>0) { dlnorm(x[1],meanlog=el*log(x[2]),sdlog=sdlog,log=TRUE)+ dsinmad(x[2],a=a,scale=scl,q.arg=q.arg,log=TRUE) } else -Inf } a <- 1.35 q <- 3.3 scale <- 10/gamma(1 + 1/a)/gamma(q - 1/a)* gamma(q) Initvrls <- function(pars,nseq,meanlog,sdlog,a,scale,q) { cbind(rlnorm(nseq,meanlog,sdlog),rsinmad(nseq,a,scale,q)) } library(dream) …
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.