实战 lasso特征筛选得到5个基因 cox单因素分析得到很多有意义的基因 如何lasso筛选特征基因 然后再进行cox多因素分析

慈云数据 2024-03-13 技术支持 59 0

二、为什么需要用 Lasso + Cox 生存分析模式一般我们在筛选影响患者预后的变量时,通常先进行单因素Cox分析筛选出关联的变量,然后构建多因素模型进一步确认变量与生存的关联是否独立。

但这种做法没有考虑到变量之间多重共线性的影响,有时候我们甚至会发现单因素和多因素Cox回归得到的风险比是矛盾的,这是变量之间多重共线性导致模型 失真的结果。并且,当变量个数大于样本量时(例如筛选影响预后的基因或突变位点,候选的变量数可能远超样本个数),此时传统的Cox回归的逐步回归、前 进法、后退法等变量筛选方法都不再适用

因此,当变量之间存在多重共线性或者变量个数大于样本量时,需要用Lasso(Least absolute shrinkage and selection operator)回归首先进行变量的筛选,然后构建Cox回归模型分析预后影响,这就是Lasso + Cox 生存分析模式。
三、什么是 Lasso + Cox 生存分析模式Lasso可以在模型参数估计的同时实现变量的选择,能够较好的解决回归分析中的多重共线性问题,并且能够很好的解释结果。Lasso回归算法使用L1范数进行收缩惩罚,对一些对于因变量贡献不大的变量系数进行罚分矫正,将一些不太重要的变量的系数压缩为0,保留重要变量的系数大于0,以减少Cox回归中协变量的个数。

5.7+生信文章复现(五):单因素cox+lasso筛选预后相关DEGs

load("G:/r/duqiang_IPF/GSE70866_metainformation_4_platforms/3_ipf_combined_cox_univariate_Adjuste_for_age_sex.RData")
head(cox_results)
rownames(cox_results)
cox_results2=cox_results %>% as.data.frame() %>% filter(p%select('time','event')
head(y)[1:4,1:2]
head(x)[1:4,1:4]

模型构建 input  x  y

#构建模型
y=data.matrix(Surv(time=y$time,
                   event= y$event))
head(y)
head(x)[1:4,1:5]

1 模型构建

fit 
微信扫一扫加客服

微信扫一扫加客服

点击启动AI问答
Draggable Icon