出现多重共线性怎么办

Python041

出现多重共线性怎么办,第1张

在多元线性回归模型经典假设中,其重要假定之一是回归模型的解释变量之间不存在线性关系,也就是说,解释变量X1,X2,……,Xk中的任何一个都不能是其他解释变量的线性组合。如果违背这一假定,即线性回归模型中某一个解释变量与其他解释变量间存在线性关系,就称线性回归模型中存在多重共线性。多重共线性违背了解释变量间不相关的古典假设,将给普通最小二乘法带来严重后果。

所谓多重共线性是指线性回归模型的解释变量之间由于存在精确相关关系或者高度相关关系而使模型评估失真或者不准确。这里,我们总结了8个处理多重共线性问题的可用方法,大家在遇到多重共线性问题时可作参考:

1、保留重要解释变量,去掉次要或可替代解释变量

自变量之间存在共线性,说明自变量所提供的信息是重叠的,可以删除不重要的自变量减少重复信息。但从模型中删去自变量时应该注意:从实际经济分析确定为相对不重要并从偏相关系数检验证实为共线性原因的那些变量中删除。如果删除不当,会产生模型设定误差,造成参数估计严重有偏的后果。

2、改变解释变量的形式

改变解释变量的形式是解决多重共线性的一种简易方法,例如对于横截面数据采用相对数变量,对于时间序列数据采用增量型变量。

3、差分法

4、逐步回归分析

逐步回归(Stepwise Regression)是一种常用的消除多重共线性、选取“最优”回归方程的方法。其做法是将逐个引入自变量,引入的条件是该自变量经F检验是显著的,每引入一个自变量后,对已选入的变量进行逐个检验,如果原来引入的变量由于后面变量的引入而变得不再显著,那么就将其剔除。引入一个变量或从回归方程中剔除一个变量,为逐步回归的一步,每一步都要进行F 检验,以确保每次引入新变量之前回归方程中只包含显著的变量。这个过程反复进行,直到既没有不显著的自变量选入回归方程,也没有显著自变量从回归方程中剔除为止。

5、主成份分析

主成分分析作为多元统计分析的一种常用方法在处理多变量问题时具有其一定的优越性,其降维的优势是明显的,主成分回归方法对于一般的多重共线性问题还是适用的,尤其是对共线性较强的变量之间。

6、偏最小二乘回归

7、岭回归

岭回归估计是通过最小二乘法的改进允许回归系数的有偏估计量存在而补救多重共线性的方法,采用它可以通过允许小的误差而换取高于无偏估计量的精度, 因此它接近真实值的可能性较大。灵活运用岭回归法, 可以对分析各变量之间的作用和关系带来独特而有效的帮助。

8、增加样本容量

多重共线性问题的实质是样本信息的不充分而导致模型参数的不能精确估计,因此追加样本信息是解决该问题的一条有效途径。但是,由于资料收集及调查的困难,要追加样本信息在实践中有时并不容易。

这次我们主要研究逐步回归分析方法是如何处理多重共线性问题的。

逐步回归分析方法的基本思想是通过相关系数r、拟合优度R2和标准误差三个方面综合判断一系列回归方程的优劣,从而得到最优回归方程。具体方法分为两步:

第一步,先将被解释变量y对每个解释变量作简单回归:

对每一个回归方程进行统计检验分析(相关系数r、拟合优度R2和标准误差),并结合经济理论分析选出最优回归方程,也称为基本回归方程。

第二步,将其他解释变量逐一引入到基本回归方程中,建立一系列回归方程,根据每个新加的解释变量的标准差和复相关系数来考察其对每个回归系数的影响,一般根据如下标准进行分类判别:

1.如果新引进的解释变量使R2得到提高,而其他参数回归系数在统计上和经济理论上仍然合理,则认为这个新引入的变量对回归模型是有利的,可以作为解释变量予以保留。

2.如果新引进的解释变量对R2改进不明显,对其他回归系数也没有多大影响,则不必保留在回归模型中。

3.如果新引进的解释变量不仅改变了R2,而且对其他回归系数的数值或符号具有明显影响,则认为该解释变量为不利变量,引进后会使回归模型出现多重共线性问题。不利变量未必是多余的,如果它可能对被解释变量是不可缺少的,则不能简单舍弃,而是应研究改善模型的形式,寻找更符合实际的模型,重新进行估计。如果通过检验证明回归模型存在明显线性相关的两个解释变量中的其中一个可以被另一个很好地解释,则可略去其中对被解释变量影响较小的那个变量,模型中保留影响较大的那个变量。

对多重共线性的两点认识:

①在实际中,多重共线性是一个程度问题而不是有无的问题,有意义的区分不在于有和无,而在于多重共线性的程度。②多重共线性是针对固定的解释变量而言,是一种样本的特征,而非总体的特征。

消除多重共线性的方法:

1.增加样本容量

2.利用先验信息改变

3.删除不必要的解释变量:参数的约束形式

4.其它方法:逐步回归法,岭回归(ridge regression),主成分分析(principal components ).

这些方法spss都可以做的,你在数据分析的子菜单下可以找到相应的做法。

删除不必要的方法的时候,最好使用一下逐步回归法,这样比较科学一点。

主成分分析的方法使用比较简单科学,本人介意用该方法。

就是你之前一个无限制模型(Unrestricted Model)的那个对象(object),比如题主这里举例说可以是: lm.test<-lm(y~X1+X2+X3,data=D).这个model就是lm.test这个线性回归对象。