如果重要的话,我正在使用Rstan。
Stan让我们以变分模式和采样模式运行,变分模式更快。我的问题是变量Stan的行为是否可以提供关于我们模型的任何线索。
变分模式有几种行为,我想知道它们是否可能提供一些线索,表明我们的模型不正确,甚至可能是什么。例如:
我们在eta适应期间可能会收到错误。
我们可以在渐变上升过程中出现错误,通常在任何迭代之前,但偶尔会在以后的迭代中出现。
我们可以得到渐变上升的分歧 - 即delta ELBO意味着爆炸。
我们可以将delta ELBO均值/中位数增加到高于最初的1.0,但随后会减少直到收敛。
我们的delta ELBO均值/中位数从1.0减少,但迭代次数更多或更少。
我们可以得到delta ELBO均值或中位数或两者收敛(即低于0.01)。
我在考虑经验法则。作为抽样的一个例子,如果我有一个合理大小的数据集和一个相当简单的模型,但需要一个不合理的长时间来抽样,我的第一个想法是检查我的先验。当我将这些行为留在默认的(平坦的,不正确的先验)时,我已经看到了这种行为,并且通常通过在事物上放置一个相当模糊的事物以使采样器远离样本空间的难以置信的部分来解决这个问题。 / p>
任何人都有关于平均模式的经验法则或见解 - 无论是本身还是与采样有关?
答案 0 :(得分:4)
我认为可以公平地说,我们对MCMC的诊断与变分贝叶斯相比更进一步。 Stan中的VB算法试图找到最接近无约束空间中参数后验分布的多元正态分布。这可能会失败,因为迭代算法实际上找不到与后验分布最接近的多元正态分布,或者因为无约束空间中的后验分布不能通过多元法线很好地近似。
一条经验法则是你应该多次运行VB。在我看来,第二个经验法则是Stan将从后验分布中非常有效地进行采样,后验分布近似为多元正态分布。因此,如果MCMC很慢,要么您有数百万个数据点,要么后验分布不是大致多变量正常(或两者)。在前一种情况下VB可能更好,但在后一种情况下不太可能如此。
我们已经对示例模型的集合评估了VB。生成良好的预测似乎比恢复参数更好(使用后验均值和标准差来构建VB估计的z分数)。它似乎在没有缩放参数的模型上做得更好。
特别是对于试图找到与后验最接近的不相关多元正态分布的均值变量---几乎需要你进行大量的重新参数化以使参数在后验分布中不那么相关。这就是为什么rstanarm建议为均值场(以及其他估算算法)指定QR = TRUE
参数的原因之一,它通过将预测变量与QR分解正交化来减少系数中的后验相关性,然后在绘制之后反转变换。已经获得。