什么是LASSO回归,怎么看懂LASSO回归的结果

随着机器学习的发展,越来越多SCI文章都使用了更多有趣、高效的统计方法来进行分析,LASSO回归就是其中之一。很多小伙伴听说过LASSO,但是对于LASSO是什么,有什么用,怎么才能实现,大家可能一头雾水。今天的文章就带大家认识“神秘的LASSO”。

1.什么是LASSO?

LASSO,全称Least absolute shrinkage and selection operator,是一种数据挖掘方法,即在常用的多元线性回归中,添加惩罚函数,不断压缩系数,从而达到精简模型的目的,以避免共线性和过拟合。当系数为0时,同时达到筛选变量的效果。(以下是一个不严谨的示意图)

所以,LASSO回归高效解决了筛选变量的难题:区别于传统的逐步回归stepwise前进、后退变量筛选方法,LASSO回归可以利用较少样本量,高效筛选较多变量。比如在基因组学、影像学、以及其他小样本分析中,LASSO回归都可以派上大用场。

2.LASSO在SCI文章中的应用

‍说了这么多,下面我们通过一篇4.6分的SCI文章,了解LASSO回归的实际应用吧。

文章标题:A prognostic nomogram based on LASSO Cox regression in patients with alpha-fetoprotein-negative hepatocellular carcinoma (AFP-NHCC) following non-surgical therapy

图片

翻译成中文:基于LASSO cox回归的非手术治疗后甲胎蛋白阴性肝癌患者的预测列线图。

本研究的目的是应用一种新的方法来建立和验证一种新的预测AFP-NHCC患者预测的模型。下面我们用PICOS原则来拆解文章:

558例AFP阴性的肝癌患者。

I &C 患者基线或治疗相关的指标。

从诊断为肝癌到最后一次随访或死亡的时间。

S 队列研究,生存分析类型文章。

文章的主要结论是:基于LASSO Cox回归的nomogram对于非手术治疗肝癌患者的预后预测更加准确和有用。该模型可以帮助肝癌患者在非手术治疗后进行个性化的预后评估。

接下来看文章相关图表,下面就是LASSO模型会输出的两张图,这两张图展示了LASSO是如何工作的。

图片

图A:23个危险因素的LASSO系数路径图。图B:交叉验证曲线。

3.LASSO回归结果的解读

先看A图:回归系数路径图。该文章中纳入了23个变量,便有23条不同颜色的线。每条线上都有变量编号。即每一条曲线代表了每一个自变量系数的变化轨迹,纵坐标是系数的值,下横坐标是log(λ),上横坐标是此时模型中非零系数的个数。

图片

我们可以看到,随着参数log λ增大,回归系数(即纵坐标值)不断收敛,最终收敛成0。例如,最上面那条代表的自变量12在λ值很大时就有非零的系数,然后随着λ值变大不断变小。

图B是LASSO回归的交叉验证曲线。

图片

X轴是惩罚系数的对数 log λ,Y轴是似然偏差,Y轴越小说明方程的拟合效果越好。最上面的数字则为不同λ时,方程剩下的变量数。图上打了黄色和绿色标签的两条虚线,代表两个特殊的lambda(λ)值。

左边虚线为λ min,意思是偏差最小时的λ ,代表在该lambda取值下,模型拟合效果最高。变量数是16,相比λ-se,保留下来的变量更多。

右边虚线为λ-se,意思是最小λ右侧的1个标准误。在该λ取值下,构建模型的拟合效果也很好,同时纳入方程的个数更少,模型更简单。因此,临床上一般会选择右侧的λ1-se作为最终方程筛选标准。

从上图可以看到,本方程λ-se对应的变量数量是5,所以最终纳入了5个变量进入方程。至于是哪5个,在用软件具体分析的时候会有展示,系数不为0的就是最终纳入的变量:(下图为示意图,不是本文结果)

图片

使用这5个变量,就可以正常纳入回归方程进行数据分析了,比如本文的预测模型nomogram,就是使用筛选出来的5个变量进行的分析。

