最简单的回归模型-线性回归及其变体_chapter6
2022-01-23 本文已影响0人
ADO_AI
一、在建立线性回归模型之前需要考虑的:
-
1、数据预处理:线性回归是最简单的回归模型,模型具有很好的可解释性,因而广泛应用于医学统计建模领域。但由于其应用条件的限制,使得应用此方法建模时,在数据预处理阶段需要做一些针对性的考量。
-
1.1 预测变量(特征)的共线性问题
-
共线性问题的诊断:相关性热图、PCA(有多少个占据主要方差的主成分,即意味着有多少组共线性的变量)、方差膨胀因子(VIF)
-
共线性问题的处理:《应用预测建模》P33提供的方法直接进行变量删除;降维(如PCA,在这之前还要进行偏度变换和中心化及标准化);含降维的回归算法:elastic net族算法:含LASSO/ridge;能够应对变量共线性的模型:偏最小二乘(PLS)、Random Forest等
-
1.2 离群值的影响:一个离群值可能极大程度改变直线的走向
-
解决方法包括:1. 剔除离群值 2.采用SSE之外的损失函数,如残差绝对值
-
-
2、模型性能问题:毕竟是一个线性模型,只能做线性拟合,其参数矩阵的形变能力是有限的。书中说到“显然,如果数据具有曲线或非线性的结构,回归模型将无法刻画这些特性”
- 2.1 诊断:判断响应变量与预测变量间关系的可视化方法是图5-3所示的“基本诊断图”:如果预测值与残差的关系是曲线,则可能无法采用线性模型。
- 2.2 治疗:如果响应变量与预测变量间的非线性关系容易识别,可以通过往线性模型中添加二次项、三次项或者多次项来解决,则可以继续应用线性模型;否则应采用更为复杂的、非线性的算法
-
3、数据分割与重抽样造成的问题
-
如果有100个样本,75个特征(此时样本数大于特征数,全部用于建模是ok的);但如果进行2:1交叉验证,训练集67*75;测试集 33:75,就会出现特征数大于样本数的问题,此时应在训练和测试时考虑特征降维
二、线性回归模型及其变体
-
1. 线性回归模型:无需调参,只需要在建模前考虑好上述问题即可
-
2. 偏最小二乘回归(Partial least squares regression,PLS regression,简称PLS):是在应用PCA降维方法的同时使得降维得到的主成分还要与响应变量的相关系数达到最大。
- 换言之,PLS不等同于PCA之后再进行线性回归;后者两步骤是割裂的,PCA的时候,仅考虑使得样本方差最大化的主成分,至于所得主成分是否与响应变量具有足够的联系,则没有纳入考量;PCA之后再进行线性回归,有可能所得到的主成分与响应变量之间没有足够联系,因而导致建模失败;PLS则是PCA与线性回归一体化;同时考虑样本方差最大化和所得主成分与响应变量的相关性,在二者之间取得平衡。
- PLS有一个调优参数,即需要保留的成分数,通过数据分割重抽样来进行调参
- PLS 能够计算变量的重要性系数(VIP):VIP值越大,该变量对于响应变量的重要性就越大;通常以1为cutoff,大于1认为该变量是有用的
-
3. PLS算法的演变:演变的目的,是要解决PLS算法在面对样本量(n)和特征数(p)增大的场景下,其运算效率降低、对运算内存要求增大。因此为了简化运算,提升效率而提出了PLS的如下变体:
n>>p
- 3.1 将PLS的步骤分解为三个步骤:一个维度为P * P的“核”矩阵,预测变量的协方差矩阵(P * P ),以及预测变量与响应变量的协方差矩阵(P*1);这种类似于矩阵分解的算法提升了运算效率,包括de Jong 和 Ter Braak1994;Dayal和MacGregor 1997所提出的算法
- 3.2 将目标转化为“在预测变量空间中寻找潜在的正交变量,使其最大化与响应变量的协方差”;这一视角的转变使得目标转化为了缩减预测变量与响应变量之间的协方差矩阵(P*1),即SIMPLS
p>n: Rannar 1994
当然,PLS算法无论如何改进,其仍然是对原始预测变量空间进行线性变换得到其子空间,进而与响应变量进行关联;如果预测变量空间与响应变量之间原本就具有的是“非线性相关/关联”,那这是PLS或者所有线性回归家族算法无法逾越的障碍。只能借助于非线性算法来解决问题。
-
4. 惩罚线性回归:加入惩罚项的目的是限制单个特征的系数过大:加入惩罚项后的作用是当系数值只有在成比例地减小SSE的情况下,才可能取得取得很大的值,因而通过这种办法限制了特征系数过大,也可以理解为对特征系数的收缩
-
4.1 惩罚参数λ变化对RMSE的影响
- 惩罚参数λ从0开始增加的过程中,特征系数逐渐减小,此过程中,模型方差逐步减小,此时偏差受影响较小,因而RMSE逐步减少;到达临界值后,方差已经被控制得很好,而特征系数过分收缩带来模型偏差过大(即欠拟合),故RMSE增大。 岭回归中λ参数与RMSE的关系
-
4.2 LASSO、Ridge、ElasticNetwork的比较
- LASSO能够使得某些特征系数为零,即内嵌了“特征选择”功能,Ridge不具备特征选择的功能
- 弹性网络包含了LASSO和Ridge,因而同步具有Ridge的特征和LASSO筛选特征的功能;分别将λ1和λ2设为0即可将其转换为LASSO和Ridge中的任一;因而有些R包也是将LASSO和Ridge蕴含在了弹性网络算法包中
- 要注意的是,书中提到的弹性网络参数是;但实际的R包中弹性网络的参数则是:
R包中弹性网络算法的损失函数及参数) - Lasso回归(α = 1: );岭回归(α = 0);弹性网络回归(α ~(0,1)
-
4.3 LASSO结果判读:两幅图虽然方向相反,但横坐标含义本质是相同的:λ越大,即惩罚参数越大,所剩的特征越少,当前解的个数相对于完全最小二乘解的比例(fraction of full solution)越小
-
4.4 LASSO的扩展
- LASSO的思想最开始用于线性回归,称之为LASSO回归。但这种惩罚方式及其内嵌的特征选择功能,并不仅限于线性回归中,可以扩展到其他算法中,如线性判别分析、PLS以及PCA。其中的一项重大拓展是Efron等于2004年提出的“最小角回归”,即
参考文献
R的glmnet和caret分别实现ElasticNetwork、LASSO、Ridge
R包ElasticNetwork算法原理和实现
LASSO、Ridge、ElasticNetwork的对比和适应证