前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >对于多重共线性的简单理解

对于多重共线性的简单理解

作者头像
云时之间
发布于 2018-04-11 05:11:24
发布于 2018-04-11 05:11:24
1.3K0
举报
文章被收录于专栏:云时之间云时之间

各位小伙伴们劳动节快乐,利用假期的这几天的时间,在王者荣耀游戏时间之余研究了一下一直困扰我很久的多重共线性,所以今天能够用一篇文章来讲一讲我理解的多重共线性,并且希望大家可以给我多多指教,话不多说,马上开始.

有的时候,当自变量彼此相关时,回归模型可能非常令人糊涂,估计的效应会随着模型中的其他的自变量而改变数值,甚至是符号,所以我们在分析的时候,了解自变量间的关系的影响是很重要的,因此这个复杂的问题就常被称之为共线性或多重共线性.

1:什么是多重共线性?

按照定义上来说,如果存在某个常数C0,C1,C2,并且使得线性等式满足以下情况:

并且满足对于数据中的所有数据中的样本都成立,则两个自变量X1和X2位精准共线性的.

在实际的操作中,精准的共线性是很少概率发生的,因此如果上边的那个公式近似的对测量数据成立,那么就可以说他们有近似的共线性.一个常用但是不是完全适合的X1和X2间的共线性程度的度量,是他们样本系数的平方R所决定的,精准共线性对应的R=1,非共线性对应的R=0.所以因此来说,当R越来越接近于1时,近似的共线性会越来越强.通常,我们去掉形容词近似,当R较大的时候,我们就说X1和X2是共线性的.

对于P(>2)个自变量,如果存在常数C0,C1.......CP使得如下公式可以近似表示:

那么我们通常称这个P个变量存在多重共线性.

2:多重共线性的发现

将x(1),x(2),···,x(p)是自变量X1,X2,···,Xp经过中心化和标准化得到的向量,记作X=(x(1),x(2),···,x(p)),设λ为XTX的一个特征值,φ为对应的特征向量,其长度为1,即φTφ = 1.此时若λ ≈ 0,则:

用φT左乘上式,得到:

所以有Xφ ≈ 0;

即:

其中φ=(φ1,φ2,···,φp)T表明,向量x(1),x(2),···,x(p)之前有近似的线性关系,也就是说,对于自变量X1,X2,......,Xp,存在C0,C1,……,Cp之间使得

c1X1 +c2X2 +···+cpXp =c0近似成立,这就可以说明自变量之间存在有多重共线性.

度量多重共线性的严重程度的一个重要指标是方矩的XTX的条件数,即如下所示:

其中λmax(XTX),λmin(XTX)表示的是XTX的最大,最小的特征值.

直观上,条件数刻画的XTX的特征值差异的大小,从实际应用的角度,一般若K<100,则认为多重共线性的程度很小,若是100<=K<=1000,则认为存在一般程度上的多重共线性,若是K>1000,则就认为存在严重的多重共线性.

因为我最近一直在学习R语言,所以我想用个R语言的实例来更好的解释下多重共线性的问题.

例1:

考虑一个有六个回归自变量的线性回归问题,原始数据如下图:

这里一共有12组数据,除了第一组外,自变量X1,X2....,X6的其余11组数据均满足线性关系:

X1+X2+X3+X4=10;

现在试图用求矩阵条件数的方法,来分析数自变量之间存在的多重共线性.

首先先补充一些R语言的知识,在R语言中,函数Kappa()是计算矩阵的条件数,其使用的方法为Kappa(z,exact =FALSE,…).

其中的z是矩阵,exact是逻辑变量,当exact=TRUE时,精确计算条件数,否则近似计算条件数.

现在开始解题了,首先第一步,用数据框的方法输入数据,由自变量X1,X2,......X6中心化和标准化得到的矩阵XTX本质上就是由这些自变量生成的相关矩阵,再用Kappa()函数求出矩阵的条件数,用eigen()函数求出矩阵XTX的最小特征值和相应的特征向量,求解问题的R程序如下:

得到的条件数K=2195.908>1000,这个时候我们可以认为有严重的多重共线性,进一步,我们要试图找出那些变量是多重共线性的,计算矩阵的特征值和相应的特征向量:

输入eigen(XX)

这个时候我们可以得到:

λmin = 0.001106,

φ =(0.4476,0.4211,0.5417,0.5734,0.006052,0.002167)T .

所以我们可以得到结果:

因为X(5),X(6)前边的系数近似等于0,因此我们可以得到:

所以存在着C0,C1,C2,C3,C4使得:

