Alex_McAvoy

想要成为渔夫的猎手

多重共线性与方差膨胀因子

Reference

【概述】

对于线性回归来说,其代价函数的解析解为:

当 $XX^T$ 不是满秩矩阵时,没有逆矩阵,此时会出现过拟合现象,其本质就是自变量 $x^{(j)}$ 之间存在多重共线性(Multicollinearity),即自变量 $x^{(j)}$ 间存在相关关系

对于线性回归中的多重共线性问题,其中一个解决方法就是剔除掉共线的自变量,可以通过计算方差膨胀因子(Variance inflation factor,VIF)来量化自变量之间的相关关系,方差扩大因子越大说明自变量的共线性越严重

另一种解决方法是通过对代价函数正则化来解决,使用 L1 范数正则化的回归模型一般称为 Lasso 回归,使用 L2 范数正则化的回归模型一般称为 Ridge 回归

本文仅介绍多重共线性与方差膨胀因子,关于 Lasso 回归与 Ridge 回归,详见:Lasso 回归与 Ridge 回归

【多重共线性】

多重共线性(Multicollinearity)是指线性回归中,变量之间由于存在精确相关关系或高度相关关系而使回归估计不准确

假设多元线性回归 $y_i=\theta^{(1)}x_i^{(1)}+\theta^{(2)}x_i^{(2)}$,其中 $\theta^{(1)}=2,\theta^{(2)}=3$

如果 $x^{(1)}$ 与 $x^{(2)}$ 之间存在明确的相关关系,则称两者存在精确相关关系

如果 $x_i^{(1)}$ 与 $x_i^{(2)}$ 之间存在近似的相关关系,则称两者存在高度相关关系

以上述的精确相关关系为例,由于 $x_i^{(2)} = 2x_i^{(1)}$ 可以将 $y_i = 2x_i^{(1)}+3x_i^{(2)}$ 改写为不同的形式,这样就会导致 $\theta^{(1)},\theta^{(2)}$ 存在无数中解,使得最后的回归估计不准确

根据线性回归的解析解 $\boldsymbol{\theta}=(XX^T)^{-1}XY$,可以通过下述公式来求解其中的逆矩阵

可以看到,逆矩阵可逆的条件是其行列式 $|XX^T|$ 不能为 $0$

如果存在多重共线性,会使得矩阵的行列式 $|XX^T|$ 为 $0$,导致 $XX^T$ 不可逆,使得最后的回归估计不准确

如下示例,可以看到 $x_i^{(2)}$ 与 $x_i^{(3)}$ 之间存在精确相关关系

此时,$XX^T$ 经过初等变换后,其行列式为 $0$,$XX^T$ 不可逆,使得最后的回归估计不准确

相似地,如果存在高度相关关系,那么会使得 $XX^T$ 的行列式近似为 $0$,此时得到的 $\boldsymbol{\theta}$ 的偏差很大,回归不准确

【方差膨胀因子】

方差膨胀因子(Variance inflation factor,VIF)是用来量化自变量之间的相关关系的一种指标,VIF 越大说明自变量的多重共线性越严重

VIF 的一般标准如下:

  • 0 < VIF < 5:无共线性
  • 5 < VIF < 10:弱多重共线性
  • 10 < VIF < 100:中多重共线性
  • VIF > 100:强共线性

对于线性回归问题,可以计算每个自变量 $x^{(j)}$ 的 VIF,之后去掉 VIF 较大的自变量,或将相关的变量组合为一个单一的变量

对于多元线性回归的第 $j$ 个自变量 $x^{(j)}$,其 VIF 的计算公式为:

其中,$R^2_j$ 是可决系数

相较于 Pearson 相关系数来说,VIF 除了可以量化多重共线性外,还可以看到多个变量间的复相关性

感谢您对我的支持,让我继续努力分享有用的技术与知识点!