图片

除此之外,文章作者还使用传统变量筛选法,也做了一个COX分析,同时比较传统模式和LASSO回归挑选出来变量的AUC的区别,证明了在验证模型中,LASSO回归的效果确实要优于传统方法,从侧面也验证了LASSO回归的高效之处。

4.总结

好了,以上就是关于LASSO回归的定义、作用,以及结果解读,希望能够让大家对LASSO还有一个宏观的认识。关于怎么使用R软件快速做出一个LASSO回归,如果大家感兴趣,可以动动小手分享本文,本文阅读量超过3000,我们就再开一期教程,手把手带大家做出LASSO回归!

易侕科研是一个专注于临床研究设计、统计分析、数据库搭建的团队,关注我们,查看更多科研干货文章。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/190081.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS安装三方库遇到的问题

使用开发电脑系统为:MacOS, 开发工具为:DevEco-Studio版本号3.1.1 Release。在控制栏使用终端工具输入命令:ohpm install ohos/lottie遇到的第一个问题如下图。 解决方案: 1、在首选项中找到ohpm的安装路径。 2、打开bash_profil…

我的创作纪念日-----MySql服务

MySql服务 1.什么是数据库 1.1.数据 描述事物的符号记录,可以是数字文字、图形、图像、声音、语言等,数据有多种形式,它们都可以经过数字化后存入计算机。 1.2.数据库 存储数据的仓库,是长期存放在计算机内、有组织、可共享的大…

基于springboot实现实习管理系统的设计与实现项目【项目源码+论文说明】

基于sprinmgboot实现实习管理系统的设计与实现演示 摘要 随着信息化时代的到来,管理系统都趋向于智能化、系统化,实习管理也不例外,但目前国内仍都使用人工管理,市场规模越来越大,同时信息量也越来越庞大,…

Spring的依赖注入,依赖注入的基本原则,依赖注入的优势

文章目录 Spring的依赖注入依赖注入的基本原则依赖注入有什么优势查找定位操作与应用代码完全无关。有哪些不同类型的依赖注入实现方式?构造器依赖注入和 Setter方法注入的区别 Spring的依赖注入 控制反转IoC是一个很大的概念,可以用不同的方式来实现。…

Vue打包错误UnhandledPromiseRejectionWarning: CssSyntaxError

错误详情如下: building for production...Error processing file: static/css/app.3d5caae7aaba719754d7d5c30b864551.css (node:33011) UnhandledPromiseRejectionWarning: CssSyntaxError: /Users/yt/Documents/BM/sims-plus/sims-website/static/css/app.3d5caa…

USB简介系列-02

系列文章目录 USB简介之二 文章目录 系列文章目录USB数据流一、USB总线二、USB收发器三、USB速率识别三、USB总线状态总结USB数据流 本部分讨论USB低速和全速模式下的数据流。 一、USB总线 想象一下USB主机根集器下级联了集线器和设备的设置,如下图示。我们需要记住的是,在…

Redis核心数据结构

目录 五种基础数据结构 string hash list set zset 用zset实现微博热搜 scan遍历 高频问题 五种基础数据结构 string 单个赋值set 批量赋值/取值 msetmget 设置不存在字符串setnx, 如果不存在, 则设置成功返回1, 如果存在返回0, 可以当做分布式锁 删除值 设置过期时…

Redis-缓存设计

缓存穿透 缓存穿透是指查询一个根本不存在的数据, 缓存层和存储层都不会命中, 通常出于容错的考虑, 如果从存储层查不到数据则不写入缓存层。 缓存穿透将导致不存在的数据每次请求都要到存储层去查询, 失去了缓存保护后端存储的…

使用360浏览器插件刷新网页

使用360浏览器插件刷新网页 1.打开360浏览器->扩展程序->更多扩展。 2.扩展中心->搜索”网页自动刷新”,然后安装。 3.在要学习的网页上,扩展程序中使用页面自动刷新插件。 4.如果页面打开慢就把10改大,比如改成15&#xff0…

