python检验多重共线性_利用Python进行VIF检验[通俗易懂]

python检验多重共线性_利用Python进行VIF检验[通俗易懂]在统计学中,多重共线性(共线性)是指多元线性回归模型中的某个预测变量(自变量/解释变量)可以以相当大的准确度通过其他预测变量线性预估。在这种情况下,模型或数据的微小变化就可能导致多元回归模型的系数估计值出现不规律地改变,可能造成如下后果:回归系数的普通最小二乘估计量可靠度降低。如图1与2所示,随着多重共线性程度的提高,参数方差(表示变量与的相关度)会急剧上升到很大的水平,理论上使最小二…

大家好,又见面了,我是你们的朋友全栈君。

在统计学中,多重共线性(共线性)是指多元线性回归模型中的某个预测变量(自变量/解释变量)可以以相当大的准确度通过其他预测变量线性预估。 在这种情况下,模型或数据的微小变化就可能导致多元回归模型的系数估计值出现不规律地改变,可能造成如下后果:回归系数的普通最小二乘估计量可靠度降低。如图1与2所示,随着多重共线性程度的提高,参数方差(

python检验多重共线性_利用Python进行VIF检验[通俗易懂] 表示变量

python检验多重共线性_利用Python进行VIF检验[通俗易懂]

python检验多重共线性_利用Python进行VIF检验[通俗易懂] 的相关度)会急剧上升到很大的水平,理论上使最小二乘法估计的有效性、可靠性和价值都受到影响,实践中参数估计的可靠程度下降。python检验多重共线性_利用Python进行VIF检验[通俗易懂]图1. 二元线性回归模型python检验多重共线性_利用Python进行VIF检验[通俗易懂]图2. 二元线性回归系数的最小二乘估计量与方差回归系数的普通最小二乘估计量的业务含义不合理。如β1的普通最小二乘估计量的意义是:在自变量

python检验多重共线性_利用Python进行VIF检验[通俗易懂] 维持不变的情况下,自变量

python检验多重共线性_利用Python进行VIF检验[通俗易懂] 每变化一个单位时因变量

python检验多重共线性_利用Python进行VIF检验[通俗易懂] 的均值的变化率。然而,模型在存在不完全多重共线性的问题时,自变量

python检验多重共线性_利用Python进行VIF检验[通俗易懂]

python检验多重共线性_利用Python进行VIF检验[通俗易懂] 是高度线性相关的,因此无法做到保持变量

python检验多重共线性_利用Python进行VIF检验[通俗易懂] 不变的情况下,只变化变量

python检验多重共线性_利用Python进行VIF检验[通俗易懂] 的值。也就是说,此时反映的是自变量

python检验多重共线性_利用Python进行VIF检验[通俗易懂]

python检验多重共线性_利用Python进行VIF检验[通俗易懂] 对因变量

python检验多重共线性_利用Python进行VIF检验[通俗易懂] 的共同影响,而不是

python检验多重共线性_利用Python进行VIF检验[通俗易懂]

python检验多重共线性_利用Python进行VIF检验[通俗易懂] 的独立影响,并且没有方法能够度量

python检验多重共线性_利用Python进行VIF检验[通俗易懂] 中自变量

python检验多重共线性_利用Python进行VIF检验[通俗易懂]

python检验多重共线性_利用Python进行VIF检验[通俗易懂] 对因变量

python检验多重共线性_利用Python进行VIF检验[通俗易懂] 的各自影响的大小。因此,失去了

python检验多重共线性_利用Python进行VIF检验[通俗易懂]原本的业务含义。

变量无法通过显著性检验的概率增大,可能将重要的解释变量排除在模型之外。如对变量

python检验多重共线性_利用Python进行VIF检验[通俗易懂]进行显著性检验,原假设为

python检验多重共线性_利用Python进行VIF检验[通俗易懂] ,检验统计量

python检验多重共线性_利用Python进行VIF检验[通俗易懂] 值为

python检验多重共线性_利用Python进行VIF检验[通俗易懂]。如前所述,当自变量

python检验多重共线性_利用Python进行VIF检验[通俗易懂]

python检验多重共线性_利用Python进行VIF检验[通俗易懂]存在高度线性相关,并且相关程度越来越高时,

python检验多重共线性_利用Python进行VIF检验[通俗易懂] 的方差和标准差迅速增大,从而使得

python检验多重共线性_利用Python进行VIF检验[通俗易懂]值变小,接受原假设的可能性增大,即变量无法通过显著性检验的概率增大。

但是务必强调的一点是,多重共线性不会降低整个模型的预测能力或可靠性, 它只影响有关个体预测因子(individual predictors)的计算。 也就是说,一个具有共线预测变量的多元回归模型可以指示所有预测变量组合对因变量的预测结果,但它可能不能给出任何单个预测变量的有效结果,也不能说明哪些预测因子相对于其他预测因子是多余的。(That is, a multivariate regression model with collinear predictors can indicate how well the entire bundle of predictors predicts the outcome variable, but it may not give valid results about any individual predictor, or about which predictors are redundant with respect to others.)

LR作为回归模型之一,多重共线性同样会导致LR的系数不准确,产生偏差,进而导致模型的解释出现问题,更甚者,在使用递归特征消除法逐步筛选变量时,会产生不利影响。如果你期望的变量总是进入不了模型,很有可能就是多重共线性造成的影响。

因此,如何检查自变量的多重共线性及其共线程度是个重要命题。

相关性分析是检查多重共线性的手段之一,通常认为,相关系数高于0.8,就存在共线性;但是,但是,但是,相关系数低,并不能表示不存在多重共线性!!!目前业界检验共线性最常用的方法是VIF检验。VIF越高,多重共线性的影响越严重。由于没有VIF临界值表,我们只能使用经验法则:若VIF>5,则存在严重多重共线性。也有人建议用VIF>10作为存在严重多重共线性的标准,特别在解释变量多的情形应当如此。

利用Python进行VIF检验也很简单, 计算案例数据来源于此。

import pandas as pd

import numpy as np

from statsmodels.stats.outliers_influence import variance_inflation_factor

#宽表

data = pd.DataFrame([[15.9,16.4,19,19.1,18.8,20.4,22.7,26.5,28.1,27.6,26.3]

,[149.3,161.2,171.5,175.5,180.8,190.7,202.1,212.1,226.1,231.9,239]

,[4.2,4.1,3.1,3.1,1.1,2.2,2.1,5.6,5,5.1,0.7]

,[108.1,114.8,123.2,126.9,132.1,137.7,146,154.1,162.3,164.3,167.6]]).T

#自变量

X=data[[1,2,3]]

#✨✨✨务必注意✨✨✨,一定要加上常数项

X[4]=1

#计算第2个变量的(第二列)的方差膨胀因子

variance_inflation_factor(X[[1,2,3,4]].values,1)

#如果没有常数项列,计算结果天差地别,可能VIF等于好几千

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/130222.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号