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)

lasso和cox结果矛盾

R语言如何进行线性判别分析?

R语言线性判别分析(LDA),二次判别分析(QDA)和正则判别分析(RDA)

R语言机器学习 | 4 线性判别分析 (LDA)

多重共线性检验方法?