Как я могу заставить cv.glmnet не отбрасывать одну конкретную переменную?
Я выполняю регрессию с 67 наблюдениями и 32 переменными. Я делаю выбор переменных с помощью функции cv.glmnet из пакета glmnet. Есть одна переменная, которую я хочу вставить в модель. (Отбрасывается во время обычной процедуры.) Как я могу указать это условие в cv.glmnet?
Спасибо!
Мой код выглядит следующим образом:
glmntfit <- cv.glmnet(mydata[,-1], mydata[,1])
coef(glmntfit, s=glmntfit$lambda.1se)
И переменной, которую я хочу, является mydata [, 2].
Ответы
Ответ 1
Это может быть достигнуто путем предоставления вектора penalty.factor
, как описано в ?glmnet
. Фактор штрафа 0
указывает, что "переменная всегда включена в модель", а 1
- по умолчанию.
glmntfit <- cv.glmnet(mydata[,-1], mydata[, 1],
penalty.factor=c(0, rep(1, ncol(mydata) - 2)))