可以先拟合贝叶斯模型,然后开始弱化先验吗?

机器算法验证 贝叶斯 方法
2022-03-08 07:53:59

在进行常客统计时,有一长串大禁忌,例如在决定收​​集更多数据之前查看统计测试的结果。我一般想知道贝叶斯统计中涉及的方法是否有类似的禁止清单,特别是以下是否是其中之一。

我最近意识到,对于我一直在拟合的一些模型,我的过程是首先用信息先验来拟合模型,看看它是否有效或崩溃,然后将先验削弱为无信息或信息量较弱的改装模型。

我这样做的动机确实与我在 JAGS/Stan 中编写这些模型这一事实有关,在我看来,我一直将其视为编程任务而不是统计任务。因此,我进行了第一次运行,通过使用信息先验来快速收敛,从而更容易在我编写的模型中发现错误。然后,在调试模型之后,我用信息量不足或信息量不足的先验对其进行改装。

我的问题是我是否在这个过程中违反了一些严肃的规则。例如,为了使我的推论有效,并避免利用研究人员的自由度,在开始拟合任何模型之前,我是否需要承诺特定的先验?

4个回答

主观贝叶斯主义者可能不同意,但从我的角度来看,先验只是模型的一部分,就像可能性一样。根据模型行为改变先验并不比改变你的似然函数好或坏(例如尝试不同的误差分布或不同的模型公式)。

如果它让您进行钓鱼探险可能会很危险,但其他选择可能会更糟。例如,在您提到的情况下,您的模型崩溃并且您得到无意义的系数,那么您别无选择,只能重试。

此外,您可以采取一些步骤来尽量减少钓鱼探险的危险:

  • 提前决定在最终分析中使用哪个先验
  • 在您发布或描述您对整个过程的分析时保持领先
  • 尽可能多地使用模拟数据和/或保留数据以进行最终分析。这样,您就不会过多地污染您的分析。

我认为你在这种情况下没问题,原因有以下三个:

  1. 你实际上并没有根据你的结果调整你的先验。如果你说“我使用 XYZ 先验,并根据收敛速度和我的 DIC 结果,然后我通过 ABC 修改我的先验”,那么我会说你是在拒绝,但在这种情况下它听起来你真的没有这样做。

  2. 在贝叶斯上下文中,先验是明确的。因此,您可能会不恰当地调整您的先验,但由此产生的先验将始终可见,以供其他人检查,他们可能会质疑您为什么拥有这些特定的先验。也许我在这里很天真,因为很容易看到类似先验的东西并说“嗯,看起来很合理”只是因为有人提供了它,但是......

  3. 我认为您所做的与 Gelman(和其他人)的建议有关,即逐步建立 JAGS 模型,首先使用合成数据,然后使用真实数据,以确保您没有规范错误. 这并不是频率论方法的真正因素,也不是真正的实验方法。

再说一次,我自己还在学习这些东西。

PS当你说你最初将它与“信息先验”快速收敛时,你的意思是实际上是由手头问题驱动的信息先验,还是只是由于任意原因强烈推动/限制后验以加速“收敛”的先验“到某个任意点?如果是第一种情况,你为什么要远离这些(有动机的)先验?

如果您尝试先验并根据其在手头数据上的表现选择一个,则它不再是“先验”。它不仅取决于数据(如经验贝叶斯分析),还取决于您想看到的内容(更糟)。最后,您确实使用了贝叶斯工具,但这不能称为贝叶斯分析。

我会说不,您不必承诺特定的先验。通常在任何贝叶斯数据分析期间,您都应该分析模型对先验的敏感性。这将包括尝试各种其他先验,看看结果会发生什么。这可能会揭示应该使用的更好或更强大的先验。

两个明显的“禁忌”是:为了获得更好的拟合而过多地使用先验,导致过度拟合,并更改模型的其他参数以获得更好的拟合。作为第一个示例:更改均值的初始先验,使其更接近样本均值。第二个:在回归中更改解释变量/特征以获得更好的拟合。这在任何版本的回归中都是一个问题,并且基本上会使您的自由度无效。