点击上方“Deephub Imba”,关注公众号,好文章不错过 !
在机器学习面试中经常会被问到的一个问题是,特征如果存在多重共线性时为什么不能估计出最佳回归系数?本篇文章可以算是这个问题的标准答案
多重共线性是什么?
当回归模型中的自变量之间高度相关时,存在多重共线性。
例如,如果你的模型包括2个变量,即工作经验年数和工资,那么在你的模型中就很有可能存在多重共线性。原因是从常识上讲,经验越丰富,薪水越高。
它对线性回归模型有何影响?
它会使模型估计失真或难以估计准确, 回想一下线性回归模型的 MSE 损失函数的偏导数:
为了找到最优回归系数,我们要最小化损失函数 MSE,换句话说就是找到最小化 MSE 的回归系数值。通过进行一些转换,可以使用以下等式找到最佳参数:
上面的公式中:
- theta_hat 是最小化损失函数的估计系数
- y 目标值向量
- X 是包含所有预测变量的设计矩阵(design matrix)
这里我们假设 XTX 是可逆的,以便能够估计 theta_hat 。但是,如果 X 的列彼此线性相关(存在多重共线性),则 XTX 是不可逆的。
由于回归模型中存在共线性,所以很难解释模型的系数 。
还记得回归系数的解释吗?
回归系数英文名称:regression coefficient
定义:回归分析中度量依变量对自变量的相依程度的指标,它反映当自变量每变化一个单位时,因变量所期望的变化量。在回归方程中表示自变量x 对因变量y 影响大小的参数。回归系数越大表示x 对y 影响越大,正回归系数表示y 随x 增大而增大,负回归系数表示y 随x 增大而减小。回归方程式Y=bX+a中之斜率b,称为回归系数,表X每变动一单位,平均而言,Y将变动b单位。
如果模型中存在多重共线性,这意味着一些自变量是相关的,简单的说一个变量的变化与另一个变量的变化相关。相关性越强,在不改变另一个输入的情况下解释每次输入变化的输出变化就越困难。所以会降低估计系数的精度或降低模型的性能。
如何消除多重共线性?
这里有一些推荐的方法来消除或减少线性回归模型中的多重共线性
- 保留一个变量并删除与保留变量高度相关的其他变量
- 将相关变量线性组合在一起
- 使用对高度相关的特征进行降维,例如PCA
- LASSO 或 Ridge 回归是回归分析的高级形式,可以处理多重共线性
作者:hqtquynhtram
喜欢就关注一下吧:
点个 在看 你最好看!********** **********