楼主: 耕耘使者
55117 21

[问答] 如何用R进行多重共线性检验与处理? [推广有奖]

贵宾

已卖:5006份资源

学术权威

39%

还不是VIP/贵宾

-

威望
4
论坛币
1811021 个
通用积分
171.7911
学术水平
109 点
热心指数
173 点
信用等级
87 点
经验
93428 点
帖子
4549
精华
0
在线时间
2848 小时
注册时间
2006-4-6
最后登录
2025-7-12

楼主
耕耘使者 发表于 2012-3-5 22:30:26 |AI写论文
100论坛币

最佳答案

关键词:多重共线性检验 多重共线性 多重共线 如何用 共线性 检验 如何

回帖推荐

jmq19950824 发表于21楼  查看完整内容

楼上的已经说了多重共线性的检验方法,这里提供一个解决方法:LASSO正则化。可以参考lars包,网上的案例也有很多。

沙发
hongli32 发表于 2012-3-5 22:30:27
y <- data.frame(), x<- cor(y),  kappa(x, exact=T) 一般认为如果k大于1000就存在严重共线性,如果小与100就认为共线不大,在这之间就自己去判断是多强了。可以用对变量作主成分分析的方法来避免共线性的影响。

藤椅
吉林小王子 在职认证  发表于 2012-3-6 07:50:51
可以计算X矩阵的秩qr(X)$rank,如果不是满秩的,说明其中有Xi可以用其他的X的线性组合表示;也可以计算条件数kappa(X),如楼上所说,k<100,说明共线性程度小,如果100<k<1000,有较强的多重共线性,k>1000,存在严重的多重共线性。可以进行逐步回归,用step()命令,比如你一开始的模型是fm=lm(),step(fm)就可以了
已有 6 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
vincentwells + 1 + 1 分析的有道理
dapeng100 + 1 + 1 + 1 精彩帖子
958163533 + 1 精彩帖子
李会超 + 36 + 36 热心帮助其他会员
跃奇 + 1 + 1 + 1 热心帮助其他会员
耕耘使者 + 1 + 1 + 1 热心帮助其他会员

总评分: 经验 + 36  论坛币 + 37  学术水平 + 4  热心指数 + 4  信用等级 + 3   查看全部评分

板凳
linxiaozhijia 发表于 2012-5-16 22:47:50
来学习一下
有之以为利,无之以为用。

报纸
dinghui0222 发表于 2012-5-28 08:38:22
学习一下

地板
liyang21 发表于 2014-7-13 23:43:14
youyong

7
麦扣大人 发表于 2014-11-7 14:25:33
受教了

8
code_donkey 发表于 2015-7-11 21:57:09
可以使用方差膨胀因子(VIF)
  1. library(car)
  2. vif(lm.sol)
复制代码

得到各个系数的方差膨胀因子,当0<VIF<10的时候,不存在多重共线性,当10<=VIF<100,存在较强的多重共线性,当VIF>=100,多重共线性非常严重。
已有 6 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
Sunny602678 + 1 + 1 + 1 + 1 精彩帖子
guo.bailing + 100 精彩帖子
dapeng100 + 1 + 1 + 1 精彩帖子
司马扶风 + 1 + 1 好的意见建议
958163533 + 1 精彩帖子
耕耘使者 + 2 + 2 观点有启发

总评分: 经验 + 100  论坛币 + 2  学术水平 + 5  热心指数 + 5  信用等级 + 2   查看全部评分

9
应小左 发表于 2015-11-5 21:40:30
学习学习学习

10
ZewailCheung 发表于 2015-11-17 10:50:50
学习学习学习

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群
GMT+8, 2025-12-9 09:25