打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
用R进行Lasso regression回归分析

glmnet是由斯坦福大学的统计学家们开发的一款R包,用于在传统的广义线性回归模型的基础上添加正则项,以有效解决过拟合的问题,支持线性回归,逻辑回归,泊松回归,cox回归等多种回归模型,链接如下

https://cran.r-project.org/web/packages/glmnet/index.html

对于正则化,提供了以下3种正则化的方式

  1. ridge regression,岭回归

  2. lasso regression,套索回归

  3. elastic-net regression,弹性网络回归

这3者的区别就在于正则化的不同,套索回归使用回归系数的绝对值之和作为正则项,即L1范式;岭回归采用的是回归系数的平方和,即L2范式;弹性网络回归同时采用了以上两种策略,其正则项示意如下

可以看到,加号左边对应的是lasso回归的正则项,加号右边对应的是ridge回归的正则项。在glmnet中,引入一个新的变量α, 来表示以上公式

可以看到,随着α取值的变化,正则项的公式也随之变化

  1. alpha = 1,  lasso regression

  2. alpha = 0,  ridge regression

  3. alpha 位于0到1之间, elastic net regression

利用alpha的取值来确定回归分析的类型,然后就只需要关注lambda值就可以了。除此之外,还有一个关键的参数family, 用来表示回归模型的类型,其实就是因变量y的数据分布,有以下几种取值

  1. gaussian, 说明因变量为连续型变量,服从高斯分布,即正态分布,对于的模型为线性回归模型

  2. binomial, 说明因变量为二分类变量,服从二项分布,对应的模型为逻辑回归模型

  3. poisson, 说明因变量为非负正整数,离散型变量,服从泊松分布,对应的模型为泊松回归模型

  4. cox, 说明因变量为生存分析中的因变量,同时拥有时间和状态两种属性,对应的模型为cox回归模型

  5. mbinomial, 说明因变量为多分类的离散型变量,对应的模型为逻辑回归模型

  6. mgaussian, 说明因变量为服从高斯分布的连续型变量,但是有多个因变量,输入的因变量为一个矩阵,对应的模型为线性回归模型

理解这两个参数之后,就可以使用这个R包来进行分析了。以线性回归模型的的lasso分析为例,代码如下

上述代码以swiss这个数据集为例,构建了一个多元线性回归模型,而且抽取了50%的数据作为训练集,剩下的50%作为测试集,准备好数据集之后,就可以进行分析了

glmnet支持岭回归,套索回归,弹性网络回归3种正则化的回归分析,功能十分强大,更多细节请参考官方文档。

·end·

—如果喜欢,快分享给你的朋友们吧—

往期精彩

  GWAS meta分析
  基因型填充
  CNV分析
  TCGA
  生存分析
  肿瘤数据库
  肿瘤免疫和新抗原
  Hi-C数据分析
  chip_seq数据分析
  motif
  chip_seq数据库
  18年文章目录
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Lasso算法理论介绍
热门数据挖掘模型应用入门: LASSO回归 | 人人都是数据咖
【视频】Lasso回归、岭回归等正则化回归数学原理及R语言实例
Lasso思想及算法 - 人过留名的日志 - 网易博客
回归分析的七种武器
只知道线性回归和逻辑回归?OUT!7种回归技术简介及选择方式
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服