这样其实就可以说明变量X1,X2,X3,X4之间存在着多重共线性,这个与题目中的变量是相同的,因此我们的问题也就迎刃而解了.

所以上述就是我对于多重共线性的一些理解,但是我觉得里边还有很多知识上的漏洞需要去解决补充,也欢迎大家可以给我多多提出意见,祝大家节日快乐.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.05.01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
《机器学习核心算法》二、线性回归:协方差分析、多重共线性与假设检验
大家好!今天我们来聊聊线性回归中三个重要的概念:协方差分析、多重共线性和假设检验。线性回归是一种强大的工具,用于研究变量之间的关系,但要正确使用它,我们需要理解这些关键概念。让我们开始吧!
javpower
2025/05/30
3.4K0
《机器学习核心算法》二、线性回归:协方差分析、多重共线性与假设检验
数据分析——多重共线性检验
二、方差膨胀系数(VIF) VIF的取值大于1,VIF值越接近于1,多重共线性越轻,反之越重。通常以10作为判断边界。当VIF<10,不存在多重共线性;当10<=VIF<100,存在较强的多重共线性;当VIF>=100, 存在严重多重共线性。 容忍度的值界于0至1之间,当容忍度值较小时,表示此自变量与其他自变量之间存在共线性。 容忍度~VIF的倒数
全栈程序员站长
2022/08/30
4.8K0
数据分析——多重共线性检验
VIF,共线相关性理解「建议收藏」
如果将所有自变量用于线性回归或逻辑回归的建模,将导致模型系数不能准确表达自变量对Y的影响。
全栈程序员站长
2022/09/01
1.6K0
VIF,共线相关性理解「建议收藏」
多重共线性VIF
多重共线性是指自变量之间存在线性相关关系,即一个自变量可以是其他一个或几个自变量的线性组合。
全栈程序员站长
2022/08/12
1K0
多重共线性VIF
多重共线性:python中利用statsmodels计算VIF和相关系数消除共线性
本文将讨论多重共线性的相关概念及利用python自动化消除多重共线性的方法,以供参考,欢迎拍砖
全栈程序员站长
2022/09/05
3.5K0
用 VIF 方法消除多维数据中的多重共线性
多元线性回归是我们在数据分析中经常用到的一个方法,很多人在遇到多维数据时基本上无脑使用该方法,而在用多元线性回归之后所得到的结果又并不总是完美的,其问题实际上并不出在方法上,而是出在数据上。当数据涉及的维度过多时,我们就很难保证维度之间互不相关,而这些维度又都对结果产生一定影响,当一组维度或者变量之间有较强的相关性时,就认为是一种违背多元线性回归模型基本假设的情形。今天我们就讲解一下如何用VIF方法消除多维数据中多重共线性的问题。
全栈程序员站长
2022/09/03
1.7K0
用 VIF 方法消除多维数据中的多重共线性
多重共线性检验-方差膨胀系数(VIF)-相关系数(机器学习)sklearn
方差膨胀系数是衡量多元线性回归模型中多重共线性严重程度的一种度量。 它表示回归系数估计量的方差与假设自变量间不线性相关时方差相比的比值。
全栈程序员站长
2022/06/27
3.7K0
多重共线性检验-方差膨胀系数(VIF)-相关系数(机器学习)sklearn
机器学习笔记之多重共线性问题以及如何解决
在进行线性回归分析时,容易出现自变量(解释变量)之间彼此相关的现象,我们称这种现象为多重共线性。
Jetpropelledsnake21
2021/03/03
3.7K0
R多元线性回归容易忽视的几个问题(2)多重共线性的克服
如果存在着严重的多重共线性,则需要使用合适的方法尽量地降低多重共线性,有两种比较常用的方法:
Ai学习的老章
2019/04/10
1.8K2
R多元线性回归容易忽视的几个问题(2)多重共线性的克服
多元线性回归容易忽视的几个问题(1)多重共线性
最近在看《R数据分析——方法与案例详解》,感觉很不错,本书精华是统计学理论与R的结合,尤其是多元统计部分,因为本书其中一个作者朱建平是厦大统计系教授,曾编写过《应用多元统计分析》一书,可能有同学用过这本教材。《R数据分析》的理论部分建议研究透彻,公式部分最好都演算一遍。因为已经看过《R inaction》,所以笔记就只做我比较感兴趣的部分,也是我认为比较重要的部分。
Ai学习的老章
2019/04/10
5.5K0
多元线性回归容易忽视的几个问题(1)多重共线性
机器学习线性回归:谈谈多重共线性问题及相关算法
前面几天阐述了线性回归的最小二乘法(OLS)在做回归时,一致地看待每一个样本点,是典型的无偏估计,会得到一个使得残差最小的权重参数。然而,在面对一堆数据集存在多重共线性时,OLS 就变得对样本点的误差
double
2018/04/02
2.3K0
机器学习线性回归:谈谈多重共线性问题及相关算法
多重共线性检验之方差膨胀因子VIF[通俗易懂]
1、构造每一个自变量与其余自变量的线性回归模型,例如,数 据集中含有p个自变量,则第一个自变量与其余自变量的线性组合可以 表示为
全栈程序员站长
2022/09/06
1.9K0
多重共线性检验之方差膨胀因子VIF[通俗易懂]
R语言广义线性模型(GLM)、全子集回归模型选择、检验分析全国风向气候数据
我们正和一位朋友讨论如何在R软件中用GLM模型处理全国的气候数据。本文获取了全国的2021年全国的气候数据(点击文末“阅读原文”获取完整代码数据)。
拓端
2023/11/17
3740
R语言广义线性模型(GLM)、全子集回归模型选择、检验分析全国风向气候数据
VIF 多重共线性膨胀因子
方差膨胀系数(variance inflation factor,VIF)是衡量多元线性回归模型中复 (多重)共线性严重程度的一种度量。它表示回归系数估计量的方差与假设自变量间不线性相关时方差相比的比值。
全栈程序员站长
2022/09/06
1.4K0
VIF 多重共线性膨胀因子
R 检测多重共线性
多重共线性可用统计量VIF(Variance Inflation Factor,方差膨胀因子)进行检测。VIF的平 方根表示变量回归参数的置信区间能膨胀为与模型无关的预测变量的程度(因此而得名)。car 包中的vif()函数提供VIF值。一般原则下, vif >2就表明存在多重共线性问题。
全栈程序员站长
2022/08/23
6150
回归分析中自变量取舍、检验及多重共线性处理(VIF)「建议收藏」
A1 正交假定:误差项矩阵与X中每一个x向量都不相关 高斯-马尔科夫定理:若满足A1和A2假定,则采用最小二乘法得到回归参数估计是最佳线性无偏估计 方程估计值b1和b2可以看做偏回归系数,也是相应自变量对y的一种偏效应 偏效应:在控制变量下,各自变量X对因变量Y的净效应 残差项:针对具体模型而言,被定义为样本回归模型中观测值与预测值之差 误差项:针对总体真实回归模型而言,它由一些不可观测因素或测量误差所引起 纳入无关自变量并不影响OLS估计结果的无偏性,但是如果无关自变量如果与其他自变量相关,会导致相应回归系数(b1,b2)的标准误增大;换句话说,如果总体中无关自变量对y没有偏效应,那么把它加入模型只可能增加多重共线性问题,从而减弱估计的有效性。 因此,不要加入无关自变量,原因是
全栈程序员站长
2022/09/02
3.5K0
多重共线性检测—相关性系数矩阵和方差膨胀系数(VIF)分析学习
多重共线性(Multicollinearity) 是在多元线性回归分析中经常遇到的一个问题,它发生在当两个或更多的预测变量(自变量)在统计模型中高度相关。在这种情况下,这些变量之间的关系会影响模型对各个变量影响的准确评估,从而导致以下几个问题:
凑齐六个字吧
2024/09/04
1.4K0
多重共线性检测—相关性系数矩阵和方差膨胀系数(VIF)分析学习
线性回归中的多重共线性与岭回归
上篇文章《简单而强大的线性回归详解》(点击跳转)详细介绍了线性回归分析方程、损失方程及求解、模型评估指标等内容,其中在推导多元线性回归使用最小二乘法的求解原理时,对损失函数求导得到参数向量 的方程式
数据STUDIO
2021/06/24
2.3K0
如何使用PCA去除数据集中的多重共线性
多重共线性是指自变量彼此相关的一种情况。当你拟合模型并解释结果时,多重共线性可能会导致问题。数据集的变量应该是相互独立的,以避免出现多重共线性问题。
deephub
2020/12/24
1.8K0
多重共线性是如何影响回归模型的
例如,如果你的模型包括2个变量,即工作经验年数和工资,那么在你的模型中就很有可能存在多重共线性。原因是从常识上讲,经验越丰富,薪水越高。
deephub
2021/10/20
2K0
多重共线性是如何影响回归模型的
推荐阅读
相关推荐
《机器学习核心算法》二、线性回归:协方差分析、多重共线性与假设检验
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档