system: [SYSTEM]

user: 4. 多重共线性问题的解决 为了消除多重共线性，本部分分别使用了所有子集法、逐步回归法、岭回归和lasso、主成分回归法、偏最小二乘回归法，并比较了集中方法的效果，从中选出了最优的方法。 4.1. 所有子集法 根据调整后的R方，选择了R方最大的三个自变量，分别是 x 5 、 x 6 、 x 8 重新拟合多元线性回归模型，计算回归系数和方差膨胀因子(见图4)。 x 6 的回归系数符号仍然与实际相反， x 6 、 x 8 的方差膨胀因子依然很大(分别为9.96和9.87)，变量选择后并没有消除多重共线性(见图5)。 4.2. 逐步回归法 基于AIC和BIC的向后剔除法选择的结果都是 x 5 、 x 6 、 x 8 ，但是该变量子集已经被证明是无法消除多重共线问题的。基于AIC和BIC的向前选择法选择的结果都是x 1 ，拟合一元线性回归并进行模型诊断后可以发现只保留一个变量(见图6)。 图3. 回归结果(y为因变量) 图4. 最佳子集的调整后R方 Table 4 Variance inflation facto 变量 x 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 x 9 VIF 539.1 296.4 994.5 461.8 127.9 1075.1 796.6 445.4 14.1 表4. 方差膨胀因子 图5. 所有子集法回归结果 图6. 逐步回归法回归结果 但是这样也有弊端，只保留一个变量，损失了其他信息。标准残差图中似乎蕴含着二次项关系，信息提取不充分，只用 x 1 不能完全解释y (见图7)。 4.3. 岭回归和lasso 4.3.1 . 岭回归 岭回归是一种专用于共线性数据分析的有偏估计回归方法，实质上是一种改良的最小二乘估计法，通过放弃最小二乘法的无偏性，以损失部分信息、降低精度为代价获得回归系数更为符合实际、更可靠的回归方法 [ 4 ] 。 最小二乘法求解回归系数的过程中需要考虑特征矩阵是否可逆的问题，引入岭回归就是为了解决这个问题。普通最小二乘法的回归系数矩阵的估计为 B ^ = ( X ' X ) − 1 X' Y ，岭回归的参数估计为 B ^ k = ( X ' X + k I ) − 1 X ' Y 对变量做标准化(记为 sy，   s x 1 等)处理后建模，最终选择了6个自变量，得到的回归结果为： sy = − 0.3549 s x 1 − 0.0564 s x 2 − 0.3197 s x 3 + 0.0613 s x 4 + 0.1040 s x 5 − 0.1334 s x 7 − 0.2422 s x 8 用岭回归的方法得出的回归系数与实际预期相符合了。 4.3.2 . Lasso Lasso算法改进了最小二乘法，在估计回归系数的同时可以达到变量选择的目的 [ 5 ] 。是受约束的最小二乘法，考虑P个自变量的回归模型，在 ∑ j = 1 p | β j | ≤ s ，   ( s ≥ 0 ) 的约束条件下，使得残差平方和最小， min ∑ i = 1 n { y i − ( β 0 + β 1 x 1 i + ⋯ + β p x p i ) } 2 使用拉格朗日乘数法 min ∑ i − 1 n { y i − ( β 0 + β 1 x 1 i + ⋯ + β p x p i ) } 2 + λ ∑ j = 1 p | β j | ，   λ ≥ 0 即：最小化残差的平方和加上对回归系数的绝对值的惩罚项。 当s非常大时，约束条件几乎不起作用， λ = 0 结果跟普通最小二乘法相同。 当s比较小时， λ 较大，回归结果中有的系数等于0，我们就把等于0的系数对应的自变量删除，所以Lasso可以同时进行参数估计和变量选择。 K折交叉验证是评价模型的一种常用方法，它把所有的观测数据大致分为k等份，然后轮流以其中的所有可能的k−1份为训练集，用来拟合数据，剩下的一份为测试集，一共计算k次，得到拟合测试集时的均方误差那样的k个指标再做平均，对于每个模型都做一遍，然后选择平均均方误差最小的模型 [ 6 ] 。根据交叉验证，最佳 λ 的简约模型是选择了 x 1 和x 8 (见图8)。 sy = − 0.5206 s x 1 − 0.2287 s x 8 Lasso做参数估计的同时也起到了了变量选择作用，选出的简约模型保留了 x 1 和 x 8 ，符号也是正确的。 图7. 模型诊断图 图8. 交叉验证 4.4. 主成分回归法 4.4.1 . 主成分回归 主成分回归是将主成分变量作为自变量，建立回归模型，具体的参数估计等跟普通最小二乘法无异，主成分只是原始变量的线性组合，组合后看作一些新的变量 [ 7 ] 。因为主成分是从标准化后的数据阵出发的，所以这里也先对数据做了标准化处理。 记主成分矩阵为Z，原始变量矩阵为X，因变量为Y，则Z=XV 建立Y和Z的回归方程为 Y = Z β + ε ，估计的回归方程为 Y ^ = Z β ^ 再根据主成分与原始变量的关系，可以逆变换回带 Y ^ = Z β ^ = X V β ^ ≙ X γ ^ ，则建立了Y和X的回归方程，其中的回归系数 γ ^ = V β ^ 。 为了消除单位和数量级的差异，对变量做了标准化处理，主成分分析(见图9)和主成分回归(见图10)结果如下： 由 γ ^ = V β ^ 可求回归结果为： sy = − 0.1545 s x 1 − 0.1481 s x 2 − 0.1549 s x 3 + 0.0616 s x 4 + 0.1056 s x 5 − 0.1465 s x 6 − 0.0842 s x 7 − 0.1526 s x 8 4.4.2 . 不完全主成分回归 不完全主成分回归删除了V中相应的有着很小的方差对回归贡献不大的的后几列，保留前p列，回归系数也只有p个了，回归系数的估计值为 γ ^ p = V p β ^ p 。 至于保留几列，p等于多少，有不同的标准，需要谨慎对待。这里我们看到在主成分分析中，提取两个主成分时，累计贡献率达到了81% (见图11)，为了简约，我们就只保留了两个主成分。 图9. 主成分分析 图10. 主成分回归 图11. 不完全主成分回归 回归结果为： sy = − 0.1565 s x 1 − 0.1428 s x 2 − 0.1554 s x 3 + 0.1264 s x 4 + 0.1519 s x 5 − 0.1304 s x 6 − 0.0310 s x 7 − 0.1417 s x 8 4.5. 偏最小二乘回归 偏最小二乘回归类似于主成分回归，主成分回归是在自变量中找到一些相互独立的主成分，主成分是原始变量的线性组合，用主成分代替原来的变量进行回归，以解决多重共线性问题。偏最小二乘回归则是先在因变量(如果有多个因变量)和自变量中各自寻找一个因子 [ 8 ] ，条件是这两个因子在其他可能的因子中最相关，然后在选中的这一对因子的正交空间中再选择一对最相关的因子，如此下去，直到这些因子有充分的代表性为止(可以用交叉验证)。 图12中，横坐标均表示自变量因子的个数。左图纵坐标表示RMSEP (root mean squared error of prediction)，黑线表示留一法计算结果，红线表示调整后留一法计算结果，RMSEP越小越好。中图纵坐标表示MSEP (mean squared error of prediction)，黑线表示留一法计算结果，红线表示调整后留一法计算结果，MSEP越小越好。右图纵坐标表示R方(R-squared)，R方越大越好。 根据交叉验证的结果(见图12)，无论是RMSEP、MSEP还是R方准则，都是因子个数为2时最好，但是一个因子和两个因子，三个准则几乎相差无几，为了简约，还是选择一个因子，回归结果如下： sy = − 0.1625 s x 1 − 0.1492 s x 2 − 0.1585 s x 3 + 0.0660 s x 4 + 0.11 s x 5 − 0.1396 s x 6 − 0.0594 s x 7 − 0.1596 s x 8 4.6. 比较 通过实例比较，我们发现在多重共线性严重存在的情况下，三种有偏回归方法(主成分回归；岭回归和lasso，偏最小二乘回归)在建立模型和预测因变量方面优于普通回归模型，也优于变量选择和删除变量法。因为主成分是原始变量的线性组合，可以代表原始变量的信息，而且主成分之间没有相关性，所以可以避免多重共线性问题，偏最小二乘回归类似；岭回归和lasso对回归系数加入惩罚项，避免参数估计值过大，降低共线性的影响，lasso的惩罚函数是绝对值形式，还可以剔除多重共线性强的变量。所有子集法和逐步回归法选择出的模型要么仍然存在多重共线性问题，要么只选择了x 1 一个自变量，对y的信息解释不充分。删除变量法原则上是删除一些相关性大的、影响力小的自变量，但是缺乏客观的评价标准，需要专业的知识做支撑。 但这三种有偏方法建立的模型哪个更好，不同的问题和不同的判别标准，答案是不同的 [ 9 ] 。通常而言，在追求预测效果时，我们可以首先试用偏最小二乘回归方法，而要想对回归系数进行直观的控制时，可首选岭回归；而对某些综合因素特别关心需要把它拟合进回归方程时，可考虑选用主成分回归。不能偏心哪一种方法，回归效果要和实际情况相对照。 图12. 偏最小二乘回归交叉验证结果