我有一个关于蒙特卡洛集成与 Metropolis 采样的简短问题。我有一个连续的状态空间,但只有这个状态空间的某些部分是有效的。转移函数可能会建议移动到状态空间的无效部分,并且显然应该拒绝跳转。但是,我不确定是否应该计算这个无效样本;即如果取了 N 个样本并且一个样本被状态空间的无效部分拒绝,我应该在估计中除以 N-1。
谢谢
我有一个关于蒙特卡洛集成与 Metropolis 采样的简短问题。我有一个连续的状态空间,但只有这个状态空间的某些部分是有效的。转移函数可能会建议移动到状态空间的无效部分,并且显然应该拒绝跳转。但是,我不确定是否应该计算这个无效样本;即如果取了 N 个样本并且一个样本被状态空间的无效部分拒绝,我应该在估计中除以 N-1。
谢谢
[复制我前段时间写的一篇博文:]
确实,人们普遍认为需要采取一些措施来抵消受限制的支持。但是,这样做没有数学上的理由!如果我们看一下 Metropolis-Hastings 接受概率 (复制自标签 wiki),带有,如果的支持之外,我们可以通过在原始支持之外定义因此,如果,,这意味着建议的值被拒绝并且。
mcmc
考虑下图。
target=function(x) (x>0)*(x<1)*dnorm(x,mean=4)
mcmc=rep(0.5,10^5)
for (t in 2:10^5){
prop=mcmc[t-1]+rnorm(1,.1)
if (runif(1)<target(prop)/target(mcmc[t-1]))
mcmc[t]=prop
else
mcmc[t]=mcmc[t-1]
}
hist(mcmc,prob=TRUE,col="wheat",border=FALSE,main="",xlab="")
curve(dnorm(x-4)/(pnorm(-3)-pnorm(-4)),add=TRUE)
即使用支持整个实线的高斯随机游走提议来针对截断的正态分布。然后算法正确收敛,如下面的拟合所示: