文章目录
-
- 一、 前言
- 二、为什么要进行模型选择?
- 三、模型选择标准
-
- 1. 调整得到Test error
-
- 1.1 调整后的 R 2 R^2 R2 (Adjusted R 2 R^2 R2)
- 1.2 Mallow's C p C_p Cp
- 1.3 Akaike Information Criterion (AIC)
- 1.4 Bayesian information Criterion (BIC)
- 2. 直接预测Test error
-
- 2.1 校验集方法(Validation Set Approach)
- 2.2 交叉验证(Cross-validation CV)
-
- K折交叉验证(K-fold Cross Validation)
- LOOCV(Leave-one-out cross-validation)
- 四、子集选择方法
-
- 1. 最优子集法(Best Subset Selection)
- 2.逐步选择法(Stepwise Selection)
-
- 2.1 向前逐步选择(Forward Stepwise Selection)
- 2.2 向后逐步选择(Backward Stepwise Selection)
一、 前言
模型选择方法有三种,分别是:子集选择法(subset selection), 收缩法(Shrinkage)和降维法(Dimension Reduction)。
这篇文章主要介绍模型选择的子集选择法。
\
二、为什么要进行模型选择?
对于线性模型:
Y = β 0 + β 1 X 1 + . . . + β p X p + ϵ Y = \beta_{0} + \beta_{1}X_{1}+...+ \beta_{p}X_{p} +\epsilon Y=β0+β1X1+...+βpXp+ϵ
模型选择就是要:决定P的大小;确定哪些特征是重要的。
而进行模型选择,主要出于预测准确性(Prediction Accuracy)和模型解释度(Model Interpretability)两方面考虑。
- 模型准确性:当p > n时,最小二乘法失效,此时需要模型选择来控制方差,使模型成功拟合。
- 模型解释性:因为多元回归模型中的一些自变量可能与因变量无关,但最小二乘法得到的无关变量的系数可能不为0,此时需要通过模型选择移除某些无关特征。
\
三、模型选择标准
对于训练集来说,包含了所有变量的模型总是有着最小的RSS和最大的 R 2 R^2 R2,所以RSS和 R 2 R^2 R2不适合用来作为模型选择的标准。
通常情况下,我们希望选择拥有最小测试误差(Test error)的模型。那么我们该如何知道测试误差呢?
- 通过训练误差调整得到测试误差: Adjusted R 2 R^2 R2, Mallow’s Cp, AIC, BIC
- 直接预测测试误差: 校验集方法(Validation Set Approach), 交叉验证(Cross-validation)
1. 调整得到Test error
1.1 调整后的 R 2 R^2 R2 (Adjusted R 2 R^2 R2)
A d j u s t e d R 2 = 1 − R S S / ( n − p − 1 ) T S S / ( n − 1 ) Adjusted \ R^{2} = 1 - \frac{RSS/(n - p -1)}{TSS/(n -1)} Adjusted R2=1−TSS/(n−1)RSS/(n−p−1)
调整后的 R 2 R^2 R2越大,意味着模型的测试误差越小。
1.2 Mallow’s C p C_p Cp
C p = 1 n ( R S S + 2 p σ ^ 2 ) C_{p}=\frac{1}{n}(RSS+2p\widehat{\sigma}^{2}) Cp=n1(RSS+2pσ 2)
其中, σ ^ \widehat\sigma σ 是对误差项 ϵ \epsilon ϵ 方差的估计, p 为自变量数量。
C p C_p Cp越小,模型越优。
1.3 Akaike Information Criterion (AIC)
A I C = − 2 l o g L + 2 p AIC=-2logL+2p AIC=−2logL+2p
其中,L为似然函数。
AIC越小,模型越优。
1.4 Bayesian information Criterion (BIC)
B I C = 1 n ( R S S + l o g ( n ) p σ ^ 2 ) BIC=\frac{1}{n}(RSS+log(n)p\widehat{\sigma}^{2}) BIC=n1(RSS+log(n)pσ 2)
其中,n为样本数量。
对比Mallow’s Cp 和 BIC, 可以发现BIC将Cp公式中的 2 p σ ^ 2p\widehat\sigma 2pσ 替换为 l o g ( n ) p σ ^ log(n)p\widehat\sigma log(n)pσ 。
对于任意n>7, 均有log(n) > 2,所以BIC对于更多变量的惩罚更重。因此,相比于Cp,BIC倾向选择变量数更小的模型。
2. 直接预测Test error
优点:
- 直接预测Test error
- 不需要对误差项 ϵ \epsilon ϵ 方差 σ 2 \sigma^2 σ2 进行估计
- 可用于无法精确知道模型自由度的情况
2.1 校验集方法(Validation Set Approach)
- 将可用样本集随机分为两部分:训练集 (training set) 和验证或保持集(validation set or hold-out set);
- 用训练集拟合模型,将拟合的模型用于预测验证集;
- 将验证集的MSE用作 Test error 的估计。
缺点:
- 只有一部分观测值用于拟合模型。
- 根据原始数据的分割情况,Test error的估计值可能变化很大。
- 验证集的Test error可能会高估整个数据集模型拟合的Test error。
2.2 交叉验证(Cross-validation CV)
K折交叉验证(K-fold Cross Validation)
- 将所有数据集分成k份;
- 不重复地每次取其中一份做测试集,用其他 k-1 份做训练集训练模型,之后计算该模型在测试集上的MSEi
- 将k次的 MSEi 取平均得到最后的 MSE
LOOCV(Leave-one-out cross-validation)
- 将所有数据集分成n份;
- 不重复地每次取其中一份做测试集,用其他 n-1 份做训练集训练模型,之后计算该模型在测试集上的MSEi
- 将n次的 MSEi 取平均得到最后的 MSE
比起test set approach,LOOCV有很多优点。首先它不受测试集合训练集划分方法的影响,因为每一个数据都单独的做过测试集。同时,其用了n-1个数据训练模型,也几乎用到了所有的数据,保证了模型的bias更小。
不过LOOCV的缺点也很明显,那就是计算量过于大,是test set approach耗时的n-1倍
为了解决计算成本太大的弊端,又有人提供了下面的式子,使得LOOCV计算成本和只训练一个模型一样快。
C V ( n ) = 1 n ∑ i = 1 n ( y i − y i ^ 1 − h i ) 2 CV_{(n)}=\frac{1}{n}\sum^{n}_{i=1}(\frac{y_{i}-\widehat{y_{i}}}{1-h_i})^{2} CV(n)=n1i=1∑n(1−hiyi−yi )2
其中 y i ^ \widehat{y_{i}} yi 表示第i个拟合值,而 h i h_i hi 则表示leverage。
\
四、子集选择方法
1. 最优子集法(Best Subset Selection)
- 记 M0 为空模型(null model),此模型只存在截距项。
- 对于k = 1,2,3,…,p:
选取所有 C p k C^k_p Cpk 个包含k个自变量的模型进行拟合;
从 C p k C^k_p Cpk 个模型中选择最优模型,记为Mk。(因为这 C p k C^k_p Cpk 个模型的自变量数量均为k,所以此处最优模型可以通过最小的RSS或者最大的R2选取)
- 从 M0, M1, … , Mp中,选取一个最优模型。选取标准包括:交叉验证的预测误差, Cp, AIC, BIC, Adjusted R2。
缺点: p较大时运算量太大;巨大的探索空间可能导致过拟合。
2.逐步选择法(Stepwise Selection)
优点:运算量较小
缺点:选择的模型可能不是最优模型
2.1 向前逐步选择(Forward Stepwise Selection)
- 记 M0 为空模型(null model),此模型只存在截距项。
- 对于k = 0,1,2,…,p-1:
拟合所有在 Mk 模型基础上加入1个自变量的模型(共有p-k个模型);
保留RSS最小或R2最大的那个特征,此时这个模型记为Mk+1。
- 从 M0, M1, … , Mp中,选取一个最优模型。选取标准包括:交叉验证的预测误差, Cp, AIC, BIC, Adjusted R2。
2.2 向后逐步选择(Backward Stepwise Selection)
适用范围:样本数 n > 自变量数 p
(所以当p非常大时,向前逐步选择是唯一可用的子集选择法)
- 记 Mp 为包含所有自变量的模型(full model)。
- 对于k = p, p-1, … ,1:
拟合所有拟合所有在 Mk 基础上只减少一个自变量的模型(共有k个模型);
保留RSS最小或R2最大的那个特征,此时这个模型记为Mk-1。
- 从 M0, M1, … , Mp中,选取一个最优模型。选取标准包括:交叉验证的预测误差, Cp, AIC, BIC, Adjusted R2。