Metropolis-Hastings集成-为什么我的策略不起作用?


16

假设我有一个函数,我想集成 当然,假设在端点处为零,没有爆炸,功能很好。一种方式,我已经和摆弄是使用大都市斯算法来生成列表的样品从分配比例,以,其缺少归一化常数 ,我将其称为,然后在这些上计算一些统计量: g(x)

∫−∞∞g(x)dx.
g(x)克(X )ñ = ∫ ∞ - ∞克(X )d X p (X )˚F (X )X 1x1,x2,…,xng(x)
N=∫−∞∞g(x)dx
p(x)f(x)x
1n∑i=0nf(xi)≈∫−∞∞f(x)p(x)dx.

由于,我可以用代替以从积分中消除,从而得到形式的表达式 因此,假设沿该区域积分为,我应该得到结果,我可以取倒数来获得我想要的答案。因此,我可以取样品的范围(以最有效地利用这些点),让我绘制的每个样品的U(x)= 1 / r。这样U(x)f (x )= U (x )/ g (x )g 1p(x)=g(x)/Nf(x)=U(x)/g(x)gU(x)11/Nr=x最大值−x最小值

1N∫−∞∞U(x)g(x)g(x)dx=1N∫−∞∞U(x)dx.
U(x)11/Nr=xmax−xminU (x )U(x)=1/rU(x)在我的样本不在的区域之外,结果为零,但在该区域积分为1。因此,如果现在我取期望值,我应该得到:
E[U(x)g(x)]=1N≈1n∑i=0nU(x)g(x).

我尝试在R中针对示例函数g(x)=e−x2。在这种情况下,我不使用Metropolis-Hastings来生成样本,而是使用实际概率rnorm来生成样本(仅用于测试)。我没有完全得到想要的结果。基本上,我要计算的完整表达式为:

1n(xmax−xmin)∑i=0n1e−xi2.
在我的理论上,这应该评估为1/π。它接近了,但肯定不会以预期的方式收敛,我做错了吗?
ys = rnorm(1000000, 0, 1/sqrt(2))
r = max(ys) - min(ys)
sum(sapply(ys, function(x) 1/( r * exp(-x^2))))/length(ys)
## evaluates to 0.6019741. 1/sqrt(pi) = 0.5641896

编辑CliffAB

我使用范围的原因只是为了轻松定义一个函数,该函数在我的点所在的区域内为非零值,但是在[-\ infty,\ infty]范围内积分为1。该函数的完整规范为: U(x)= \ begin {cases} \ frac {1} {x_ \ max-x_ \ min}&x_ \ max> x> x_ \ min \\ 0&\ text {否则。} \ end {cases} 我不必使用U(x)作为这种均匀密度。我本可以使用其他一些积分为1的密度,例如概率密度 P(x)= \ frac {1} {\ sqrt {\ pi}} e ^ {-x ^ 2}。 但是,这会使各个样本的求和变得微不足道,即 1[−∞,∞]

U(x)={1xmax−xminxmax>x>xmin0otherwise.
U(x)1
P(x)=1πe−x2.
1n∑i=0nP(x)g(x)=1n∑i=0ne−xi2/πe−xi2=1n∑i=0n1π=1π.

我可以尝试将该技术用于其他积分为分布。但是,我仍然想知道为什么对于统一分发它不起作用。1


只快速浏览一下,所以我不确定您为什么决定使用range(x)。有条件的是它是有效的,效率极低!该大小的样本范围几乎是您可能获得的最不稳定的统计数据。
— 悬崖AB

@CliffAB使用该范围对我来说没有什么特别之处,除了在我的点所在的区间上定义均匀分布之外。查看修改。
— Mike Flynn

1
我将在后面详细介绍。但是要考虑的事情是,好像x是一组统一RV,则当,范围。但是,如果x是一组非变性正常RV,则作为,。(x )→ 1 n → ∞ 范围(x )→ ∞n→∞(x)→1n→∞range(x)→∞
— Cliff AB 2015年

@CliffAB您可能是对的,我认为原因是积分的边界不固定,因此估计量的方差永远不会收敛...
— Mike Flynn 2015年

Answers:


13

这是一个最有趣的问题,涉及基于基于相同密度的MCMC输出来近似密度的归一化常数的问题。(附带说明是,正确的假设是是可积的,无穷大为零是不够的。)克克ggg

我认为,与您的建议相关的与该主题最相关的条目是Gelfand和Dey(1994,JRSS B)发表的一篇论文,作者开发了一种非常相似的方法来找到从。本文的一个结果是,对于任何概率密度 [这等于您的 ],使得 以下身份 显示来自的样本可以产生一个

∫Xg(x)dx
p(x)∝g(x)α(x)U(x)
{x;α(x)>0}⊂{x;g(x)>0}
∫Xα(x)g(x)p(x)dx=∫Xα(x)Ndx=1N
p重要采样估计量对的 无偏评估 显然,估计器的性能(收敛速度,方差的存在,和TC。)不依赖于选择 [即使它的期望没有]。在贝叶斯框架中,Gelfand和Dey提倡的选择是采用,即先验密度。这导致 ,其中是似然函数,因为1/N
η^=1n∑i=1nα(xi)g(xi)xi∼iidp(x)
η^αα=π
α(x)g(x)=1ℓ(x)
ℓ(x)g(x)=π(x)ℓ(x)。不幸的是,所得到的估计 是调和平均估计器,也被称为最坏蒙特卡洛估计过由来自多伦多大学的Radford Neal。因此,它并不总是能很好地解决问题。甚至几乎没有。
N^=n∑i=1n1/ℓ(xi)

您使用样本范围以及该范围内的均匀性的想法与谐波均值问题相关:此估计量没有方差,仅是因为出现在分子中(我怀疑总是无限制的支持!),因此非常缓慢地收敛到归一化常数。例如,如果您多次重新运行代码,则在10次迭代后将获得非常不同的数值。这意味着您甚至无法相信答案的大小。exp { x(min(xi),max(xi))exp⁡{x2}

解决此无限方差问题的通用方法是将使用更集中的密度,例如使用样本的四分位数,因为然后在此时间间隔内保持较低界限。(q .25(x i),q .75(x i))gα(q.25(xi),q.75(xi))g

在使代码适应这种新密度时,近似值更接近:1/π

ys = rnorm(1e6, 0, 1/sqrt(2))
r = quantile(ys,.75) - quantile(ys,.25)
yc=ys[(ys>quantile(ys,.25))&(ys<quantile(ys,.75))]
sum(sapply(yc, function(x) 1/( r * exp(-x^2))))/length(ys)
## evaluates to 0.5649015. 1/sqrt(pi) = 0.5641896

我们在与Darren Wraith和Jean-Michel Marin的两篇论文中详细讨论了这种方法。

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.