R语言(三)——多重共线性情况(岭回归、[适应性]lasso回归、偏最小二乘回归)

本文深入探讨了多元回归分析中的关键概念和技术,包括共线性检查、岭回归、lasso回归、适应性lasso回归和偏最小二乘回归。通过实例分析,展示了如何使用R语言进行数据预处理、模型构建与评估。

目录

一、数据

二、共线性检查

三、岭回归

四、lasso回归

五、适应性lasso回归

六、偏最小二乘回归


一、数据

糖尿病数据(diabetes.csv)包含在R程序包的lars中,是关于糖尿病的血液等化验指标。除了因变量y之外,还有两个自变量矩阵,前者经过标准化,后者包括前者及一些交互作用。

可以使用以下代码将数据保存为csv文件方便调用

#install.packages("lars")
library(lars)
data(diabetes)  #加载数据
write.csv(diabetes,"diabetes.csv",row.names = FALSE)

二、共线性检查

在多元回归中,当两个或更多的自变量有些相关的时候,就可能出现多重共线性的情况。这种情况严重的时候,模型或数据的微小变化有可能造成系数估计的较大变化,使结果模型不稳定,也不易解释。

有一些关于多重共线性的度量,其中之一使容忍度(tolerance)或方差膨胀因子(VIF)【两者等价】

容忍度太小(按照一些文献,小于0.2或0.1)或VIF太大(如5或10),则有多重共线性的问题

还有一个是条件数,常用表示,大于15时有共线性问题,大于30时说明共线性严重

VIF可以通过程序包car的函数vif()得到,条件数可用R固有的函数kappa()得到

w=read.csv("diabetes.csv")
#w[,1:10]为x,w[,11]为y,w[,12:75]为x2
kappa(w[,12:75])
library(carData)
library(car)
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值