我希望没有惩罚 ($\lambda=0$) 的 LASSO 产生与 OLS 拟合相同(或非常相似)的系数估计值。但是,我在 R 中得到了不同的系数估计,将相同的数据 (x,y) 放入
glmnet(x, y , alpha=1, lambda=0)
用于无惩罚的 LASSO 拟合和 lm(y ~ x)
适合OLS。 为什么?
最佳答案
您使用的功能错误。 x
应该是模型矩阵。不是原始预测值。当你这样做时,你会得到完全相同的结果:
x <- rnorm(500)
y <- rnorm(500)
mod1 <- lm(y ~ x)
xmm <- model.matrix(mod1)
mod2 <- glmnet(xmm, y, alpha=1, lambda=0)
coef(mod1)
coef(mod2)
关于r - 带有 $\lambda = 0$ 的 LASSO 和 OLS 在 R glmnet 中产生不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38378118/