R语言 数据集处理与搭建回归模型

R语言 数据集回归模型

1. 读取csv文件

data <- read.csv("D:\\路径")

2. 相关性分析 与 共线性判断

可以用R语言的cor函数来计算两个变量之间的相关性
值得注意的是用R中cor函数来计算相关性也是有局限的,即不能计算非线性模型

d_cor = cor(data)
kappa(d_cor)

kappa()为计算卡帕系数的函数:

  • 当卡帕系数<100 , 说明共线性程度小;
  • 当100<卡帕系数<1000 , 有较强的多重共线性;
  • 当卡帕系数>1000,存在严重的多重共线性。

此外,利用car包中的 vif() 函数可以查看各自变量间的共线情况

library(car)
lm.test = lm(y~.,data)
vif(lm.test)

可以可视化两个变量间的相关性

plot(x.tc ~ x.ldl, col = "red", data)

3. 常见回归模型

① 线性回归

mod <- lm(y ~ ., data )

② 岭回归

  • R语言中可以利用MASS包中的函数lm.ridge()来实现岭回归,而其中的lambda值需要自行定义,可以通过计算得到使得广义交叉验证GCV最小的lambda值。

而为了简便起见,这里利用ridge包中的linearRidge()函数进行自动选择岭回归参数。

library(ridge)
mod <- linearRidge(y ~ ., data )

③ Lasso回归

R语言中有多个包可以实现Lasso回归
可以使用lars包实现

library(lars)
mod <- lars(x,y,type = "lasso")

还可以使用glmnet包实现

library(glmnet)
fit <- glmnet(x, y, family="gaussian", nlambda=50, alpha=1)

④ 随机森林回归

在R语言中,randomForest包提供了随机森林的实现

library(randomForest)
fit <- randomForest(y~.,data = data,importance=TRUE, ntree=1000)

⑤ 回归树

library(rpart)
fit=rpart(y~.,data[train,])

留坑待补充…

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值