原文链接: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 指标`