10_方差膨胀因子的计算公式为_方差膨胀因子’/>

前言

10_方差膨胀因子的计算公式为’/>

探索性数据分析、数据清洗与预处理和多元线性回归模型构建完毕后,为提升模型精度及其稳健性,还需进行许多操作。方差膨胀因子便是非常经典的一步,原理简单,实现优雅,效果拔群。

原理趣析

10_方差膨胀因子的计算公式为’/>

多重线性回归模型的主要假设之一是我们的预测变量(自变量)彼此不相关。我们希望预测变量与反应变量(因变量)相关,而不是彼此之间具有相关性。如言情剧中的 A 喜欢B,B 却喜欢 C,结果发现 C 其实喜欢 A;而 B 的一举一动很有可能影响着 A,所以当我们把 B和C 作为自变量来预测因变量 A 的行为时,这两个自变量之间的相互影响就会有点让人难受。

10’/>

公式解释

10_方差膨胀因子的计算公式为’/>

方差膨胀因子(Variance Inflation Factor,以下简称VIF),是指解释变量之间存在多重共线性时的方差与不存在多重共线性时的方差之比。

10_方差膨胀因子_方差膨胀因子的计算公式为’/>

上图公式可以看出在方差膨胀因子的检测中:

VIF越大,显示共线性越严重。经验判断方法表明:当0

效果实现

10_方差膨胀因子的计算公式为’/>

本文将使用 Python 数据分析利器 Jupyter Notebook 实现。虽然前人大神们已经有了完整的实现步骤

但他们的实现方法还是会轻微复杂,笔者这里提供一个自写函数的方法

10_方差膨胀因子_方差膨胀因子的计算公式为’/>

10’/>

使用自写函数来检测各自变量的方差膨胀因子

10’/>

发现变量 bedrooms 和 bathrooms 的方差膨胀因子都超过了 10。其实方差因子通常成对出现,通常较大的两个方差膨胀因子表明这两个变量自身本来就具有高度相关性,即这两个变量一起才解释一种东西,可以考虑去除一个自己并不怎么感兴趣的变量即可,也回到了我们最开始的目的:多重线性回归模型的主要假设之一是我们的预测变量彼此不相关,我们希望预测变量与反应变量相关,而不是彼此之间具有相关性。

bedrooms 和 bathrooms 的方差膨胀因子异常也能从上一张 ols 建模结果的图中看到端倪。将变量之间的相关性以热力图的形式呈现后,发现 ols 建模的结果是 bedrooms 每增加一个单位,房价还减少 -2925.8063 ???而热力图则反映出bedrooms 与房价呈现比较强的正相关关系。

10’/>

所以我们可考虑去掉方差膨胀因子最大的变量 bedrooms,后再进行一次 ols 建模

10’/>

对比两次建模结果,发现其实删除某个方差膨胀因子异常的变量后建模结果也不变,但我们需要注意的是:具体问题还得结合具体业务来分析,有时候尽管出现了多元共线性,但也还是需要保留方差膨胀因子异常的变量。

注:相关数据源和超详细的代码(python,Jupyter Notebook 版本 + 详细注释)已经整理好,在“ 数据分析与商业实践 ” 公众号后台回复 “ vif ” 即可获取。

精彩回顾

限时特惠:本站每日持续更新海内外内部创业教程,一年会员只需88元,全站资源免费下载点击查看详情
站长微信:nnxmw123
公众号:牛牛网创笔记