模型选择——子集选择法(Subset Selection)

文章目录

    • 一、 前言
    • 二、为什么要进行模型选择?
    • 三、模型选择标准
      • 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)两方面考虑。

  1. 模型准确性:当p > n时,最小二乘法失效,此时需要模型选择来控制方差,使模型成功拟合。
  2. 模型解释性:因为多元回归模型中的一些自变量可能与因变量无关,但最小二乘法得到的无关变量的系数可能不为0,此时需要通过模型选择移除某些无关特征。

  \  

三、模型选择标准

对于训练集来说,包含了所有变量的模型总是有着最小的RSS和最大的 R 2 R^2 R2,所以RSS和 R 2 R^2 R2不适合用来作为模型选择的标准。

通常情况下,我们希望选择拥有最小测试误差(Test error)的模型。那么我们该如何知道测试误差呢?

  1. 通过训练误差调整得到测试误差: Adjusted R 2 R^2 R2, Mallow’s Cp, AIC, BIC
  2. 直接预测测试误差: 校验集方法(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=1TSS/(n1)RSS/(np1)
调整后的 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)

  1. 将可用样本集随机分为两部分:训练集 (training set) 和验证或保持集(validation set or hold-out set);
  2. 用训练集拟合模型,将拟合的模型用于预测验证集;
  3. 将验证集的MSE用作 Test error 的估计。

缺点:

  • 只有一部分观测值用于拟合模型。
  • 根据原始数据的分割情况,Test error的估计值可能变化很大。
  • 验证集的Test error可能会高估整个数据集模型拟合的Test error。

2.2 交叉验证(Cross-validation CV)

K折交叉验证(K-fold Cross Validation)
  1. 将所有数据集分成k份;
  2. 不重复地每次取其中一份做测试集,用其他 k-1 份做训练集训练模型,之后计算该模型在测试集上的MSEi
  3. 将k次的 MSEi 取平均得到最后的 MSE
LOOCV(Leave-one-out cross-validation)
  1. 将所有数据集分成n份;
  2. 不重复地每次取其中一份做测试集,用其他 n-1 份做训练集训练模型,之后计算该模型在测试集上的MSEi
  3. 将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=1n(1hiyiyi )2
其中 y i ^ \widehat{y_{i}} yi 表示第i个拟合值,而 h i h_i hi 则表示leverage。
  \  

四、子集选择方法

1. 最优子集法(Best Subset Selection)

  1. 记 M0 为空模型(null model),此模型只存在截距项。
  2. 对于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选取)
  3. 从 M0, M1, … , Mp中,选取一个最优模型。选取标准包括:交叉验证的预测误差, Cp, AIC, BIC, Adjusted R2

缺点: p较大时运算量太大;巨大的探索空间可能导致过拟合。

2.逐步选择法(Stepwise Selection)

优点:运算量较小
缺点:选择的模型可能不是最优模型

2.1 向前逐步选择(Forward Stepwise Selection)

  1. 记 M0 为空模型(null model),此模型只存在截距项。
  2. 对于k = 0,1,2,…,p-1:
    拟合所有在 Mk 模型基础上加入1个自变量的模型(共有p-k个模型);
    保留RSS最小或R2最大的那个特征,此时这个模型记为Mk+1
  3. 从 M0, M1, … , Mp中,选取一个最优模型。选取标准包括:交叉验证的预测误差, Cp, AIC, BIC, Adjusted R2

2.2 向后逐步选择(Backward Stepwise Selection)

适用范围:样本数 n > 自变量数 p
(所以当p非常大时,向前逐步选择是唯一可用的子集选择法)

  1. 记 Mp 为包含所有自变量的模型(full model)。
  2. 对于k = p, p-1, … ,1:
    拟合所有拟合所有在 Mk 基础上只减少一个自变量的模型(共有k个模型);
    保留RSS最小或R2最大的那个特征,此时这个模型记为Mk-1
  3. 从 M0, M1, … , Mp中,选取一个最优模型。选取标准包括:交叉验证的预测误差, Cp, AIC, BIC, Adjusted R2

你可能感兴趣的:(Business,Statistics,机器学习,深度学习,神经网络)