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等于好几千

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 用python提取字符串的中英文——建议收藏反复观看

    用python提取字符串的中英文——建议收藏反复观看python中提取字符串的中文或英文re中的sub函数提取中文提取英文提取数字re中的findall函数提取中文提取英文提取数字re中的compile函数同时匹配中英文数字去除其他字符前言:提取中英文是我们在做数据处理时候经常使用的,最高效的做法就是通过正则判断了,下面是我写的笔记,希望对你有用re中的sub函数使用Python的re模块,re模块提供了re.sub用于替换字符串中的匹配项。re.sub(pattern,repl,string,count=0)参数说明:

    2022年5月20日
    54
  • python如何读取sql文件_sql数据库常用命令

    python如何读取sql文件_sql数据库常用命令基本思路:①读sql文件,整理出sql语句;②执行sql语句。简单代码如下:#db_cursor→由db_cursor()创建,sql_file→sql文件defread_SQL(self,db_cursor,sql_file):#打开文件fpfp=open(sql_file,encoding=’utf8′)#读文件file=fp.readlines()#sql语句集合(

    2022年10月2日
    6
  • oracle中is not null,oracle之is null和is not null的优化「建议收藏」

    oracle中is not null,oracle之is null和is not null的优化「建议收藏」oracle之优化isnull语句一:isnull的优化方法:通过nvl(字段,j)=j的方式,将字段中为空的数据转化为j,从而正常使用索引。具体实现条件则是:iisnull<===>j=nvl(i,j);注意:使用时必须要确保字段的数据不包含j,例如:(age,15)=15,此时有可能age内容是15,此时不可以,j的值要变换,保证不再age的范围之内。函数介绍:nv…

    2022年8月30日
    6
  • 图像处理算法论文

    图像处理算法论文一:去雾方面的论文      1、EfficientImageDehazingwithBoundaryConstraintandContextualRegularization,下载地址:      http://lab.datatang.com/1984DA173065/WebFile/DocWeb/2014012053738649.pdf

    2022年5月17日
    46
  • administrator改名字_计算机名和用户名

    administrator改名字_计算机名和用户名重命名计算机必须以管理员或Administrators组成员身份登录才能完成该过程。如果计算机与网络连接,则网络策略设置也可以阻止您完成此步骤。在控制面板中打开系统。在“计算机名称”选项卡,单击“更改”。在“计算机名”下键入计算机的新名称,然后单击“确定”。如果计算机是域的成员,则提示您提供用户名和用户密码才能重命名域中的计算机。注意要打开“系统”,请单击“开始”,指向“设置”,单击“控制面…

    2022年10月14日
    3
  • NOVO SOP (SOP简介及历史)[通俗易懂]

    NOVO SOP (SOP简介及历史)[通俗易懂]SOP(StandardOperationProcedure),标准作业程序。一、什么是SOP(标准作业程序)  所谓SOP,是StandardOperationProcedure三个单词中首字母的大写,即标准作业程序(标准操作程序),就是将某一事件的标准操作步骤和要求以统一的格式描述出来,用来指导和规范日常的工作。  SOP的精髓,就是将细节进行量化,用更通俗的话来…

    2022年5月25日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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