群组变量选择、组惩罚group lasso套索模型预测新生儿出生体重风险因素数据和交叉验证、可视化|附代码数据

发布时间 2023-06-15 00:22:15作者: 拓端tecdat

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

最近我们被客户要求撰写关于lasso的研究报告,包括一些图形和统计输出。

本文介绍具有分组惩罚的线性回归、GLM和Cox回归模型的正则化路径。这包括组选择方法,如组lasso套索、组MCP和组SCAD,以及双级选择方法,如组指数lasso、组MCP

还提供了进行交叉验证以及拟合后可视化、总结和预测的实用程序。

本文提供了一些数据集的例子;涉及识别与低出生体重有关的风险因素 ( 查看文末了解数据获取方式 ) 。结果是连续测量(bwt,以公斤为单位的出生体重),也可以是二分法(低),即新生儿出生体重低(低于2.5公斤)。

 
head(X)

图片

相关视频

**

拓端

,赞9

原始设计矩阵由 8 个变量组成,此处已将其扩展为 16 个特征。例如,有多个种族指标函数(“其他”是参考组),并且已经使用多项式对比扩展了几个连续因素(例如年龄)(样条曲线会给出类似的结构)。因此,设计矩阵的列被 分组;这就是_组_的设计目的。分组信息编码如下:

 
group

图片

在这里,组是作为一个因子给出的;唯一的整数代码(本质上是无标签的因子)和字符向量也是允许的(然而,字符向量确实有一些限制,因为组的顺序没有被指定)。要对这个数据拟合一个组套索lasso模型。

 
gLas(X, y,grup)

然后我们可以用以下方法绘制系数路径

 
plot

图片


点击标题查阅往期内容

图片

R语言实现贝叶斯分位数回归、lasso和自适应lasso贝叶斯分位数回归分析

图片

左右滑动查看更多

图片

01

图片

02

图片

03

图片

04

图片

请注意,当一个组进入模型时(例如,绿色组),它的所有系数都变成非零;这就是组套索模型的情况。要想知道这些系数是什么,我们可以使用coef。

请注意,在λ=0.05时,医生的就诊次数不包括在模型中。

为了推断模型在各种 λ值下的预测准确性,进行交叉验证。

 
cv(X, y, grp)

图片可以通过coef以下方式获得与最小化交叉验证误差的 λ 值对应的系数 :

 
coef(cvfit)

图片

预测值可以通过 获得 predict,它有许多选项:

 
predict # 对新观察结果的预测

图片

 
predicttype="ngroups" # 非零组的数量

图片

 
 # 非零组的身份

图片

 
nvars # 非零系数的数量

图片

 
predict(fit # 非零系数的身份

图片

原始拟合(对完整数据集)返回为fit; 其他几种惩罚是可用的,逻辑回归和 Cox 比例风险回归的方法也是如此。

图片


图片

本文摘选 《 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自回归移动平均模型预测时间序列
Python用ARIMA和SARIMA模型预测销量时间序列数据