关于 Stan 行为的提示以及它告诉我们什么?

Tips on how Stan behaves and what that tells us?

如果重要的话,我正在使用 Rstan。

Stan 让我们 运行 在变分模式和采样模式下,变分模式要快得多。我的问题是,变分 Stan 的行为是否可以提供有关我们模型的任何线索。

变分模式有多种行为,我想知道它们是否会提供线索表明我们的模型有问题,甚至可能是什么问题。例如:

  1. 我们在 eta 适配过程中可能会出错。

  2. 我们可能会在梯度上升过程中出现错误,通常是在任何迭代之前,但偶尔会在以后的迭代中出现。

  3. 我们可以得到梯度上升的差异——即 delta ELBO 均值爆炸。

  4. 我们可以让 ELBO 增量 mean/median 增加到初始 1.0 以上,然后减小直到收敛。

  5. 我们已经让 ELBO 增量 mean/median 从 1.0 减少,但需要更多或更少的迭代。

  6. 我们可以让 delta ELBO 均值或中值或两者收敛(即低于 0.01)。

我在考虑经验法则。作为采样时的一个例子,如果我有一个合理大小的数据集和一个相当简单的模型,但采样时间过长,我的第一个想法是检查我的先验。当我将先验保留为默认值(平坦的、不正确的先验)时,我已经看到了这种行为,并且通常通过在事物上放置一个相当模糊的先验来使采样器远离样本中不可信的部分来解决这个问题 space.

是否有人对均值场模式有经验法则或见解——无论是本身还是它与采样的关系?

我认为可以公平地说,与变分贝叶斯相比,我们对 MCMC 的诊断走得更远。 Stan 中的 VB 算法试图在无约束 space 中找到最接近参数后验分布的多元正态分布。这可能会失败,要么是因为迭代算法实际上没有找到最接近后验分布的多元正态分布,要么是因为无约束 space 中的后验分布不是多元正态分布的 well-approximated。

一个经验法则是您应该 运行 VB 多次。在我看来,第二个经验法则是 Stan 将从近似多元正态分布的后验分布中非常有效地采样。所以,如果 MCMC 很慢,要么你有数百万个数据点,要么后验分布不是近似多元正态分布(或两者都有)。 VB 在前一种情况下可能更可取,但在后一种情况下不太可能如此。

我们已经 VB 对示例模型集合进行了很好的评估。生成良好的预测似乎比恢复参数更好(使用后验均值和标准差为 VB 估计构建 z-score)。它似乎在没有尺度参数的模型上表现更好。

特别是平均场变体——它试图找到最接近后验的不相关多元正态分布——几乎需要你做很多重新参数化来使参数在后验分布中的相关性降低.这就是为什么 rstanarm 建议为 meanfield(以及其他估计算法)指定 QR = TRUE 参数的原因之一,它通过使用 QR 分解正交化预测变量然后在抽签后反转变换来减少系数中的后验相关性已获得