ISLR读书笔记十:模型选择——子集选择法(subsect selection)

前言

这篇文章主要讲的是模型选择(model selection)中的一类方法:子集选择法(subsect selection),接下来两篇文章将介绍模型选择的其他两类方法:收缩法(shrinkage)和降维法(dimension reduction)。
首先为什么要进行模型选择呢?以线性回归模型为例,主要出于预测准确性(prediction accuracy)和模型解释度(model interpretability)两方面的考虑。

  1. 模型准确性
    n n n 没有远大于 p p p 时,利用最小二乘拟合得到的预测结果方差会很大;当 n < p n<p n<p 时,最小二乘法失效,得不到唯一的参数估计。
  2. 模型解释度
    多元回归模型中的某些自变量,可能与因变量毫无关联,而最小二乘法得到的无关因素的参数系数未必刚好是 0,所以若加入这些无关因素,可能会影响模型解释度。

最优子集法(best subset selection)

算法:

  1. M 0 M_0 M0 为空模型(null model)(无自变量)。该模型预测的结果均为样本均值。
  2. For k = 1 , 2 , ⋯   , p k=1,2,\cdots,p k=1,2,,p
    拟合所有 C p k C_p^k Cpk 个包含 k k k 个自变量的模型;
    从这 C p k C_p^k Cpk 个模型选取最优的模型,记为 M k M_k Mk 。这里的最优,在线性回归问题中,可以是最小 R S S RSS RSS 或者最大 R 2 R^2 R2
  3. M 0 , M 1 , ⋯ , M p M_0,M_1,\cdots,M_p M0,M1,Mp 中选取最优模型。选取标准可以是交叉验证的预测误差,或者 C p ( A I C ) , B I C , C_p(AIC), BIC, Cp(AIC),BIC,调整后的 R 2 R^2 R2

优点: 简单

缺点: 受计算限制, p p p 较大时运算量太大。

逐步选择法(stepwise selection)

优点: 运算量较小
缺点: 未必能选取最佳模型

向前逐步选择

算法:

  1. M 0 M_0 M0 为无自变量的空模型(null model)
  2. For k = 1 , 2 , ⋯   , p − 1 k=1,2,\cdots,p-1 k=1,2,,p1
    拟合所有 p − k p-k pk 个在 M k M_k Mk 基础上只增加一个自变量的模型;
    从这 p − k p-k pk 个模型选取最优的模型,记为 M k + 1 M_{k+1} Mk+1 。这里的最优,在线性回归问题中,可以是最小 R S S RSS RSS 或者最大 R 2 R^2 R2
  3. M 0 , M 1 , ⋯ , M p M_0,M_1,\cdots,M_p M0,M1,Mp 中选取最优模型。选取标准可以是交叉验证的预测误差,或者 C p ( A I C ) , B I C , C_p(AIC), BIC, Cp(AIC),BIC,调整后的 R 2 R^2 R2

向后逐步选择

算法:

  1. M p M_p Mp 为包含所有 p p p 个自变量的模型(full model)
  2. For k = p , p − 1 , ⋯   , 1 k=p,p-1,\cdots,1 k=p,p1,,1
    拟合所有 k k k 个在 M k M_k Mk 基础上只减少一个自变量的模型;
    从这 k k k 个模型选取最优的模型,记为 M k − 1 M_{k-1} Mk1 。这里的最优,在线性回归问题中,可以是最小 R S S RSS RSS 或者最大 R 2 R^2 R2
  3. M 0 , M 1 , ⋯ , M p M_0,M_1,\cdots,M_p M0,M1,Mp 中选取最优模型。选取标准可以是交叉验证的预测误差,或者 C p ( A I C ) , B I C , C_p(AIC), BIC, Cp(AIC),BIC,调整后的 R 2 R^2 R2

混合逐步选择

按向前逐步选择的方式给空模型增加自变量,每增加一个新的自变量,移除不再提供改进的自变量。

如何选取最优

C p , A I C , B I C , C_p,AIC,BIC, Cp,AIC,BIC, 调整后的 R 2 R^2 R2

C p , A I C , B I C , C_p,AIC,BIC, Cp,AIC,BIC, 调整后的 R 2 R^2 R2 都是用来评价模型好坏的统计量,在选择最优模型的时候进行参考。
C p , A I C , B I C , C_p,AIC,BIC, Cp,AIC,BIC, 越小越好;调整后的 R 2 R^2 R2 越接近 1 1 1 越好

C p C_p Cp

C p = 1 n ( R S S + 2 d σ ^ 2 ) C_p=\frac{1}{n}(RSS+2d\hat\sigma^2) Cp=n1(RSS+2dσ^2)
C p C_p Cp是对测试MSE的估计, d d d 是自变量数量, σ ^ 2 \hat\sigma^2 σ^2 是对误差项 ϵ \epsilon ϵ 方差的估计。 C p C_p Cp 统计量在RSS的基础上增加了一个 2 d σ ^ 2 2d\hat\sigma^2 2dσ^2 的惩罚项来进行调整。

A I C AIC AIC

Akaike information criterion(AIC)
A I C = 1 n σ ^ 2 ( R S S + 2 d σ ^ 2 ) AIC=\frac{1}{n\hat\sigma^2}(RSS+2d\hat\sigma^2) AIC=nσ^21(RSS+2dσ^2)

B I C BIC BIC

Bayesian information criterion(BIC)
B I C = 1 n σ ^ 2 ( R S S + l o g ( n ) d σ ^ 2 ) BIC=\frac{1}{n\hat\sigma^2}(RSS+log(n)d\hat\sigma^2) BIC=nσ^21(RSS+log(n)dσ^2)

调整后的 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 − d − 1 ) T S S / ( n − 1 ) adjusted R^2=1-\frac{RSS/(n-d-1)}{TSS/(n-1)} adjustedR2=1TSS/(n1)RSS/(nd1)

交叉验证的误差

上面四种统计量都是通过间接的方式来估计测试MSE,也可以用校验集或者交叉验证集上的得到误差来直接估计。交叉验证的预测误差最小的模型,效果最好。

猜你喜欢

转载自blog.csdn.net/weixin_43084570/article/details/109009598