多重共线性

多重共线性的概念:模型解释变量之间存在完全线性相关或不完全线性相关关系

产生的原因:
(1)特征变量之间的内在联系
(2)特征变量在时间上有同方向变动的趋势
(3)某些变量的滞后

检验的方法:
(1)相关性分析
(2) 方差膨胀因子
?方差膨胀因子(Variance Inflation Factor,VIF):容忍度的倒数,VIF越大,显示共线性越严重。经验判断方法表明:当0<VIF<10,不存在多重共线性;当10≤VIF<100,存在较强的多重共线性;当VIF≥100,存在严重多重共线性
(3)条件系数检验
?
带来的影响:
(1)ols估计量的方差增大
(2)难以区分每个解释变量的单独影响
解释变量之间的相关性,无法‘保证其它变量不变’
(3)变量的显著性检验失去意义
在多重共线性的影响下,系数估计标准差的增大将导致t统计量值的减小,是原来显著的t值变成不显著的,容易将重要的解释变量误认为是不显著的变量。
(4)回归模型缺乏稳定性
不同样本对模型的影响较大,若出现不合理的系数,首先考虑是否存在多重共线性

处理方法:
(1)删除不重要的自变量
偏相关系数检验证实为共线性原因的那些变量中删除.。
(2)追加样本信息
多重共线性问题的实质是样本信息的不充分而导致模型参数的不能精确估计,因此追加样本信息是解决该问题的一条有效途径。
(3)利用非样本先验信息
(4)改变解释变量的心酸
改变解释变量的形式是解决多重共线性的一种简易方法,例如对于横截面数据采用相对数变量,对于时间序列数据采用增量型变量。
(5)逐步回归法(有效,常用)
逐步回归(Stepwise Regression)是一种常用的消除多重共线性、选取“最优”回归方程的方法。其做法是将逐个引入自变量,引入的条件是该自变量经F检验是显著的,每引入一个自变量后,对已选入的变量进行逐个检验,如果原来引入的变量由于后面变量的引入而变得不再显著,那么就将其剔除。引入一个变量或从回归方程中剔除一个变量,为逐步回归的一步,每一步都要进行F 检验,以确保每次引入新变量之前回归方程中只包含显著的变量。这个过程反复进行,直到既没有不显著的自变量选入回归方程,也没有显著自变量从回归方程中剔除为止。
第一:建立全部变量的回归方程
第二:分别建立单独的回归方程,依照t检验和拟合度依次加入各变量来构建回归方程
第三:判断新引入的变量,对于之前的系数影响是否显著,是否符合实际以及对于拟合度的变量,来选择是否将变量引入模型中。
(6)主成分回归
主成分分析法作为多元统计分析的一种常用方法在处理多变量问题时具有其一定的优越性,其降维的优势是明显的,主成分回归方法对于一般的多重共线性问题还是适用的,尤其是对共线性较强的变量之间。当采取主成分提取了新的变量后,往往这些变量间的组内差异小而组间差异大,起到了消除共线性的问题。

时间: 2024-10-27 18:46:59

多重共线性的相关文章

多重共线性的解决方法之——岭回归与LASSO

? ? ? 多元线性回归模型 的最小二乘估计结果为 如果存在较强的共线性,即 中各列向量之间存在较强的相关性,会导致的从而引起对角线上的 值很大 并且不一样的样本也会导致参数估计值变化非常大.即参数估计量的方差也增大,对参数的估计会不准确. 因此,是否可以删除掉一些相关性较强的变量呢?如果p个变量之间具有较强的相关性,那么又应当删除哪几个是比较好的呢? 本文介绍两种方法能够判断如何对具有多重共线性的模型进行变量剔除.即岭回归和LASSO(注:LASSO是在岭回归的基础上发展的) ? ? 思想:

R语言多重共线性判别

1.可以计算X矩阵的秩qr(X)$rank,如果不是满秩的,说明其中有Xi可以用其他的X的线性组合表示: 2.也可以计算条件数kappa(X),如楼上所说,k<100,说明共线性程度小:如果100<k<1000,则存在较多的多重共线性;若k>1000,存在严重的多重共线性. 可以进行逐步回归,用step()命令,比如你一开始的模型是fm=lm(),step(fm)就可以了 3.可以使用方差膨胀因子(VIF) library(car) vif(lm.sol) 得到各个系数的方差膨胀因

从统计看机器学习(二) 多重共线性的一些思考

