多重共线性问题如何解决?

这篇具有很好参考价值的文章主要介绍了多重共线性问题如何解决?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

多重共线性问题如何解决?

一、多重共线性说明

多重共线性一般是指:如果有两个或者多个自变量高度相关(相关系数大于0.8),难以区分一个自变量对因变量的影响和作用,将自变量相关性产生的后果定义为多重共线性,一般提出多重共线性问题,研究者往往会想到回归分析。回归分析方法,回归模型等,在统计学中都占有重要地位,多数情况下,使用回归分析进行构建模型是,由于模型中解释变量之间存在高度相关关系(如相关系数大于0.8),所以导致数据模型估计失真,此时需要消除多重共线性问题,实现模型的精准估计。接下来从多重共线性的诊断,多重共线性解决办法以及举例进行说明多重共线性几个方面进行说明。

二、多重共线性诊断

1.经验法

经验法就是通过宏观经验进行简单的判断,模型的R方比较高,但是变量不显著(回归中的t检验),或者模型结果不合理,这可能存在多重共线性,即如果R方较高,一般情况下方程整体会显著(即通过F检验),但t检验表明,没有或很少有斜率系数是显著不为0的。

2.相关系数检验法

对于模型中任意两个不同的解释变量进行相关分析,得到相关系数,如果相关系数的绝对值较大(一般大于0.8),则认为这两个变量相关性较高,但是需要知道,相关分析只能检验两个解释变量之间的相关性,对于更多(比如三个)解释变量的相关性检验并不适用。

3.VIF(方差膨胀因子法)

多重共线性问题如何解决?

 

多重共线性问题如何解决?

4.特征根判断法

多重共线性问题如何解决?

 

三、解决办法

如果存在多重共线性问题,一般可以从三个方面进行说明,剔除变量、增大样本量以及更换模型。

1.剔除变量

剔除变量是处理共线性最直接的办法。一般可以找出引起多重共线性的解释变量,然后把它从模型中剔除,但是常常不容易判断具体哪一个变量引起的多重共线性,所以一般解决办法有逐步回归法等。逐步回归是在模型中逐个引入解释变量,如果新引入的变量使得模型统计意义检验或者判断与事实相符,并且R方又能提高,则应该引入,反之无需引入。但是,排除引起共线性的变量后,保留在模型中变量的系数估计值将会改变,并且实际意义也会发生变化。

2.增大样本量

一般如果在计量经济模型中,入股变量的样本数据极少,很容易引起多重共线性问题,可以通过手机更多的观测值来增加样本量,可以避免或者减少共线性的影响,但是会引起计算量的增加。

3.更换模型

除此之外,还可以更换研究模型,利用岭回归、主成分回归、Lasso回归等。

岭回归是以引入偏误来减少参数估计量方差的方法,虽然通过岭回归能使数据变的更合理,但是如果是原模型的实际意义不合理,即使通过岭回归修正后也不一定使模型通过实际意义的检验,所以说在实际应用中也不是所有的共线性都可以用岭回归来解决。操作如下:

多重共线性问题如何解决?

主成分回归中主成分分析又称主分量分析,他是利用降维的思想,在尽量减少损失的信息的前提下,把多个指标通过正交旋转转化为几个综合的指标的分析方法,其基本原理是:利用主成分分析将解释变量转换成若干个主成分,这些主成分从不同侧面反映了解释变量的综合影响,然后在讲解释变量对这些主成分进行回归,在根绝主成分分与解释变量之间的关系,求得原回归模型的估计方程。比如有6个X,其利用降维原理将6个X降维成比如2个主成分,然后后续再进行分析比如线性回归(此种做法称作主成分回归)。操作如下:

多重共线性问题如何解决?

多重共线性问题如何解决?

Lasso回归

Lasso回归分析(Lasso Regression)是一种用于解决线性回归分析中自变量共线性的研究算法。针对Lasso回归:其研究步骤共为2步,分别是结合轨迹图寻找最佳K值;输入K值进行回归建模。具体如下:

