子集选择

来源:互联网 发布:全国人口数据库 编辑:程序博客网 时间:2024/06/06 01:10

以下内容为本人对《统计学习导论——基于R应用》的学习笔记

用最小二乘法拟合线性回归模型时存在一些问题,如:
①预测变量数>样本数时,最小二乘法的系数估计不唯一;
②多元回归中,常常存在一个或多个预测变量与响应变量无关的情况,这些变量与模型无关但增加了模型的复杂度等。
解决:特征选择(feature selection)或变量选择(variable selection)
目前看到的一些方法有:
子集选择:最优子集选择(best subset selection)、逐步选择(stepwise selection)
压缩估计:岭回归(ridge regression)、lasso
降维法:主成分回归principal components regression、偏最小二乘(partial least squares)
书中以线性回归模型为例,但其中涉及的概念也适用于其他方法。

子集选择

子集选择从p个预测变量中挑选出与响应变量相关的变量形成子集,在对缩减后的变量集合使用最小二乘法。

最优子集选择

对p个预测变量的所有可能组合分别使用最小二乘法进行拟合,最后在所有可能模型(2p)中选择一个最优模型。

算法步骤:
1、记不含预测变量的零模型M0,只用于估计各观测的样本均值。
2、对于k=1,2,…,p:
a) 拟合(pk)个包含k个预测变量的模型;
b) 在(pk)个模型中选择RSS最小或R2最大的作为最优模型,记为Mk
3、根据交叉验证预测误差、Cp(AIC)、BIC或者调整R2M0,…,Mp个模型中选择一个最优模型。

优缺点:
最优子集选择方法简单直观,但是计算效率不高。p个变量可以构造2p个可用于建模的子集,当p增加时,可选模型数量迅速增加,计算量大大提升。当p>40时,该方法已不具备计算可行性。可以使用分支界定法(branch-and-branch Techniques)等提升运算效率的算法,但p增大时,这种缺陷同样存在。此外,当p很大时,从一个巨大的搜索空间中得到的模型通常会有过拟合和系数估计方差高的问题。

逐步选择

优点:限制了搜索空间,提高了运算效率。

向前逐步选择

向前逐步选择(forward stepwise selection)以一个不包含任何预测变量的零模型为起点,依次往模型中添加变量,每次只将能够最大限度地提升模型效果的变量加入模型中,直到所有的预测变量都包含在模型中。

算法步骤:
1、记不含预测变量的零模型为M0
2、对于k=0,1,2,…p-1:
a) 从p-k个模型中进行选择,每个模型在Mk的基础上增加一个变量;
b) 在p-k个模型中选择RSS最小或R2最高的模型作为最优模型,记为Mk+1
3、根据交叉验证预测误差、Cp(AIC)、BIC或者调整R2M0,…,Mp个模型中选择一个最优模型。当p>n时,建立子模型M0,…,Mn1

向前逐步选择需要拟合的模型数为p1k=0(pk)=1+p(p+1)2。在p较大时,比最优子集选择的2p个拟合模型少非常多。

优缺点:
向前逐步选择在运算效率上很有优势,但是无法保证找到的模型是2p个模型中最优的。

向后逐步选择

算法步骤:
1、记包含全部p个预测变量的全模型为Mp
2、对于k=p,p-1,…,1:
a) 在k个模型中进行选择,在模型Mk的基础上减少一个变量;
b) 在k个模型中选择RSS最小或调整R2最高的模型作为最优模型,记为Mk1
3、根据交叉验证预测误差、Cp(AIC)、BIC或者调整R2M0,…,Mp个模型中选择一个最优模型。

向后逐步选择需要拟合的模型数同样为p1k=0(pk)=1+p(p+1)2。在p太大时,比最优子集更适合拟合模型。向后选择方法需要满足n>p的条件,以保证全模型可以拟合,但是向前逐步选择的方法可以在p>n时使用。因此,当p非常大时,向前逐步选择是唯一可行的方法。

优缺点:
向前逐步选择在运算效率上很有优势,但是无法保证找到的模型是2p个模型中最优的。

混合方法

该方法逐次将变量加入模型中,在加入新变量的同时,也移除不能提升模型拟合效果的变量。
这种方法在试图达到最优子集选择效果的同时也保留了向前和向后逐步选择在计算上的优势。

选择最优模型

因为训练误差可能是测试误差的一个较差的估计,RSS和R2不适合对包含不同个数预测变量的模型进行选择。

通常估计测试误差的两种方法:
1、根据过拟合导致的偏差对训练误差进行调整,间接的估计测试误差。
2、通过验证集方法或者交叉验证方法,直接估计测试误差。

Cp统计量

采用最小二乘法拟合一个包括d个预测变量的模型,Cp值计算如下:

Cp=RSS+2dσ^2n
σ^2是响应变量观测误差的方差的估计值。
Cp统计量在训练集RSS的基础上增加惩罚项2dσ^2,惩罚项随着模型中变量个数的增加而增大,用于调整由于变量个数增加而不断降低的训练集RSS。如果σ^2σ2的无偏估计,则Cp是测试均方误差的无偏估计,因此可以选择具有最低Cp的模型作为最优模型。

赤池信息量准则

赤池信息量准则(Akaike information criterion,AIC)适用于许多使用极大似然估计进行拟合的模型。若线性回归模型的误差项服从高斯分布,极大似然估计和最小二乘估计是等价的。省略常数项的AIC如下:

AIC=RSS+2dσ^2nσ^2

对于最小二乘模型,Cp和AIC彼此成比例。

贝叶斯信息准则

贝叶斯信息准则(Bayesian information criterion,BIC)是从贝叶斯观点中衍生出来的,BIC通常由下式给出:

BIC=RSS+log(n)dσ^2n
测试误差较低的模型BIC统计量也较低。与Cp相比,BIC统计量通常给包含多个变量的模型施以较重的惩罚,因此得到的模型规模更小。

调整R2

R2定义为1-RSS/TSS,RSS随着模型包含个数的增加而降低,因此R2随着模型包含变量个数的增加而增加。
调整R2统计量由下式计算得到:

R2=1RSS/(nd1)TSS/(n1)
调整R2的值越大,模型测试误差越低。

验证与交叉验证

与上述四种方法相比,验证与交叉验证方法给出了测试误差的一个直接估计,并且对真实的潜在模型有教少的假设。验证与交叉验证的适用范围更广,即使即便在很难确定模型自由度,或者难以估计误差方差的情况下仍然可以使用。
如果对不同的训练集或者验证集重复使用验证集方法,或者对于不同的交叉验证折数重复使用交叉验证方法,会得到不同的具有最低测试误差的精确模型。针对这种情况,可以使用一倍标准误差准则(one-standard-error rule)进行模型选择。
一倍标准误差准则:首先计算不同规模下模型测试均方误差估计值的标准误差,然后选择测试样本集误差估计值在曲线最低点一倍之内且规模最小的模型。因为在一系列效果近似相同的模型中,总是倾向于选择最简单的模型。

0 0