从一个生活中的现象说起:我们在装机时,不会安装一款以上的解压软件,也希望被莫名其妙地安装额外的管家.与此相反,我们会安装多款播放器.那么,这是为什么呢?当然,也可以思考这样一个问题,好评的软件那么多,硬盘又足够大,为什么不都装上?看到第二个问题,思路似乎清晰了.很简单,解压软件.管家的功能大同小异,且都免费,甚至不需要考虑到底用哪个,似乎只要有那么一个就好了.但是,播放器有单机.网络之分.即使均为网络播放器,仍会搜索到不同资源...即使播放器之间看似相同. 在1996年,还在读书的Tim C.

关于数据挖掘中“多重共线性”的确定方法(有图有真相)

回归分析是数据挖掘中最基本的方法,其中基于普通最小二乘法的多元线性回归要求模型中的特征数据不能存在有多重共线性,否则模型的可信度将大打折扣.但是就是技术而言,如何确定模型中的各各特征之间是否有多重共线性呢? 先来看一组数据 我们能否用这组数据来建立多元线性回归模型呢?现在这组数据的问题还不十分明显,我们不妨用最简单的交叉散点图来透视一下数据可能存在的问题.于是我们在R中绘制了下图: 从散点图中我们可以看出每个解释变量都与被解释变量有较明显的线性关系,而且这也是我们所希望看到的.但是两个解释变量之

第七讲异方差、多重共线性、逐步回归

球型扰动项 异方差 https://www.zhihu.com/question/311499113/answer/594763791 图中可知 存在异方差 越变越大 检验异方差 画图只是大致看一下 rvfplot (画残差与拟合值的散点图) rvpplot (画残差与自变量x的散点图) 步骤 regress 进行多元回归 然后用rvfplot 进行画图 因为拟合值出现负数 我们进行看看 y 的密度分布 保存用graph export 名字.png ,replace 得出分布不均匀 用summa

第四篇[机器学习] 机器学习,线性回归的优化

当我们的数据存在多重共线性时,即其中的一个自变量可以用其他一个或几个自变量的线性表达式进行表示,你会发现,拟合之后的方差会特别大 一般说来当解释变量的容忍度(TOLERANCE)小于0.10或者方差膨胀因子(VIF)大于10时,说明变量之间存在多重共线性现象,会影响到回归模型的正确估计. 方差膨胀因子VIF=1/(1-r2),r是线性相关系数 具体可以参考:多重共线性,怎么判断是否有多重共线性,怎么解决 scikit-learn介绍了一种岭回归,岭回归就是带二范数惩罚的最小二乘回归. 通过放弃最

岭回归和lasso回归(转)

回归和分类是机器学习算法所要解决的两个主要问题.分类大家都知道,模型的输出值是离散值,对应着相应的类别,通常的简单分类问题模型输出值是二值的,也就是二分类问题.但是回归就稍微复杂一些,回归模型的输出值是连续的,也就是说,回归模型更像是一个函数,该函数通过不同的输入,得到不同的输出. 那么,什么是线性回归,什么是非线性回归呢? 线性回归与非线性回归 前面说了,我们的回归模型是一个函数是吧,那么线性回归就是模型函数是由若干个基本函数线性加权得到的函数.也就是每一个基本函数前面都有一个权值来调和自己对

时间序列分析算法【R详解】

简介 在商业应用中,时间是最重要的因素,能够提升成功率.然而绝大多数公司很难跟上时间的脚步.但是随着技术的发展,出现了很多有效的方法,能够让我们预测未来.不要担心,本文并不会讨论时间机器,讨论的都是很实用的东西. 本文将要讨论关于预测的方法.有一种预测是跟时间相关的,而这种处理与时间相关数据的方法叫做时间序列模型.这个模型能够在与时间相关的数据中,寻到一些隐藏的信息来辅助决策. 当我们处理时序序列数据的时候,时间序列模型是非常有用的模型.大多数公司都是基于时间序列数据来分析第二年的销售量,网站流

科比投球预测-python实例

曲线拟合多重共线性虚拟变量"导致的多重共线性在机器学习中的影响大吗?老师我在网上下的 kaggle 的数据解压失败了 老师重点讲解一下随机森林和SVM还有adaboost tensorflow 陈杰链接:http://pan.baidu.com/s/1i4PNJlr 密码:fz7e 简述一下多重共线性在机器学习中的影响? 数据来了怎么提特征极坐标 欧式距离:每个特征相减的平方再根号,woc是数学后来在加数据的方法? 数据:训练集(demo).测试集(测试demo是否正确)独热编码:one-hot