LASSO与Cox回归的关系

已有 18633 次阅读2019-3-27 18:43 |个人分类:临床预测模型学习

Lasso是一种筛选变量的方法,这种方法来源于自变量个数远大于样本量个数的数据,例如基因位点数据,每个人测序后位点可能上万上亿个,但是测序的人数可能几百例,所以传统Cox回归的前进法、后退法、Stepwies法,Wald等均不在适用。
一般是先用LASSO筛选出变量,之后用筛选出的变量建立COX回归
Huang Y, et al. Radiomics Signature: A Potential Biomarker for the Prediction of Disease-Free Survival in Early-Stage (I or II) Non-Small Cell Lung Cancer. Radiology. 2016 Dec;281(3):947-957. PMID: 27347764.
To address this issue,the least absolute shrinkage and selection operator (LASSO) Cox regression model, which is suitable for the regression of high-dimensional data (25,26), was used to select the most useful prognostic features in the training data set.

Lasso不是一种回归方法。
如果样本量太小,可以考虑Bootstrap重抽样技术。
一般的程序是在R包glmnet里可以直接用Lasso方法筛选变量,并建立Cox回归模型。

Lasso,即Least Absolute Shrinkage and Selection Operator(LASSO),又称线性回归的L1正则,该方法是一种压缩估计。它通过构造一个罚函数得到一个较为精炼的模型,使得它压缩一些系数,同时设定一些系数为零。因此保留了子集收缩的优点,是一种处理具有复共线性数据的有偏估计。Lasso 在学习过程中可以直接将部分 feature 系数赋值为 0 的特点使其在调参时非常方便。
该方法由统计学习领域的执牛耳者Robert Tibshirani于1996年开创。Lasso的思想其实很简单,就是在传统的最小二乘估计上对模型的系数施加一个惩罚。
lasso的R实现
lasso的实现可以采用glmnet包。glmnet包作者是Friedman, Hastie, and Tibshirani这三位统计学习领域的大牛,可信度无可置疑。
这个包采用的算法是循环坐标下降法(cyclical coordinate descent),能够处理的模型包括 linear regression,logistic and multinomial regression models, poisson regression 和 the Cox model,用到的正则化方法就是l1范数(lasso)、l2范数(岭回归)和它们的混合 (elastic net)。

在 Python 中,Lasso 是 sklearn 包下的一个典型 Model。sklearn 中主要包含 Lasso 及 Ridge 模型。二者具体区别可参见此处。林轩田机器学习基石 14-4 General Regularizers(13-28)有具体讲解。 
其中,主要关注参数为 alpha,其作用与 sklearn 包下的另一模型 Ridge 类似,是一个衡量模型灵活度的正则参数。正则度越高,越不可能 overfit。但是它也会导致模型灵活度的降低,可能无法捕捉数据中的所有信号。通过 Lasso 自带的 CV(Cross Validation)设置,可以直接通过机器挑选最好的 alpha。

lasso的优缺点分析
相比较于其他变量选择方法,如:best subset,Partial Least Squares(偏最小二乘),Principal components regression(主成分回归),the lasso和ridge regression对参数的调整是连续的,并不是一刀切的。
Lasso相比于ridge regression的优势在于压缩变量表现更出色。
但是,正如前面所说,lasso还是会有一些潜在的问题,有时候,elastic net等其他的一些lasso的变形会是更好的选择。

路过

鸡蛋

鲜花

握手

雷人

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

返回顶部