Gibbs 采样器中的切片采样

机器算法验证 马尔可夫链蒙特卡罗 吉布斯
2022-04-02 03:19:22

问题

我的问题是:

  1. 以下 Gibbs 内切片采样方法是否有效?
  2. 是否有一个很好的参考可以使用,或者更好地证明它的合理性?

语境

我正在尝试从高维联合分布中采样,我将简化为p(x,y). 比方说xy现在是标量。我想使用 Gibbs 采样器来抽取样本。即,我想迭代:

  1. 样本x从其完整的条件,p(x|y).
  2. 样本y从其完整的条件,p(y|x).

不幸的是,我无法从中取样p(x|y)或者p(y|x)直接地。就我而言,我也尝试用 Metropolis-Hastings 和拒绝抽样来替换这些 Gibbs 步骤,但结果很差。用单变量切片采样器替换每个 Gibbs 步骤,我得到了更好的结果。(有关切片采样的解释,请参阅Radford Neal 的 2003 年论文。)现在,我使用 Gibbs 内的切片采样算法。

吉布斯内切片采样

  1. 使用单变量切片采样绘制xp(x|y).
  2. 使用单独且独立的单变量切片采样器进行绘制yp(y|x).

如果对多元切片采样有任何混淆,我的具体意思是:

  1. 样本u从统一(0,p(x|y))。
  2. 样本x从制服{x:u<p(x|y)}.
  3. 样本v从统一(0,p(y|x))。
  4. 样本y从制服{y:v<p(y|x)}.

其中第 2 步和第 4 步中的制服并不确切知道。(另外,我不需要样本u或者v,所以我丢弃了那些。)

2个回答

我找到了两个参考。这一篇详细介绍了算法,但我可以在 Google 图书上看到的公开页面并不能证明它有效。

@inbook{cruz,
    Author = {Cruz, Marcelo G. and Peters, Gareth W. and Shevchenko, Pavel V.},
    Chapter = {7.6.2: Generic univariate auxiliary variable Gibbs sampler: slice sampler},
    Publisher = {Wiley},
    Title = {Fundamental Aspects of Operational Risk and Insurance Analytics: A Handbook of Operational Risk},
    Year = {2015}}

另一本也可以在 Google 图书上免费获得,似乎暗示了 Gibbs 内的切片采样。

@inbook{banerjee,
    Author = {Banerjee, Sudipto and Carlin, Bradley P. and Gelfand, Alan E. },
    Chapter = {9.4.1: Regression in the Gaussian case},
    Edition = {2nd},
    Publisher = {CRC Press},
    Title = {Hierarchical Modeling and Analysis for Spatial Data},
    Year = {2015}}

我同意,最好找到可靠的有效性证明,最好是在一本好的期刊上。

编辑:甚至 Gelman 著名的“贝叶斯数据分析”(第 3 版)也提到了这个想法。在第 12.3 节:对 Gibbs 和 Metropolis 的进一步扩展中,在“切片采样”标题下,第一段的末尾说

切片采样是指在这种均匀分布上应用迭代模拟算法。实现有效切片采样过程的细节可能很复杂,但该方法可以广泛应用,并且对于在 Gibbs 采样结构中采样一维条件分布特别有用。

Neal 著名的 2003 年切片采样纸是我认为第一次提出建议的地方。第 4 节的第一段说

当仅更新一个(实值)变量时,切片采样是最简单的。当感兴趣的分布是单变量时当然会出现这种情况,但更典型的是,本节的单变量切片采样方法将用于从 x = (x1,...,xn) 的多变量分布中采样通过依次对每个变量重复采样。为了更新 xi,我们必须能够计算一个函数 fi(xi),它与 ​​p(xi|{xj}j̸=i) 成正比,其中 {xj}j̸=i 是其他变量的值。

然而我仍然找不到正确的证据。

通常情况下,任何有效的单变量分布 MCMC 方案都可以应用于单变量条件分布,作为 MCMC 方案的一部分,用于从多变量分布中进行抽样。这个事实在所有关于 MCMC 的文献中都被广泛使用。它的证明很简单。在这方面,特别是对于切片采样,不需要证明任何特别之处。