老化后的 MCMC 迭代可以用于密度估计吗?

机器算法验证 分布 马尔可夫链蒙特卡罗 渐近的
2022-03-21 13:09:54

老化后,我们是否可以直接使用 MCMC 迭代进行密度估计,例如通过绘制直方图或核密度估计?我担心的是 MCMC 迭代不一定是独立的,尽管它们最多是相同分布的。

如果我们进一步对 MCMC 迭代应用细化呢?我担心的是 MCMC 迭代最多是不相关的,而且还不是独立的。

我使用经验分布函数作为真实分布函数的估计的基础是基于Glivenko-Cantelli 定理,其中经验分布函数是基于 iid 样本计算的。我似乎看到了一些使用直方图或核密度估计作为密度估计的理由(渐近结果?),但我不记得它们了。

2个回答

您可以 - 人们也可以 - 从 MCMC 抽样中估计密度。

要记住的一件事是,虽然直方图和 KDE 很方便,但至少在简单的情况下(例如吉布斯采样),可能可以获得更有效的密度估计。

如果我们特别考虑 Gibbs 采样,则可以使用您从中采样的条件密度来代替样本值本身来生成密度的平均估计值。结果往往非常顺利。

该方法在

Gelfand 和 Smith (1990),“基于抽样的边际密度计算方法”
美国统计协会杂志,卷。85,第 410 号,第 398-409 页

(尽管Geyer警告说,如果采样器的依赖性足够高,它并不总是会减少方差并为其提供这样做的条件)

例如,在 Robert, CP 和 Casella, G. (1999) Monte Carlo Statistical Methods中也讨论了这种方法。

您不需要独立性,您实际上是在计算平均值。如果要计算密度估计(或 cdf)的标准误差,则必须考虑相关性。

当然,同样的概念也适用于其他预期,因此它可以用来改进对许多其他类型平均值的估计。

恢复

您可以直接将 MCMC 迭代用于任何事情,因为您的 observable 的平均值将渐近接近真实值(因为您在老化之后)。

但是,请记住,该平均值的方差受样本之间相关性的影响。这意味着如果样本是相关的,就像 MCMC 中常见的那样,存储每个测量值不会带来任何真正的优势。

从理论上讲,您应该在 N 步之后进行测量,其中 N 是您正在测量的可观测量的自相关时间的数量级。

详细解释

让我们定义一些符号来正式回答您的问题。xt成为您的 MCMC 模拟当时的状态t,假设远高于老化时间。f成为您想要测量的可观察量。

例如,xtR, 和f=fa(x):“1如果x[a,a+Δ], 0 其他”。xt自然是从分布中提取的P(x),您使用 MCMC 执行此操作。

在任何抽样中,您总是需要计算可观察的平均值f,您使用估算器执行此操作:

F=1Ni=1Nf(xi)

我们看到这个估计量的平均值F(相对于P(x)) 是

F=1Ni=1Nf(xi)=f(x)

这就是您想要获得的。

主要问题是当你计算这个估计量的方差时,F2F2,您将获得表格的条款

i=1Nj=1Nf(xi)f(xj)

如果xt是相关样本。而且,因为你可以写j=i+Δ,你可以把上面的双和写成自相关函数的和f,R(Δ)

所以,回顾一下:

  • 如果在计算上存储每个度量不需要任何成本,您可以这样做,但请记住,不能使用通常的公式计算方差。

  • 如果在 MCMC 的每一步测量计算成本很高,则必须找到一种方法来估计自相关时间的累积τ并且只执行测量τ. 在这种情况下,测量是独立的,因此您可以使用通常的方差公式。