R语言群组变量选择、组惩罚group lasso套索模型预测分析新生儿出生体重风险因素数据和交叉验证、可视化
  MFqKcJmbshKy 2023年11月30日 14 0

 本文拟合具有分组惩罚的线性回归、GLM和Cox回归模型的正则化路径。这包括组选择方法,如组lasso套索、组MCP和组SCAD,以及双级选择方法,如组指数lasso、组MCP。还提供了进行交叉验证以及拟合后可视化、总结和预测的实用程序。

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

 

 

head(X)

R语言群组变量选择、组惩罚group lasso套索模型预测分析新生儿出生体重风险因素数据和交叉验证、可视化_交叉验证

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

 

 

group

R语言群组变量选择、组惩罚group lasso套索模型预测分析新生儿出生体重风险因素数据和交叉验证、可视化_交叉验证_02

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

 

 

gLas(X, y,grup)

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

 

 

plot

R语言群组变量选择、组惩罚group lasso套索模型预测分析新生儿出生体重风险因素数据和交叉验证、可视化_交叉验证_03

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

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

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

 

 

cv(X, y, grp)

R语言群组变量选择、组惩罚group lasso套索模型预测分析新生儿出生体重风险因素数据和交叉验证、可视化_拟合_04

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

 

 

coef(cvfit)

R语言群组变量选择、组惩罚group lasso套索模型预测分析新生儿出生体重风险因素数据和交叉验证、可视化_交叉验证_05

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

 

 

predict # 对新观察结果的预测

R语言群组变量选择、组惩罚group lasso套索模型预测分析新生儿出生体重风险因素数据和交叉验证、可视化_交叉验证_06

 

 

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

R语言群组变量选择、组惩罚group lasso套索模型预测分析新生儿出生体重风险因素数据和交叉验证、可视化_数据_07

 

 

# 非零组的身份

R语言群组变量选择、组惩罚group lasso套索模型预测分析新生儿出生体重风险因素数据和交叉验证、可视化_拟合_08

 

 

nvars # 非零系数的数量

R语言群组变量选择、组惩罚group lasso套索模型预测分析新生儿出生体重风险因素数据和交叉验证、可视化_数据_09

 

 

predict(fit # 非零系数的身份

R语言群组变量选择、组惩罚group lasso套索模型预测分析新生儿出生体重风险因素数据和交叉验证、可视化_数据_10

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


R语言群组变量选择、组惩罚group lasso套索模型预测分析新生儿出生体重风险因素数据和交叉验证、可视化_拟合_11

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月30日 0

暂无评论

MFqKcJmbshKy