如何在r中计算aic(包括示例)


赤池信息准则 (AIC) 是用于比较多个回归模型拟合度的指标。

计算方法如下:

AIC = 2K – 2 ln (L)

金子:

  • K:模型参数的数量。 K 的默认值为 2,因此只有一个预测变量的模型的 K 值为 2+1 = 3。
  • ln (L) :模型的对数似然。大多数统计软件可以自动为您计算该值。

AIC 旨在找到解释数据变化最大的模型,同时惩罚使用过多参数的模型。

拟合多个回归模型后,您可以比较每个模型的 AIC 值。 AIC越低,模型越适合。

要计算 R 中多元回归模型的 AIC,我们可以使用AICcmodavg包中的aictab()函数。

以下示例演示如何使用此函数计算和解释 R 中各种回归模型的 AIC。

示例:在 R 中计算和解释 AIC

假设我们想要使用mtcars数据集中的变量来拟合三个不同的多元线性回归模型

以下是我们将在每个模型中使用的预测变量:

  • 模型 1 中的预测变量:disp、hp、wt、qsec
  • 模型 2 中的预测变量:disp、qsec
  • 模型 3 中的预测变量:disp、wt

以下代码显示了如何拟合每个回归模型:

 #fit three models
model1 <- lm(mpg ~ disp + hp + wt + qsec, data = mtcars)
model2 <- lm(mpg ~ disp + qsec, data = mtcars)
model3 <- lm(mpg ~ disp + wt, data = mtcars)

接下来,我们将模型放入列表中,并使用aictab()函数计算每个模型的 AIC:

 library (AICcmodavg)

#define list of models
models <- list(model1, model2, model3)

#specify model names
mod.names <- c('disp.hp.wt.qsec', 'disp.qsec', 'disp.wt')

#calculate AIC of each model
aictab(cand.set = models, modnames = mod.names)

Model selection based on AICc:

                K AICc Delta_AICc AICcWt Cum.Wt LL
disp.hp.wt.qsec 6 162.43 0.00 0.83 0.83 -73.53
available wt 4 165.65 3.22 0.17 1.00 -78.08
disp.qsec 4 173.32 10.89 0.00 1.00 -81.92

以下是如何解释结果:

  • K:模型中参数的数量。
  • AICc:模型的 AIC 值。小写“c”表示 AIC 是根据针对小样本校正的 AIC 计算得出的。
  • Delta_AICc:最佳模型的AIC与当前模型比较的AIC之间的差异。
  • AICcWt:模型中可以找到的总预测能力的比例。
  • Cum.Wt :AIC 权重的累积和。
  • LL:模型的对数似然。这告诉我们在给定我们使用的数据的情况下该模型的可能性有多大。

AIC 值最低的模型始终列在最前面。从结果中我们可以看到以下模型具有最低的 AIC 值,因此是最佳拟合模型:

mpg = β 0 + β 1 (disp) + β 2 (hp) + β 3 (重量) + β 4 (qsec)

一旦我们确定该模型是最佳模型,我们就可以继续进行模型拟合并分析结果(包括 R 平方值和 beta 系数),以确定预测变量集与响应变量之间的确切关系。

其他资源

如何在 R 中执行简单线性回归
如何在 R 中执行多元线性回归
如何计算 R 中调整后的 R 平方
如何在 R 中计算 Mallows Cp

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注