为什么我在惩罚包的情况下得到了很大的最佳收缩参数 lambda 值?

问题描述 投票:0回答:1

我正在研究使用LASSO(最小绝对收缩和选择算子)和Cox模型的生存分析。我使用 R 包 penalized 和 optL1 函数来找到最佳收缩参数 lambda。 我的问题是:为什么最优收缩参数 lambda 这么大?

library(penalized)
optsurve <- optL1(Surv(time_to_death, status),penalized =data_liver_pmm[,1:38], fold = 3)
opt$lambda

lambda= 5313.442    cvl= -2269.811 
lambda= 8597.33     cvl= -2273.799 
lambda= 3283.888    cvl= -2266.93 
lambda= 2029.554    cvl= -2265.553 
lambda= 1254.334    cvl= -2262.509 
lambda= 775.2208    cvl= -2244.824 
lambda= 479.1128    cvl= -2222.419 
lambda= 296.108     cvl= -2504.873 
lambda= 592.216     cvl= -2232.645 
lambda= 409.2112    cvl= -2243.957 
lambda= 514.9051    cvl= -2223.641 
lambda= 473.5484    cvl= -2222.652 
lambda= 487.732     cvl= -2222.333 
lambda= 485.6333    cvl= -2222.326 
lambda= 485.859     cvl= -2222.326 
lambda= 485.8129    cvl= -2222.326 
lambda= 486.5745    cvl= -2222.327 
lambda= 486.1323    cvl= -2222.326 
lambda= 485.9634    cvl= -2222.326
optsurve$lambda
#> [1] 485.859

请您向我解释一下为什么会这样?

r optimization lambda cross-validation cox-regression
1个回答
0
投票

如果没有看到你的数据,很难说。您是否缩放了所有预测变量?如果不是,那么大的预测变量值可能会导致大的 lambda。尝试标准化您的预测变量,使其均值为零,标准差为一。例如使用

scale(data_liver_pmm)

另一种可能性是您的数据中存在大量噪音。较高的 lambda 可以通过将不相关预测变量的系数缩小到零来提供帮助。

© www.soinside.com 2019 - 2024. All rights reserved.