多重共线性的影响、判定及消除的方法

目录

1 什么是多重共线性?

2 多重共线性的影响

3 共线性的判别指标(方差膨胀因子)

3.1 拟合优度

3.2 方差膨胀因子VIF

4 多重共线性处理方法 

4.1 手动移除出共线性的变量

4.2 逐步回归法

4.2.1 向前法

4.2.2 后退法

4.2.3 逐步选择法

4.2.4 检验显著性 (F 检验)

4.3 增加样本容量

4.4 岭回归

4.4.1 最小二乘法求解多元线性回归

4.4.2 岭回归处理多重共线性

4.4.3 Lasso回归处理多重共线性

4.4.4 总结

4.5 Elastic Net

 4.6 主成分分析


1 什么是多重共线性?

        回归分析,是对两个或两个以上变量之间的相关关系进行定量研究的一种统计分析方法。我们用回归分析做需求预测,主要是发现和分析“需求”和“影响需求的因素”之间的相关关系,从而利用这些相关关系来预测未来的需求。(“需求”和“影响需求的因素”,就是回归分析面对的因变量与自变量。)

        但是,在实际应用场景中,因变量和自变量存在相关关系,而自变量与自变量之间也会存在相关 关系,有时还会是强相关关系。在回归分析中,如果两个或两个以上自变量之间存在相关性,这种自变量之间的相关性,就称作多重共线性,也称作自变量间的自相关性。

        我们知道在进行线性回归的时候,相比于对模型的优化,更为重要的是模型训练之前的特征工程,而剔除特征中的多重共线性对逻辑斯蒂回归而言非常重要。

        多重共线性这种现象,在回归分析中普遍存在。因为:

        第一,在某一时间段或某一个项目中,公司做的某一个决策,往往由很多小方案组成(比如同时采用做广告、折扣、积分返利等方式提升销量),这些小方案就是一个个的自变量,这些自变量由于是共同构成公司策略的一部分,所以可能会出现相互关联或互为补充现象,从而出现多重共线性。

        第二,实际需求场景中,总会存在样本信息不充分,或者历史数据不全面和错误等情况,导致回归分析模型的参数不能准确估计与计算,从而不可避免的产生一些多重共线性。

2 多重共线性的影响

        多重共线性普遍存在,适度的多重共线性没有问题。但当存在严重的多重共线性时,也就是自变量之间高度相关时(相关系数R在±0.7或以上),不同自变量解释的可能是需求(因变量)的同一种变化,从而使得判定每一个单独的自变量对需求的影响程度非常困难。

        也就是说,如果自变量是各自独立的变量(即不存在多重共线性),这时,根据相关分析,就能得知哪些自变量对因变量有显著影响,哪些没有影响,能很好的进行回归分析。

        但是,当存在严重的多重共线性时(即各个自变量之间有很强的相关关系),自变量之间相互影响和相互变化,而我们无法固定其它自变量来避免这些影响和变化,也就无法得到这个自变量和因变量之间的真实关系。

        比如,要分析自变量A对因变量的影响,自变量A与自变量B强相关。因为这自变量A与自变量B是相关的,我们分析自变量A,就需要固定自变量B,但我们无法固定自变量B,这样,就无法进行完整的分析,就无法得到我们需要的结果。

        多重共线性的主要影响,在数据上表现出来为以下三个方面。

  1. 求不出回归系数a或回归系数a变得不可靠,使得回归模型失真,导致预测结果不稳定或不可靠。
  2. 回归系数a正负方向不可控。即就算可以求出回归系数a,但会出现本应该出现正值的地方出现负值或者相反。
  3. 判定系数R2变得不可靠或不准确。

3 共线性的判别指标(方差膨胀因子)

        有多种方法可以检测多重共线性,较常使用的是回归分析中的VIF值,VIF值越大,多重共线性越严重。一般认为VIF大于10时(严格是5),代表模型存在严重的共线性问题。

        在了解 VIF 如何进行计算之前,需要先知道拟合优度的计算方法。

3.1 拟合优度

        拟合优度测量的是线性回归中得到的模型对样本的拟合程度,使用  来表示:

        

        其中: 

        

  • SSR 衡量的是由 x 的变化所造成的对 y 的变化的影响
  • SSE 衡量的是随机误差对 y 的变化的影响
  • SST 衡量的是上述两个变化所造成的影响的和。

        因此对于一个线性回归的模型来说,我们希望 y 的变化在较大程度上与 x 的变化存在相关性,因此 SSR 越大越好,并且希望随机误差对 y 的影响较小,因此 SSE 越小越好。

        所以  是一个在0到1之间的值,离1越近,说明模型对样本的拟合越好。

         例如我们用学习时间、读书的时间、做的题目的数量作为特征,分数作为y,做回归分析,其中books = 2倍 hours,questions = 3倍 hours ,学习到的参数有负数,但是这不符合事实,因为没有人能学习负数的时间,看负数的书,做负数的题目,考负数的考试。

        我们的数据中出现了多重共线性,导致了模型的参数出现了不符合实际的参数情况。

        但这是怎么造成的呢?很好理解,举个例子就明白了,考虑第一种情况,将 hours 特征设为 x1,假设我们得到的模型为:

       

        由于 hours 和 score 之间是正相关关系,因此模型中的 w1 一定是正数。

        现在,我们加入了第二个与 hours 相关性特别强的特征 books,设为 x2,我们得到的模型是:

               

        由于  ,我们将其带入,可得: 

             

        此时 x1 和 y 之间的关系没有改变,也就是说 x1 前面的参数  ,但此时这个参数由 w1 和 w2 组成,而 w1 和 w2 之间存在无数的组合让其为3,比如: 

           

        当然也可以: 

           

        这样就出现了参数不符合实际的情况。

        那么要怎么样解决多重共线性,提高模型的可解释性呢,最直观的方法就是,把产生了多重共线性的特征直接删掉就可以了,这样做不会有太大的问题,因为当两个特征之间存在完全(近似)多重共线性,说明它们两个能够给模型提供的信息是完全(近似)一致的,而我们不需要重复信息。

        方差膨胀因子(Variance Inflation Factor)是一个判断特征之间多重共线性的度量,接下来介绍VIF。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值