回归算法中特征线性相关会怎样
Posted bitcarmanlee
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了回归算法中特征线性相关会怎样相关的知识,希望对你有一定的参考价值。
1.什么是线性相关
线性相关的概念,大家在线性代数里面都有学过。如果把问题更加简化一点,假设两个单变量
x
1
,
x
2
x_1, x_2
x1,x2线性相关,那么可以写成如下形式
x
1
=
a
⋅
x
2
+
b
x_1 = a \\cdot x_2 + b
x1=a⋅x2+b
2.特征的共线性
一般在线性回归模型中,我们都会假定,各个特征之间没有很强的线性相关。而如果数据的特征之间存在较强的线性相关,一般就认为数据存在共线性的问题。
3.共线性影响回归算法的方差
数据如果存在共线性,回归算法特征系数的方差会扩大。因为如果存在高度线性相关的特征,
X
T
X
X^TX
XTX矩阵会不可逆,或者说接近奇异矩阵。该矩阵对角线上的元素会很大,参数估计的标准误差也会较大,参数估计值的精度较低。
而在现实世界中,由于各种各种的原因,比如数据采样数据打点带来的问题,比如数据预处理环节带来的问题,都会引入噪声数据。而由于共线性的存在,一小部分噪声数据,都会对最终模型回归系数产生很大影响,增大模型回归系数的方差。
4.影响模型数值解的稳定
如果模型能够最终收敛,特征共线性是不会影响模型的预测结果,最终也会收敛。但是如我们前面所有,在实际中,会或多或少引入各种噪声,这样模型的数值解会趋向不稳定,其实与模型回归系数方差增大是同一个意思。
5.影响模型的可解释性
前面提到,如果模型最终能够收敛,特征共线性是不会影响模型的预测结果的。但是在某些领域,比如金融领域,就特别强调模型的可解释性,黑盒模型业务部门是不敢使用的,必须要对模型给出个合理的解释,而且解释内容得与业务部门的先验知识基本一致才可能被采纳。因为特征共线性有可能增大回归系数的方差,让数值解变得不稳定,解释的难度就变得大很多,甚至出现错误的解释。
6.实例说明
参考文献1里有个例子,能比较清楚的说明问题,例子如下。
假设原始的线性回归公式为:
y = w 1 ∗ x 1 + w 2 ∗ x 2 + w 3 ∗ x 3 y=w1*x1+w2*x2+w3*x3 y=w1∗x1+w2∗x2+w3∗x3
训练完毕的线性回归公式为:
y = 5 x 1 + 7 x 2 + 10 x 3 y=5x1+7x2+10x3 y=5x1+7x2+10x3
此时加入一个新特征x4,假设x4和x3高度相关,x4=2x3,则
y = w 1 ∗ x 1 + w 2 ∗ x 2 + w 3 ∗ x 3 + w 4 ∗ x 4 = w 1 ∗ x 1 + w 2 ∗ x 2 + ( w 3 + 2 w 4 ) ∗ x 3 y=w1*x1+w2*x2+w3*x3+w4*x4=w1*x1+w2*x2+(w3+2w4)*x3 y=w1∗x1+w2∗x2+w3∗x3+w4∗x4=w1∗x1+w2∗x2+(w3+2w4)∗x3
因为我们之前拟合出来的最优的回归方程为:
y = 5 x 1 + 7 x 2 + 10 x 3 y=5x1+7x2+10x3 y=5x1+7x2+10x3
显然w3+2w4可以合并成一个新的权重稀疏 w5,则
y = w 1 ∗ x 1 + w 2 ∗ x 2 + w 5 ∗ x 3 y=w1*x1+w2*x2+w5*x3 y=w1∗x1+w2∗x2+w5∗x3,显然:
y = w 1 ∗ x 1 + w 2 ∗ x 2 + w 3 ∗ x 3 y=w1*x1+w2*x2+w3*x3 y=w1∗x1+w2∗x2+w3∗x3和 y = w 1 ∗ x 1 + w 2 ∗ x 2 + w 5 ∗ x 3 y=w1*x1+w2*x2+w5*x3 y=w1∗x1+w2∗x2+w5∗x3是等价的。。。。
那么最终最优的模型应该也是 y = 5 x 1 + 7 x 2 + 10 x 3 y=5x1+7x2+10x3 y=5x1+7x2+10x3
但是考虑到引入了x4,所以w4和w3的权重是分开计算出来的,这就导致了
w 5 = 10 = w 3 + 2 w 4 w5=10=w3+2w4 w5=10=w3+2w4,显然这个方程有无穷多的解,比如w3=4,w4=3,或者w4=-1,w3=12等,因此导致了模型系数估计的不稳定并且可能会出现负系数的问题。
参考文献
1.https://zhuanlan.zhihu.com/p/88025370
以上是关于回归算法中特征线性相关会怎样的主要内容,如果未能解决你的问题,请参考以下文章