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

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

时间:2023-12-19 19:55:59浏览次数:32  
标签:语言 group 套索 模型 群组 拟合 回归 lasso

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

原文出处:拓端数据部落公众号

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

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

   

head(X)


​

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

   
group

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

   
gLas(X, y,grup)
 

​

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

   
​

plot

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

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

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

   
​

cv(X, y, grp)

 

​

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

   
​

coef(cvfit)

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

   
predict # 对新观察结果的预测

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

   
 # 非零组的身份

   
nvars # 非零系数的数量

   
predict(fit # 非零系数的身份

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


最受欢迎的见解

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指标

标签:语言,group,套索,模型,群组,拟合,回归,lasso
From: https://www.cnblogs.com/tecdat/p/17914563.html

相关文章

  • C9800-VLAN Group
    在AireOS的环境下,如果我们想让一个WLAN对应多个VLAN,通常来说,大家的选择可能是通过interfaceGroup的方式来实现WLAN和多个VLAN的对应。而在C9800的环境下,不再是接口和WLAN绑定的概念,在C9800上,是在PolicyProfile中配置需要的VLAN。 但是,在使用VLANGroup,需要注意相关的限制,尤其......
  • netty源码:(1)NioEventLoopGroup
    EventLoopGroupbossGroup=newNioEventLoopGroup();不加参数创建NioEventLoopGroup的话,会使用cpu核数*2作为bossGroup的线程数。......
  • R语言 Lasso系数置信区间计算
    真是神了奇了,还能被审稿人问到Lasso系数的置信区间的信息,还好有现成的工具可以计算 #loadlibrarylibrary(selectiveInference)library(xlsx)library(glmnet)#loaddatasetwd("E:\\UAI_Program\\2-ZhongshanHospital\\12-xiaoyuyao系数置信区间")Data<-read.xlsx("R.xls......
  • QSLite Distinct&Qrderby&Groupby
     distinct关键词专用于消除重复记录SELECTDISTINCTCOLUMN1,COLUMN2,....COLUMNNFROMTABLE_NAMEWHERE[CONDITION];--通过distinct关键字消除重复姓名select*fromstaff;selectDISTINCTSNAMEFROMSTAFF;   orderby子句专用于对一个活多个字段按升序或......
  • 解决mysql的语句中group_concat长度限制问题
    在mysql中,有个函数叫“group_concat”,平常使用可能发现不了问题,在处理大数据的时候,会发现内容被截取了。其实MYSQL内部对这个是有设置的,默认不设置的长度是1024。查看默认配置showvariableslike"group_concat_max_len";模板返回是Variable_nameValuegroup_co......
  • Android MaterialButtonToggleGroup使用
    原文地址:AndroidMaterialButtonToggleGroup使用-Stars-One的杂货小窝觉得单选框不好看,发现了一个Material里的单选按钮组,感觉UI还不错,记下使用使用效果:使用前,得看看是否有material的依赖,如implementation'com.google.android.material:material:1.4.0'PS:......
  • [CF980D] Perfect Groups 题解
    [CF980D]PerfectGroups题解思路第一个观察就很难观察到:\[ab=x^2,bc=y^2\Longrightarrow\existz,ac=z^2(a,b,c\ne0)\]证明:两个条件式相乘得到:\[ab^2c=x^2y^2\\ac=\dfrac{x^2y^2}{b^2}(b\ne0)\\\becauseb|x^2,b|y^2\\\thereforeb^2|x^2y^2......
  • 网络分类器 cgroup 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/admin-guide/cgroup-v1/net_cls.html网络分类器cgroup网络分类器cgroup提供了一个接口,用于给网络数据包打上一个类别标识符(classid)。流量控制器(tc)可以用来为来自不同cgroup的数据包分配不同的优先级。此外,Netfilter(iptables)也可以......
  • 网络优先级cgroup 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/admin-guide/cgroup-v1/net_prio.html网络优先级cgroup网络优先级cgroup提供了一个接口,允许管理员动态设置由各种应用程序生成的网络流量的优先级。通常情况下,应用程序会通过SO_PRIORITY套接字选项设置其流量的优先级。然而,这并不总是......
  • Cgroup Freezer 【ChatGPT】
    https://www.kernel.org/doc/html/v6.6/admin-guide/cgroup-v1/freezer-subsystem.htmlCgroupFreezercgroup冷冻器对于批处理作业管理系统非常有用,该系统可以启动和停止一组任务,以便根据系统管理员的需求安排机器的资源。这种程序通常用于HPC集群,以安排对整个集群的访问。cgr......