R语言多重共线性判别
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)
得到各个系数的方差膨胀因子,当0<=VIF<100,存在较强的多重共线性,当VIF>=100,多重共线性非常严重。这个方法比较常用!
以上是关于R语言多重共线性判别的主要内容,如果未能解决你的问题,请参考以下文章
R语言使用car包的vif函数计算方差膨胀因子,并基于方差膨胀因子开方后和阈值的判断来确认模型特征(预测变量)之间是否存在多重共线性(Multicollinearity)