是否有任何理由更喜欢 AIC 或 BIC?

机器算法验证 造型 aic 交叉验证 比克 模型选择
2022-02-06 11:03:03

AIC 和 BIC 都是评估模型拟合的方法,因为估计参数的数量会受到惩罚。据我了解,BIC 比 AIC 更多地惩罚模型的自由参数。除了基于标准严格程度的偏好之外,还有其他理由更喜欢 AIC 而不是 BIC,反之亦然?

4个回答

您的问题意味着 AIC 和 BIC 试图回答同一个问题,这是不正确的。AIC 试图选择最充分地描述未知的高维现实的模型。这意味着现实永远不在正在考虑的候选模型集中。相反,BIC 试图在候选集合中找到 TRUE 模型。我觉得很奇怪,假设现实是在研究人员一路上建立的模型之一中实例化的。这对 BIC 来说是一个真正的问题。

尽管如此,还是有很多研究人员说 BIC 比 AIC 更好,他们使用模型恢复模拟作为论据。这些模拟包括从模型 A 和 B 生成数据,然后用这两个模型拟合两个数据集。当错误的模型比生成的模型更好地拟合数据时,就会发生过度拟合。这些模拟的目的是查看 AIC 和 BIC 纠正这些过拟合的程度。通常,结果表明 AIC 过于自由,并且仍然经常更喜欢更复杂、错误的模型,而不是更简单、真实的模型。乍一看,这些模拟似乎是很好的论据,但它们的问题是它们对 AIC 毫无意义。正如我之前所说,AIC 并不认为任何正在测试的候选模型实际上都是真的。根据 AIC,所有模型都是对现实的近似,现实永远不应该是低维的。至少低于一些候选模型。

我的建议是同时使用 AIC 和 BIC。大多数时候,他们会就首选模型达成一致,当他们不同意时,只需报告即可。

如果您对 AIC 和 BIC 都不满意并且有空闲时间进行投资,请查看最小描述长度 (MDL),这是一种完全不同的方法,可以克服 AIC 和 BIC 的限制。MDL 有几种测量方法,如归一化最大似然或 Fisher 信息近似。MDL 的问题在于其数学要求高和/或计算密集。

尽管如此,如果你想坚持简单的解决方案,评估模型灵活性的一个好方法(特别是当参数数量相等时,使 AIC 和 BIC 无用)是执行参数引导,它很容易实现。这是一篇关于它的论文的链接。

这里有些人提倡使用交叉验证。我个人使用过它并且没有任何反对意见,但它的问题是样本切割规则(留一法、K-折叠等)中的选择是无原则的。

尽管 AIC 和 BIC 都是最大似然估计驱动并惩罚自由参数以对抗过度拟合,但它们这样做的方式会导致明显不同的行为。让我们看一下该方法的一个常见版本(其结果是规定正态分布的误差和其他良好行为假设):

  • AIC = -2*ln(可能性)+ 2*k,

  • BIC = -2*ln(可能性)+ ln(N)*k,

在哪里:

  • k = 模型自由度
  • N = 观察次数

在这两种情况下,比较组中最好的模型是最小化这些分数的模型。显然,AIC 并不直接取决于样本量。此外,一般来说,AIC 存在可能过度拟合的危险,而 BIC 存在可能欠拟合的危险,这仅仅是因为它们如何惩罚自由参数(AIC 中的 2*k;BIC 中的 ln(N)*k)。从历史上看,随着数据的引入和分数的重新计算,在相对较低的 N(7 和更少)下,BIC 比 AIC 对自由参数的容忍度更高,但在更高的 N 下容忍度更低(因为 N 的自然对数克服了 2)。

此外,AIC 旨在找到未知数据生成过程的最佳近似模型(通过最小化预期的估计KL 散度)。因此,它未能在概率上收敛到真实模型(假设评估的组中存在一个),而 BIC 确实收敛,因为 N 趋于无穷大。

因此,正如在许多方法学问题中一样,首选取决于您要做什么,还有哪些其他方法可用,以及是否概述了任何特征(收敛性、自由参数的相对容差、最小化预期的 KL 散度),说出你的目标。

我的快速解释是

  • AIC 最适合预测,因为它渐近等效于交叉验证。
  • BIC 最适合解释,因为它允许对基础数据生成过程进行一致的估计。

根据我的经验,当目标是最大化预测歧视时,BIC 会导致严重的欠拟合,而 AIC 通常表现良好。