资讯

贝叶斯模型平均是什么?按后验概率给多个模型加权

2026-11-053 分钟阅读百科
TL;DR贝叶斯模型平均(Bayesian Model Averaging,BMA)不只选择单个“最好”的模型,而是把多个候选模型的预测按各自的后验概率(由先验与边缘似然决定)加权平均,以计入模型本身的不确定性;它在统计预测和变量选择中常用,与集成学习相关但不同,数据不符合任何候选模型时可能退化为只选一个模型。

贝叶斯模型平均(Bayesian Model Averaging,BMA)是一种在多个候选模型之间进行综合,而不是只挑选一个的方法。它根据每个模型在看到数据之后的可信程度,也就是后验概率,对各个模型的预测进行加权平均,从而把“到底哪个模型是对的”这一不确定性也纳入到最终的预测之中。

为什么不只选一个模型

在统计建模中,常见的做法是先在多个候选模型中选出一个“最好”的,比如选择变量组合、选择模型的复杂度,然后就把这个模型当作真实的模型来使用。但这样做忽略了一个问题:我们对“哪个模型是对的”本身其实并不确定。如果有好几个模型都能较好地解释数据,只选其中一个,就会低估预测的不确定性,得出过于自信的结论。贝叶斯模型平均的思想是:既然不确定,就把所有可能的模型都考虑进来,按照它们的可信程度加权。这体现了“多释原则”:不轻易排除任何与数据相符的解释。

它是怎么计算的

首先,给每个候选模型一个先验概率,表示在看到数据之前对它的相信程度,没有特别偏好时可以设为相等。然后,计算每个模型的边缘似然,也叫证据:在这个模型下,观察到当前数据的概率,需要对模型内部所有可能的参数取值进行积分。接着,根据贝叶斯定理,每个模型的后验概率正比于它的先验概率乘以边缘似然。最后,对一个新的问题进行预测时,让每个模型分别给出预测,再按照它们的后验概率进行加权平均。

边缘似然有一个很好的性质:它会自动地惩罚过于复杂的模型。一个非常灵活的模型能够解释各种各样的数据,它的概率被分散到了太多可能的结果上,对于实际观察到的这一份数据,给出的概率反而不高。因此贝叶斯模型平均天然地包含了“奥卡姆剃刀”的效果。

实际中的困难

贝叶斯模型平均的主要困难在于计算。边缘似然需要对参数进行积分,往往很难精确计算,常用拉普拉斯近似、贝叶斯信息准则近似或马尔可夫链蒙特卡罗方法来估计。当候选模型的数量非常多时,比如在 30 个变量中选择子集,可能的组合超过十亿个,无法逐一计算,需要借助马尔可夫链在模型空间中进行搜索和采样,或者只保留后验概率较高的那些模型。Adrian Raftery、Jennifer Hoeting 等人在 20 世纪 90 年代推动了这一方法在统计学中的应用。

与集成学习的关系

贝叶斯模型平均与集成学习看起来很像,都是把多个模型组合起来,但思想并不相同。贝叶斯模型平均假设候选模型中有一个是真实的,加权反映的是“哪个是真模型”的不确定性,随着数据增多,后验概率会越来越集中到一个模型上,最终几乎只剩一个模型起作用。而集成学习,比如 Bagging、Boosting、Stacking,是有意地把多个模型组合成一个更强的整体,组合本身就是模型的一部分。Thomas Minka 在 2000 年专门撰文强调了这一区别。研究还发现,当所有候选模型都不能很好地描述数据时,贝叶斯模型平均的效果可能不如简单的集成方法。贝叶斯模型平均被用于经济预测、天气预报、流行病学中的风险因素分析等领域。