贝叶斯对过拟合的思考

机器算法验证 贝叶斯 交叉验证 预测模型 验证 回归策略
2022-02-07 17:58:19

我花了很多时间来开发用于验证传统频率统计领域中的预测模型的方法软件。在将更多的贝叶斯思想付诸实践和教学时,我看到了一些需要接受的关键差异。首先,贝叶斯预测建模要求分析师认真考虑可能针对候选特征定制的先验分布,这些先验将模型拉向它们(即,针对不同的预测特征,通过不同的惩罚量实现收缩/惩罚/正则化)。其次,“真正的”贝叶斯方法不会产生单个模型,而是会获得整个后验分布来进行预测。

考虑到这些贝叶斯特征,过拟合是什么意思?我们应该评估它吗?如果是这样,怎么做?我们如何知道贝叶斯模型何时可用于现场使用?或者这是一个有争议的问题,因为当我们使用我们开发的预测模型时,后验将携带所有谨慎的不确定性?

如果我们强迫贝叶斯模型被提炼成一个单一的数字,例如后验均值/众数/中值风险,思维会发生怎样的变化?

在这里看到了一些相关的想法。可以在此处找到并行讨论。

后续问题::如果我们完全是贝叶斯,并且在查看数据之前花一些时间考虑先验,并且我们拟合了一个适当指定了数据似然性的模型,那么我们是否不得不对我们的模型在过度拟合方面感到满意? 或者我们是否需要做我们在常客世界中所做的那样,随机选择的主题平均可以很好地预测,但是如果我们选择一个预测非常低或预测值非常高的主题,就会出现回归是什么意思?

2个回答

首先我可能会说,贝叶斯模型不能系统地过拟合(或欠拟合)从先前预测分布中提取的数据,这是在将贝叶斯软件应用于收集的数据之前验证贝叶斯软件是否正常工作的程序的基础世界。

但它可以过拟合从先前预测分布中提取的单个数据集或从世界收集的单个数据集,因为应用于您所依赖的数据的各种预测措施看起来比应用于未来数据的相同预测措施更好。由相同的过程生成。Richard McElreath 的贝叶斯著作的第 6 章专门讨论过拟合。

良好的先验可以减轻过度拟合的严重性和频率,尤其是那些能够提供有关效果规模信息的先验。通过将消失的先验概率放在难以置信的大值上,您可以阻止后验分布因您所依赖的数据的某些特殊方面而过度兴奋,这可能暗示着难以置信的大效应。

检测过拟合的最佳方法涉及留一法交叉验证,它可以从实际上不会将任何观察结果排除在条件集之外的后验分布来近似。有一个假设,即您所依据的单个“观察”[*] 对后验分布没有过大的影响,但可以通过评估广义帕累托分布中形状参数的估计大小来检查该假设,即拟合重要性采样权重(源自对后验分布的每次抽取评估的观察的对数似然)。如果满足此假设,则您可以获得每个观察值的预测测量值,就好像该观察值已被省略,后验是从剩余观察的条件中提取的,并且已经为省略的观察构建了后验预测分布。如果您对遗漏观察的预测受到影响,那么您的模型一开始就过度拟合。这些想法在R 的loo ,其中包括诸如herethere之类的引用。

就提炼到一个数字而言,我喜欢计算落在 50% 预测区间内的观察值的比例。如果该比例大于二分之一,则模型过度拟合,尽管您需要多个观察值才能消除包含指标函数中的噪声。为了比较不同的模型(可能过拟合),预期的对数预测密度(由looloo中的函数计算)package) 是一个很好的度量(由 IJ Good 提出),因为它考虑到了一个更灵活的模型可能比一个不太灵活的模型更好地拟合可用数据但预计未来数据预测更差的可能性。但是这些想法可以应用于任何预测度量的期望(这对从业者来说可能更直观);查看looE_loo中的函数。

[*] 您必须选择在分层模型中构成观察的内容。例如,您是否对预测新患者或现有患者的新时间点感兴趣?您可以采用任何一种方式,但前者要求您(重新)编写似然函数以整合患者特定参数。

过度拟合意味着模型在训练集上表现良好,但在测试集上表现不佳。恕我直言,它来自两个来源:我们使用的数据和模型(或我们的主观性)。

数据可能是更重要的因素。无论我们使用什么模型/方法,我们都隐含地假设我们的数据具有足够的代表性,也就是说,我们从(训练)数据中获得的数据也可以推广到人群。在实践中,情况总是如此。如果数据不是 iid 则标准k-fold CV 在避免过度拟合方面毫无意义。

因此,如果我们是常客,那么过度拟合的根源来自 MLE。如果我们是贝叶斯,那么这来自先验分布的(主观)选择(当然还有可能性的选择)。因此,即使您使用后验分布/均值/中值,您也已经从一开始就过度拟合了,并且这种过度拟合会继续存在。正确选择先验分布和可能性会有所帮助,但它们仍然是模型,您永远无法完全避免过度拟合。