各位老师好~,从今天开始我们要挖一个新坑——《临床数据建模系列》。临床建模在最新的临床组学文章中用得越来越多,熟悉我们产品的老师会发现这也是我们产品报告的特色(点击查看疾病诊断研究蛋白质组学科研服务,疾病预后研究蛋白质组学科研服务)。
在这个系列中,我们将用最通俗易懂的方式介绍适用于临床组学数据的建模方法,典型案例,以及如何评价模型的好坏,如何使用模型进行判断或预测,最后还让大家能够不用代码就可以尝试DIY建模。保证您不仅能看懂报告内容、理解统计方法、最终自己还能复现出图表,收获满满!请大家关注谱度众合,以便于持续接收我们的干货投喂!话不多说,进入今天要填的第一坑——Lasso回归。主要内容包括:
01 Lasso回归简介
02 Lasso回归应用实例
03 Lasso回归结果解读
04 Lasso回归实操
01 Lasso回归简介
建模听起来很玄乎,其实它的本质,是通过已知数据(队列中的患者信息)模拟总结出一个方程用来归纳自变量X(临床因素)与因变量Y(临床结局)之间的关系,从而在遇到新的X取值(个体患者的临床数据)的时候,可以预测Y(个体患者的临床结局)。而临床蛋白质组学数据比较特殊,每一个蛋白质信息都是一个自变量X, 因此自变量的数目非常非常多,甚至远远超过了样本的数量,如果把所有的自变量都纳入模型中,这个模型会非常复杂冗余,还可能出现过拟合现象。我们需要对这些自变量进行筛选和压缩,Lasso回归就适用于这种情况。
Lasso是最小绝对值收敛与选择算子(Least Absolute Shrinkage and Selection Operator)的缩写。Lasso回归在一般线性回归基础上加入一个惩罚项λ(L1正则化,使得目标函数中不重要特征的系数变为0),在保证最佳拟合误差的同时,通过对模型参数进行数量和系数大小的调整,筛选出对目标变量有更大预测能力的特征,从而降低模型复杂度,并减少多重共线性的影响,防止模型过拟合,提高模型泛化能力。(如果这段话没看懂,可以看下一段)
简单来说,lasso回归帮助我们从成千上万的蛋白中,筛选出了对于疾病的诊断或预测最重要的一些蛋白,让模型又简单又好用。并且Lasso回归应用范围很广,很多类型的因变量(即模型中的预测结局Y)都适用,包括数值变量、生存资料、二分类/多分类变量等。所以在我们的临床组学数据处理中,会用Lasso回归进行变量筛选(新英格兰杂志推荐哦)!
02 Lasso回归应用实例
以上的特征使得Lasso回归在许多筛选生物标志物和构建临床预测模型相关研究中大展身手。这里为大家举两个例子。
案例一:比如于2023年发表于杂志《临床肝胆病杂志》的文章《代谢相关脂肪性肝病发生脂肪性肝炎的无创诊断模型构建及分析》中就将一般资料、血清学指标及肝弹性检查报告数据共39个变量纳入LASSO回归分析,进行降维处理后筛选出6个具有非零系数特征的变量用以后续建模。
图1 Lasso回归应用案例一
案例二:我们公司也常常使用这种方法,在这篇谱度众合参与发表在医学2区杂志INTERNATIONAL JOURNAL OF SURGERY(2022 IF:15.3)的Early plasma proteomic biomarkers and prediction model of acute respiratory distress syndrome after cardiopulmonary bypass: a prospective nested cohort study(点击查看详情)文章附图中,应用Lasso回归在35个差异蛋白中进一步筛选出体外循环术后发生呼吸性窘迫综合征的7个蛋白预测因子,用以后续建模和验证。
图2 谱度众合应用Lasso回归案例
03 Lasso回归结果解读
那么,Lasso回归结果应该包括哪些部分,这些图又该如何去理解呢?
一般包括三个部分,分别为Lasso回归中均方误差随Log(λ)变化图(图3)、回归系数随Log(λ)的变化曲线图(图4),以及展示建模特征及其具体参数值的表格或公式。
图3 Lasso回归中均方误差随Log(λ)变化
在Lasso回归过程中,随着λ的变化,模型中的变量系数、变量个数和模型方差都是在不断变化的。图3显示的是模型均方差是如何随着Log(λ)的变化而变化,从而帮助我们选择最佳模型。图3位于上方的横坐标,显示对应模型所需变量数目,从左到右逐渐减少;下方的横坐标,是惩罚系数λ的对数;纵坐标表示均方误差(MSE, mean squared error)指计算模型的预测值与真实值的差异程度,每个MSE都有对应的误差棒errorbar表示MSE的95%置信区间。图中有两条虚线,左边的lambda.min虚线指示最小MSE对应的横坐标,靠右的lambda.1se虚线指距离lambda.min一个标准误的位置,因其包含的变量更少,所以模型更简洁。在实际应用中若lambda.min与lambda.1se的MSE差别不大,可考虑更简洁模型;若差别较大,则根据研究目的选择更准确的lambda.min或更简洁的lambda.1se。从图3可以看出,lambda.min处的候选变量减少到8个。
图4 回归系数随Log(λ)的变化曲线
图4展示了LASSO回归模型减少变量数目和调整系数的过程。横坐标含义与图1一致,纵坐标表示每个变量在模型中的系数。此图反映了各个变量的重要程度,不同颜色的线代表不同的变量,随着惩罚项λ的增加,一些不重要的变量系数很快就变为0,而越重要的变量,惩罚项对变量系数的影响越小,就越能够留到最后。例如此图中lambda.min处有1个变量系数为0,那么剩余8个非零系数的特征变量就是Lasso回归筛选出的变量。
但这两张图还是无法展示Lasso回归具体筛选出了哪些特征及具体系数值,所以还需要公式:因变量 = 常数 + 系数1×自变量1 + 系数2×自变量2+ 系数3×自变量3…+系数n×自变量N,或表格(列名包括:筛选出的自变量名称+系数值)来补充展示。如果lasso回归仅用来进行变量筛选,则具体系数值放在附表或不展示,若需要利用该模型进行预测和计算风险分数,则需要将公式展示在正文结果部分。
04 Lasso回归实操
既然Lasso回归这么牛!那应该如何实现呢?敲代码?难不成要从头学R或Python /(ㄒoㄒ)/~~。现在的云平台这么方便,只要大家拿着我们报告中的结局分组和蛋白质表达矩阵就可以自己轻松实现啦(点赞并关注我们,后台回复【测试数据】即可获得测试数据),具体操作如下:
4.1 当因变量为分类变量时,推荐使用决策链数据科学平台(网址:https://fast.statsape.com/login)。首先在【我的项目】中点击“新建”,命名项目名称,选择分析文件,实例数据格式如下:样本名列+分组列(类型用数字表示)+蛋白N列
从【我的项目】中点击“进入”-选择“数据分析”,此时可以看到如下左侧界面,再按顺序点击“回归分析”-“Lasso回归”-“二项式”,这样我们就选择了结局变量为二分类的Lasso回归的方法啦!接下来依次将Group放入因变量,蛋白变量放入自变量后(注意:这里限定了离散型或连续型的变量类型,不要放错了)点击开始运行。
运行结束后点击下载结果,结果文件解压后如下图展示,其中红框圈出的为主要结果。
该平台功能强大,可以处理二分类和生存资料结局,缺点在于要收费,仅注册当日免费,所以小谱又找了几款免费的云平台,不过只能做生存资料的Lasso回归分析。
4.2 当因变量为生存资料结局,比如Sangerbox平台(网址:http://sangerbox.com/)下生信列表中的Lasso-cox回归分析工具。该工具需要复制粘贴样本生存信息(样本名SampleName+生存时间Time+生存状态Status)以及上传蛋白表达谱文件.txt(样本名和蛋白名),主要步骤如下:
对该运行任务命名,任务结束后,在右侧工作栏中选择任务列表,点击载入结果即可看到运行结果描述和图表。
生存资料的Lasso回归免费分析平台还有微生信(网址:http://www.bioinformatics.com.cn/)。大家赶紧去试试吧~
4.3 注意事项
在用蛋白表达谱进行LASSO回归前,还需要将原始表达矩阵进行前处理,步骤包括:填补缺失值、数据标准化等。还有不是所有蛋白都有必要纳入LASSO回归进行筛选建模的,所以可以先通过寻找差异蛋白(计算Fold change、秩和检验P值)、单因素Logistic/Cox回归等方法进行初筛。
此外,Lasso回归中需要进行交叉验证,将数据随机分为训练集和测试集,所以在R中实现时,需要设置种子数使得重复代码结果仍具有一致性。我们本文推荐平台中决策链数据科学平台是没有设置种子数的,所以重复分析会出现结果不一致的情况。
那么今天的分享就到这里啦,如果觉得内容有用,还请分享+关注呀~(关注我们,后台回复【测试数据】即可获得决策链数据科学平台二分类变量测试数据)下周我们将讨论在模型建好后,该怎样对模型进行评价。敬请期待~
参考文献
[1]陈智恒, 高博文, 桂蓓, 等. 代谢相关脂肪性肝病发生脂肪性肝炎的无创诊断模型构建及分析[J]. 临床肝胆病杂志, 2023, 39(8): 1857-1866.[2]Wang Y, Chen L, Yao C, et.al. Early plasma proteomic biomarkers and prediction model of acute respiratory distress syndrome after cardiopulmonary bypass: a prospective nested cohort study. Int J Surg. 2023 Sep 1;109(9):2561-2573.[3]Shen, et al. 2022. Sangerbox: A comprehensive, interaction-friendly clinical bioinformatics analysis platform. iMeta 1(3): e36.