第一步:Lasso回归分析前需要结合轨迹图确认K值;K值的选择原则是各个自变量的标准化回归系数趋于稳定时的最小K值。K值越小则偏差越小,K值为0时则为普通线性OLS回归;SPSSAU提供K值智能建议,也可通过主观识别判断选择K值;

第二步:对于K值,其越小越好,通常建议小于1,确定好K值后,得出Lasso回归模型估计。操作如下:

多重共线性问题如何解决?

虽然岭回归和Lasso回归看起来操作差不多但是二者的原理确大不相同,岭回归是使用L2正则化,Lasso回归是使用L1正则化。接下来举个例子进行说明。

四、举例说明

利用线性回归研究居民消费价格指数y和农村居民消费价格x1,、城市居民消费价格指数x2以及商品零售价格指数x3之间的影响关系。其中数据来源于中国统计局网站(文末有案例数据可以下载)。

1.判断多重共线性

首先判断模型是否存在共线性问题,判断多重共线性的方法有很多这里利用VIF值进行判断。结果如下:

多重共线性问题如何解决?

从结果可以看出,VIF值均大于10,所以存在多重共线性,需要进行处理,尽管处理多重共线性的方法有多种,这里选择比较常用的岭回归进行处理。

2.解决多重共线性

利用岭回归处理多重共线性问题,一般有两步分别如下:

  1. 岭回归分析前需要结合岭迹图确认K值;K值的选择原则是各个自变量的标准化回归系数趋于稳定时的最小K值。K值越小则偏差越小,K值为0时则为普通线性OLS回归;SPSSAU提供K值智能建议,也可通过主观识别判断选择K值;
  2. 对于K值,其越小越好,通常建议小于1;确定好K值后,即可主动输入K值,得出岭回归模型估计。

首先结合岭迹图确认K值:

多重共线性问题如何解决?

结果如下:

多重共线性问题如何解决?

从上图看出,以居民消费价格指数y为因变量,农村居民消费价格x1,、城市居民消费价格指数x2以及商品零售价格指数x3为自变量做岭回归,图中可以看看出,当K值为0.01时,此时自变量的标准回归系数趋于稳定,所以SPSSAU系统建议将K值取为0.01。

确定好K值后,即可主动输入K值,得出岭回归模型估计。结果如下:

多重共线性问题如何解决?

从F检验结果中可以看到p值小于0.05,整体模型有效,至少有一个x对y产生影响,模型有意义。接着进行查看岭回归结果,如下:

多重共线性问题如何解决?

从岭回归的结果中可以看出,模型公式为:y=2.000 + 0.328*x1 + 0.559*x2 + 0.094*x3。并且x1、x2和x3对因变量均有影响(p值均小于0.05)并且标准化系数均大于0所以农村居民消费价格x1,、城市居民消费价格指数x2以及商品零售价格指数x3均对居民消费价格指数y有正向影响的作用。并且0.541>0.357>0.103,所以说明x2对因变量的影响最大。模型的R方为0.999,接近于1,说明模型拟合的非常好。

五、总结

本文最开始介绍了多重共线性,然后进行说明多重共线性如何进行诊断多重共线性,其中包括经验法,相关系数检验法,VIF值以及特征根判断法,并且如果存在多重共线性应该如何解决,可以剔除变量或者增大样本量或者更换模型,举例说明如何解决多重共线性,利用岭回归的方法进行解决,最后得到有效结论。文章来源地址https://www.toymoban.com/news/detail-427353.html

