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)
上一篇 2022年6月14日 下午6:36
下一篇 2022年6月14日 下午6:46


相关推荐

  • pycharm基本操作_pycharm用法

    pycharm基本操作_pycharm用法0前言1官方快捷键2自定义快捷键0前言1官方快捷键Ctrl+快捷键说明Ctrl+鼠标左键/B点击变量应用处,到达变量定义处点击变量定义处,显示变量应用列表Ctrl+C/X/V复制/剪切/粘贴Ctrl+D现场复制粘贴选中的区域或当前行Ctrl+F/R开启查找/替换功能,开启时自动填写选中的字符Ctrl+H显示当前class的层次结构Ctrl+S全部保存Ctrl+W扩大光标选中范围Ctrl.

    2022年8月28日
    7
  • 讯飞星火X1深度推理大模型实测:小参数大智慧,国产AI新突破!

    讯飞星火X1深度推理大模型实测:小参数大智慧,国产AI新突破!

    2026年3月14日
    2
  • 什么是代码_大专程序员有人要吗

    什么是代码_大专程序员有人要吗什么是代码,什么是数据。代码是能够处理其他数据的数据,而数据是储存信息的数据。数据有时能够变成代码,代码也可以变成数据。甚至,一段数据中某一段,都可以单独拿出来,通过执行器执行(执行器,比如exe的执

    2022年8月1日
    7
  • vmware16虚拟机安装教程win10_虚拟机安装ghostwin7

    vmware16虚拟机安装教程win10_虚拟机安装ghostwin7相对于vm15而言,vm16虚拟机它的基础上进行了全方面的改善和优化,如能够从vmx中删除图形渲染并将其作为单独的沙箱进程运行,可以增强虚拟机的安全性,还支持在WorkstationPro顶部运行的KINDkubernetes集群,与虚拟机虚拟XHCI控制器USB3.1,以及支持10Gbps等等,最值得一提的是支持暗模式,主要优势在于弱光环境下具有更高的可读性,且降低了设备屏幕的亮度,改善…

    2025年11月17日
    3
  • Prism教程二: Bootstrapper

    Prism教程二: Bootstrapper在程序中使用框架必然要有一个切入点,框架会在这里进行初始化,处理相关配置等。在Prism中扮演这一角色的就是Bootstrapper。Prism提供了一个抽象基类Bootstrapper,这个类里面包含了许多空的虚方法,可以重写他们添加自己的逻辑。这个

    2022年7月20日
    17
  • Pytest(16)随机执行测试用例pytest-random-order[通俗易懂]

    Pytest(16)随机执行测试用例pytest-random-order[通俗易懂]前言通常我们认为每个测试用例都是相互独立的,因此需要保证测试结果不依赖于测试顺序,以不同的顺序运行测试用例,可以得到相同的结果。pytest默认运行用例的顺序是按模块和用例命名的ASCII编码

    2022年7月29日
    10

发表回复

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

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