R语言Lasso回归模型变量选择和糖尿病发展预测模型|附代码数据

2022-11-09 18:38:41 浏览数 (1)

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

Lease Absolute Shrinkage and Selection Operator(LASSO)在给定的模型上执行正则化和变量选择

根据惩罚项的大小,LASSO将不太相关的预测因子缩小到(可能)零。因此,它使我们能够考虑一个更简明的模型。在这组练习中,我们将在R中实现LASSO回归。

练习1

加载糖尿病数据集。这有关于糖尿病的病人水平的数据。数据为n = 442名糖尿病患者中的每个人获得了10个基线变量、年龄、性别、体重指数、平均血压和6个血清测量值,以及感兴趣的反应,即一年后疾病进展的定量测量。"

接下来,加载包用来实现LASSO。

代码语言:javascript复制
head(data)

向下滑动查看结果▼

练习2

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

代码语言:javascript复制
summary(x)
代码语言:javascript复制
for(i in 1:10){
  plot(x[,i], y)
  abline(lm(y~x[,i])
}

向下滑动查看结果▼


点击标题查阅往期内容

基于R语言实现LASSO回归分析

左右滑动查看更多

01

02

03

04

练习3

使用OLS将y与x中的预测因子进行回归。我们将用这个结果作为比较的基准。

代码语言:javascript复制
lm(y ~ x)

向下滑动查看结果▼

练习4

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

代码语言:javascript复制
plot(model_lasso)

向下滑动查看结果▼

练习5

得到交叉验证曲线和最小化平均交叉验证误差的lambda的值。

代码语言:javascript复制
plot(cv_fit)

向下滑动查看结果▼

练习6

使用上一个练习中的lambda的最小值,得到估计的β矩阵。注意,有些系数已经缩减为零。这表明哪些预测因子在解释y的变化方面是重要的。

代码语言:javascript复制
> fit$beta

向下滑动查看结果▼

练习7

为了得到一个更简明的模型,我们可以使用一个更高的λ值,即在最小值的一个标准误差之内。用这个lambda值来得到β系数。注意,现在有更多的系数被缩减为零。

代码语言:javascript复制
lambda.1se
代码语言:javascript复制
beta

向下滑动查看结果▼

练习8

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

代码语言:javascript复制
summary(ols2)

向下滑动查看结果▼

练习9

对新模型重复练习-4。

代码语言:javascript复制
lasso(x2, y)plot(model_lasso1)

向下滑动查看结果▼

练习10

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

代码语言:javascript复制
plot(cv_fit1)
代码语言:javascript复制
beta

向下滑动查看结果▼


本文摘选 R语言Lasso回归模型变量选择和糖尿病发展预测模型 ,点击“阅读原文”获取全文完整资料。

点击标题查阅往期内容

【视频】Lasso回归、岭回归正则化回归数学原理及R软件实例 群组变量选择、组惩罚group lasso套索模型预测新生儿出生体重风险因素数据和交叉验证、可视化 【视频】Lasso回归、岭回归等正则化回归数学原理及R语言实例R语言Lasso回归模型变量选择和糖尿病发展预测模型 用LASSO,adaptive LASSO预测通货膨胀时间序列MATLAB用Lasso回归拟合高维数据和交叉验证 群组变量选择、组惩罚group lasso套索模型预测新生儿出生体重风险因素数据和交叉验证、可视化 高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据 Python高维变量选择:SCAD平滑剪切绝对偏差惩罚、Lasso惩罚函数比较 R使用LASSO回归预测股票收益 广义线性模型glm泊松回归的lasso、弹性网络分类预测学生考试成绩数据和交叉验证 贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析免疫球蛋白、前列腺癌数据 R语言RSTAN MCMC:NUTS采样算法用LASSO 构建贝叶斯线性回归模型分析职业声望数据 r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现 R语言高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据(含练习题) 广义线性模型glm泊松回归的lasso、弹性网络分类预测学生考试成绩数据和交叉验证 贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析免疫球蛋白、前列腺癌数据 R语言RSTAN MCMC:NUTS采样算法用LASSO 构建贝叶斯线性回归模型分析职业声望数据 r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现 R语言高维数据惩罚回归方法:主成分回归PCR、岭回归、lasso、弹性网络elastic net分析基因数据(含练习题) Python中LARS和Lasso回归之最小角算法Lars分析波士顿住房数据实例 R语言自适应LASSO 多项式回归、二元逻辑回归和岭回归应用分析 R语言惩罚logistic逻辑回归(LASSO,岭回归)高维变量选择的分类模型案例 Python中的Lasso回归之最小角算法LARS r语言中对LASSO回归,Ridge岭回归和弹性网络Elastic Net模型实现 R语言实现LASSO回归——自己编写LASSO回归算法 r语言中对LASSO回归,Ridge岭回归和Elastic Net模型实现 R使用LASSO回归预测股票收益 R语言如何和何时使用glmnet岭回归 R语言中的岭回归、套索回归、主成分回归:线性模型选择和正则化 Python中的ARIMA模型、SARIMA模型和SARIMAX模型对时间序列预测 R语言arima,向量自回归(VAR),周期自回归(PAR)模型分析温度时间序列 【视频】Python和R语言使用指数加权平均(EWMA),ARIMA自回归移动平均模型预测时间序列

0 人点赞