到了这里,关于多重共线性问题如何解决?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 利用Python解决利率相关计算问题(利率计算器):本金翻倍,定期取款,多重利率,通货膨胀等问题

    目录 一.原理 二.实际问题举例 多利率问题  存款与本金翻倍  存款与定期取款   存款与通货膨胀 利用python中的for循环或者while循环来计算利率或者解决复利问题。 其中涉及到不同场景下的不同利率问题,利用不同的公式与方法解决。 1.问题描述:小A的爸爸有5万元积蓄存入

    2024年02月06日
    浏览(14)
  • 手把手教你做多重线性逐步回归

    1.1 案例背景介绍 某研究收集到美国50个州关于犯罪率的一组数据,包括人口、面积、收入、文盲率、高中毕业率、霜冻天数、犯罪率共7个指标,现在我们想考察一下州犯罪率和哪些指标有关。数据上传SPSSAU后,在 “我的数据”中查看浏览原始数据,前5行数据如下: 图1 “我

    2024年02月05日
    浏览(13)
  • 去除多重共线性的5种方法,你学废了嘛?

    什么是多重共线性呢? 就是回归模型多个特征之间具有很强的相关性。 多重共线性,听起来很就很严重,其实没有很大的危害,只是容易过拟合,或者导致模型无法解释。尤其是在实际项目中,我们需要解释模型的特征对目标变量的影响时,最好要消除多重共线性。 本文就说

    2024年02月08日
    浏览(21)
  • Linux (centos)中文乱码问题解决 及说明

     首先要区别3个概 :编码集、字符集、字体 是完全不同的东西,我们要解决的是字符集问题。 当一个系统初始化完毕后,会生成一个 /usr/lib/locale/locale-archive 文件,这个是字符集二进制文件,是系统不同语言运行的核心,通过命令 locale -a 可以看到当前文件中支持的语言

    2024年02月07日
    浏览(26)
  • Windows多重连接问题

    先叙述我的问题出现情况: 我在Windows域账号中使用smb连接Linux服务器的共享文件夹时报多重连接的错,报错具体信息:“ 不允许一个用户使用一个以上用户名与服务器或共享资源的多重连接。中断与此服务器或共享资源的所有连接,然后再试一次 。” 查找并 测试过但不成

    2024年02月16日
    浏览(15)
  • 多重背包问题——单调队列优化

    我们在之前的文章中曾经讲解过多重背包问题,当时我们讲解了两种方法,一种方法就是三重循环,这种方法最为朴素好想。但是这种方法的时间复杂度非常高,后来我们想到了二进制优化的方式。那么今天我们将再介绍一种更好的优化方式——单调队列优化。 在讲解这种优

    2024年02月15日
    浏览(14)
  • 完全背包&多重背包问题(动态规划)

    完全背包问题: 每个物品使用次数没有限制,与0-1背包的不同之处在于 遍历背包的顺序 是正序。 多重背包问题: 与完全背包的区别在于,每一种物品是有个数限制的,不能无限选择。这篇博客讲解的非常详细,可以参考学习: 多重背包问题---超详细讲解+优化(不懂你揍我

    2024年04月10日
    浏览(17)
  • 动态规划DP之背包问题3---多重背包问题

    目录 DP分析: 优化:  二进制优化 例题:         01背包是每个物品只有一个,完全背包问题是每个物品有无限个。         那么多重背包问题就是 每个物品有有限个 。 有 N 种物品和一个容量是 V 的背包。 第 i 种物品最多有 si 件,每件体积是 vi,价值是 wi。 求解

    2024年03月20日
    浏览(20)
  • 【单谐波非线性振动问题求解器 GUI 】使用单个谐波表示解决 MDOF 非线性振动问题(Matlab代码实现)

    目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 对于解决多自由度(MDOF)非线性振动问题,使用单个谐波表示是一种常见的近似方法。这种方法将系统的非线性部分在谐波振动的基础上线性化,从而简化求解过程。 以下是一个基于GUI的单谐波非线性振动问题

    2024年02月15日
    浏览(17)
  • 矩阵运算之外积:解决线性代数问题的关键技巧

    线性代数是数学的一个分支,主要研究的是线性方程组和矩阵。线性方程组是指每个变量的方程都是线性的方程组,矩阵是一种数学结构,可以用来表示和解决线性方程组。在现实生活中,线性方程组和矩阵广泛应用于各个领域,如物理学、生物学、经济学、计算机科学等。

    2024年02月21日
    浏览(13)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包