我正在运行 LASSO 回归选择模型,使用cv.glmnet()
. 预测的是一种疾病的发病率,我有 63 个 coviarates 包括在内。
在这 63 个协变量中,我通过将惩罚因子设置为 0 来强制将三个变量包含在模型中。结果看起来不错,并且始终包含三个惩罚变量以及其余 60 个协变量中的一些。一位同事现在建议我像以前一样运行模型,但也选择 lambda.min 以便解决方案始终包含 5 个额外的协变量(加上三个受惩罚的协变量)。
我怎么做?他建议告诉模型选择类似的东西
min(lambda[which(n.var==x)])
但我不知道如何将其构建到模型中。
这是我所拥有的:
cvfit = cv.glmnet(x, y, family="cox", penalty.factor=pen)
coef.min = coef(cvfit, s = "lambda.min",penalty.factor=pen)
我假设为了让模型包含我的惩罚协变量加上剩余 60 个中的 5 个,我必须在cv.glmnet()
? 有人可以帮忙吗?