指定训练使用的GPU个数,没有指定定gpu id,训练在其中两个gpu上执行,但是线程id分布在所有4个gpu上,为什么?如何解决?

目录 问题背景 1 线程id分布在所有gpu(包括未启用的gpu)上原因: 2 在解决这个问题时,可以采取以下步骤: 3 修正深度学习框架默认使用所有可见 GPU 的问题 1 TensorFlow: 2 PyTorch: 3 K…

FreeRTOS深入教程(中断管理)

文章目录 前言一、为什么要为中断设计一套API二、两套函数区别对比三、两类中断四、FreeRTOS中SYSTICK和PendSV中断的作用总结 前言 本篇文章来分析FreeRTOS中的中断,中断在FreeRTOS中也是非常重要的,那么这篇文章将带大家来学习一下FreeRTOS中的中断处…

go对rabbitmq基本操作

一、安装rabbitmq 1、直接使用docker拉取镜像 docker pull rabbitmq:3.82、启动容器 docker run \-e RABBITMQ_DEFAULT_USERadmin \-e RABBITMQ_DEFAULT_PASS123456 \-v mq-plugins:/plugins \--name rabbit01 \--hostname rabbit01 --restartalways \-p 15672:15672 \-p 5672:…

数据结构 / 计算机内存分配

1. Linux 32位系统内存分配 栈(stack): 先进后出, 栈区变量先定义的后分配内存, 栈区地址从高到低分配堆(heap): 先进先出, 栈区变量先定义的先分配内存, 堆区地址从低到高分配堆栈溢出: 表示的是栈区内存耗尽, 称为溢出. 例如: 每次调用递归都需要在栈区申请内存, 如果递归太深…

【LLM_04】自然语言处理基础_2

一、神经网络1、循环神经网络(RNN)2、门控循环单元(GRU)3、长短期记忆网络(LSTM)4、双向RNN5、卷积神经网络(CNN) 二、注意力机制1、注意力机制原理介绍2、注意力机制的各种变式3、注…

车载通信架构 —— 传统车内通信网络FlexRay(较高速度高容错、较灵活拓扑结构)

车载通信架构 —— 传统车内通信网络FlexRay(较高速度高容错、较灵活拓扑结构) 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,…

leetCode 1080.根到叶路径上的不足节点 + 递归 + 图解

给你二叉树的根节点 root 和一个整数 limit ,请你同时删除树中所有 不足节点 ,并返回最终二叉树的根节点。假如通过节点 node 的每种可能的 “根-叶” 路径上值的总和全都小于给定的 limit,则该节点被称之为 不足节点 ,需要被删除…

目录树自动生成器 golang+fyne

go tree 代码实现请看 gitee 仓库链接 有很多生成目录树的工具,比如windows自带的tree命令,nodejs的treer,tree-cli等等。这些工具都很成熟、很好用,有较完善的功能。 但是,这些工具全部是命令式的,如果…

vs2019中出现Debug Error的原因

一般出现这种错误表示你的某个变量没有正确赋值&#xff0c;或者说本身在你的C程序中加了assert断言&#xff0c;assert的作用是先计算表达式expression,如果其值为假&#xff0c;那么它会打印一条错误信息 #include<assert.h> void assert(int expression); 例子&…

01、copilot+pycharm

之——free for student 目录 之——free for student 杂谈 正文 1.for student 2.pycharm 3.使用 杂谈 copilot是github推出的AI程序员&#xff0c;将chatgpt搬到了私人终端且无token限制&#xff0c;下面是使用方法。 GitHub Copilot 是由 GitHub 与 OpenAI 合作开发的…

网络篇---第一篇

系列文章目录 文章目录 系列文章目录前言一、HTTP 响应码有哪些?分别代表什么含义?二、Forward 和 Redirect 的区别?三、Get 和 Post 请求有哪些区别?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男…