什么是正向选择?(定义和例子)

191 阅读4分钟

在统计学中,逐步选择是一个程序,我们可以用它来从一组预测变量中建立一个回归模型,方法是在模型中逐步输入和删除预测变量,直到没有统计上的有效理由再输入或删除。

逐步选择的目的是建立一个回归模型,其中包括所有与响应变量有统计学上显著关系的预测变量。

最常用的逐步选择方法之一被称为正向选择,其工作原理如下。

**第一步:**拟合一个没有预测变量的纯截距回归模型。计算该模型的AIC*值。

**第2步:**拟合所有可能的单预测变量回归模型。确定产生最低AIC的模型,并且与纯截距模型相比,AIC也有明显的减少。

**第3步:**拟合所有可能的双预测器回归模型。确定产生最低AIC的模型,并且与单预测器模型相比,AIC也有统计学上的显著减少。

重复这一过程,直到用更多的预测变量拟合回归模型不再导致AIC的统计学上的显著降低。

*几个指标可以用来计算回归模型的拟合质量,包括交叉验证预测误差、Cp、BIC、AIC或调整的R2 。在下面的例子中,我们选择使用AIC。

下面的例子显示了如何在R中进行正向选择。

例子。R语言中的正向选择

在这个例子中,我们将使用R中内置的MTCars数据集

#view first six rows of mtcars
head(mtcars)

                   mpg cyl disp  hp drat    wt  qsec vs am gear carb
Mazda RX4         21.0   6  160 110 3.90 2.620 16.46  0  1    4    4
Mazda RX4 Wag     21.0   6  160 110 3.90 2.875 17.02  0  1    4    4
Datsun 710        22.8   4  108  93 3.85 2.320 18.61  1  1    4    1
Hornet 4 Drive    21.4   6  258 110 3.08 3.215 19.44  1  0    3    1
Hornet Sportabout 18.7   8  360 175 3.15 3.440 17.02  0  0    3    2
Valiant           18.1   6  225 105 2.76 3.460 20.22  1  0    3    1

我们将拟合一个多元线性回归模型,使用mpg(每加仑英里数)作为响应变量,将数据集中的其他10个变量作为潜在的预测变量。

下面的代码显示了如何进行正向逐步选择。

#define intercept-only model
intercept_only <- lm(mpg ~ 1, data=mtcars)

#define model with all predictors
all <- lm(mpg ~ ., data=mtcars)

#perform forward stepwise regression
forward <- step(intercept_only, direction='forward', scope=formula(all), trace=0)

#view results of forward stepwise regression
forward$anova

   Step Df  Deviance Resid. Df Resid. Dev       AIC
1       NA        NA        31  1126.0472 115.94345
2  + wt -1 847.72525        30   278.3219  73.21736
3 + cyl -1  87.14997        29   191.1720  63.19800
4  + hp -1  14.55145        28   176.6205  62.66456

#view final model
forward$coefficients

(Intercept)          wt         cyl          hp 
 38.7517874  -3.1669731  -0.9416168  -0.0180381 

下面是如何解释结果的。

首先,我们拟合只有截距的模型。这个模型的AIC为115.94345

接下来,我们拟合所有可能的单预测器模型。与仅有截距的模型相比,产生最低的AIC,并且在统计学上显著减少AIC的模型使用的是预测因子wt,这个模型的AIC为73.21736

接下来,我们拟合了所有可能的双预测器模型。与单预测器模型相比,产生了最低的AIC,并且AIC也有了明显的减少,增加了预测器圆柱

接下来,我们拟合所有可能的三个预测器模型。与双预测器模型相比,产生了最低的AIC,并且在统计学上显著减少了AIC,增加了预测器hp。这个模型的AIC为62.66456

接下来,我们拟合了所有可能的四预测器模型。结果发现,这些模型中没有一个能明显减少AIC,因此我们停止了这个程序。

因此,最终的模型变成了。

MPG = 38.75 - 3.17*Wt - 0.94*Cyl - 0.02*hyp

事实证明,试图在模型中增加更多的预测变量并不会导致AIC的统计学上的显著减少。

因此,我们得出结论,最好的模型是有三个预测变量的模型:重量、气缸和马力。

关于使用AIC的说明

在前面的例子中,我们选择使用AIC作为评估各种回归模型拟合度的指标。

AIC是Akaike信息准则的缩写,其计算方法为。

AIC = 2K - 2ln(L)

其中。

  • **K:**模型参数的数量。
  • ln(L)。模型的对数可能性。这告诉我们,鉴于数据,该模型的可能性有多大。

然而,你可能会选择使用其他指标来评估回归模型的拟合度,包括交叉验证预测误差、Cp、BIC、AIC或调整的R2。

幸运的是,大多数统计软件允许你在进行正向选择时指定你想使用的指标。

其他资源

下面的教程提供了关于回归模型的额外信息。

A Guide to Multicollinearity & VIF in Regression
什么被认为是好的AIC值?

The postWhat is Forward Selection?(定义和例子)首次出现在Statology上。