关于算法:R语言Lasso回归模型变量选择和糖尿病发展预测模型

46次阅读

共计 1231 个字符,预计需要花费 4 分钟才能阅读完成。

原文链接:http://tecdat.cn/?p=22721 

Lease Absolute Shrinkage and Selection Operator(LASSO)在给定的模型上执行正则化和变量抉择。依据惩办项的大小,LASSO 将不太相干的预测因子放大到(可能)零。因而,它使咱们可能思考一个更扼要的模型。在这组练习中,咱们将在 R 中实现 LASSO 回归。

练习 1

加载糖尿病数据集。这有对于糖尿病的病人程度的数据。数据为 n = 442 名糖尿病患者中的每个人取得了 10 个基线变量、年龄、性别、体重指数、均匀血压和 6 个血清测量值,以及感兴趣的反馈,即一年后疾病停顿的定量测量。”
接下来,加载包用来实现 LASSO。

head(data)

练习 2

数据集有三个矩阵 x、x2 和 y。x 是较小的自变量集,而 x2 蕴含残缺的自变量集以及二次和交互项。
查看每个预测因素与因变量的关系。生成独自的散点图,所有预测因子的最佳拟合线在 x 中,y 在纵轴上。用一个循环来主动实现这个过程。

summary(x)

for(i in 1:10){plot(x\[,i\], y)
  abline(lm(y~x\[,i\])
}

 

练习 3

应用 OLS 将 y 与 x 中的预测因子进行回归。咱们将用这个后果作为比拟的基准。

lm(y ~ x)

 

练习 4

绘制 x 的每个变量系数与 β 向量的 L1 准则的门路。该图表明每个系数在哪个阶段缩减为零。

plot(model_lasso)

练习 5

失去穿插验证曲线和最小化均匀穿插验证误差的 lambda 的值。

plot(cv_fit)

练习 6

应用上一个练习中的 lambda 的最小值,失去预计的 β 矩阵。留神,有些系数曾经缩减为零。这表明哪些预测因子在解释 y 的变动方面是重要的。

> fit$beta

练习 7

为了失去一个更扼要的模型,咱们能够应用一个更高的 λ 值,即在最小值的一个标准误差之内。用这个 lambda 值来失去 β 系数。留神,当初有更多的系数被缩减为零。

lambda.1se

 

beta

练习 8

如前所述,x2 蕴含更多的预测因子。应用 OLS,将 y 回归到 x2,并评估后果。

summary(ols2)

 

练习 9

对新模型反复练习 -4。

lasso(x2, y)
plot(model_lasso1)

 

练习 10

对新模型反复练习 5 和 6,看看哪些系数被缩减为零。当有很多候选变量时,这是放大重要预测变量的无效办法。

plot(cv_fit1)

beta

 


最受欢迎的见解

1.R 语言多元 Logistic 逻辑回归 利用案例

2. 面板平滑转移回归 (PSTR) 剖析案例实现

3.matlab 中的偏最小二乘回归(PLSR)和主成分回归(PCR)

4.R 语言泊松 Poisson 回归模型剖析案例

5.R 语言回归中的 Hosmer-Lemeshow 拟合优度测验

6.r 语言中对 LASSO 回归,Ridge 岭回归和 Elastic Net 模型实现

7. 在 R 语言中实现 Logistic 逻辑回归

8.python 用线性回归预测股票价格

9.R 语言如何在生存剖析与 Cox 回归中计算 IDI,NRI 指标`

正文完
 0