小编给大家分享一下R语言如何实现检验多重共线性的操作,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
函数kappa()
df<-data.frame()df_cor=cor(df)kappa(df_cor, exact=T)
当 κ<100κ<100 , 说明共线性程度小;
当 100<κ<1000100<κ<1000 , 有较强的多重共线性;
当 κ>1000κ>1000,存在严重的多重共线性。
函数qr()
x<-matrix()qr(x)$rank
qr(X)$rank 计算X矩阵的秩,如果不是满秩的,说明其中有xixi可以用其他xjxj的线性组合表示;此时可以进行逐步回归,用step()命令。
fm<-lm()step(fm)
补充:多重共线性的产生原因、判别、检验、解决方法
最近做回归分析,出现了相关系数与回归方程系数符号相反的问题,经过研究,确认是多重共线性问题并探索了解决方法。
在此将多重共线性的相关知识整理如下。
解释变量理论上的高度相关与观测值高度相关没有必然关系,有可能两个解释变量理论上高度相关,但观测值未必高度相关,反之亦然。所以多重共线性本质上是数据问题。
造成多重共线性的原因有一下几种:
解释变量都享有共同的时间趋势;
一个解释变量是另一个的滞后,二者往往遵循一个趋势;
由于数据收集的基础不够宽,某些解释变量可能会一起变动;
某些解释变量间存在某种近似的线性关系;
判别:
发现系数估计值的符号不对;
某些重要的解释变量t值低,而R方不低
当一不太重要的解释变量被删除后,回归结果显著变化;
检验:
相关性分析,相关系数高于0.8,表明存在多重共线性;但相关系数低,并不能表示不存在多重共线性;
vif检验;
条件系数检验;
解决方法:
增加数据;
对模型施加某些约束条件;
删除一个或几个共线变量;
将模型适当变形;
主成分回归
处理多重共线性的原则:
多重共线性是普遍存在的,轻微的多重共线性问题可不采取措施;
严重的多重共线性问题,一般可根据经验或通过分析回归结果发现。如影响系数符号,重要的解释变量t值很低。要根据不同情况采取必要措施。
如果模型仅用于预测,则只要拟合程度好,可不处理多重共线性问题,存在多重共线性的模型用于预测时,往往不影响预测结果;
看完了这篇文章,相信你对“R语言如何实现检验多重共线性的操作”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网行业资讯频道,感谢各位的阅读!