13 r lasso-regression least-squares lm
我期望LASSO没有惩罚($\lambda = 0 $)来产生与OLS拟合相同(或非常相似)的系数估计.但是,我在R中得到不同的系数估计值,将相同的数据(x,y)放入其中
glmnet(x, y , alpha=1, lambda=0) 对于LASSO而言,没有任何惩罚和 lm(y ~ x) 适合OLS. 这是为什么?
小智 5
您使用的功能错误。本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)
Run Code Online (Sandbox Code Playgroud)
来自 glmnet 帮助:另请注意,对于“高斯”,glmnet 在计算其 lambda 序列之前将 y 标准化为具有单位方差(然后对结果系数进行非标准化);如果您希望重现/与其他软件比较结果,最好提供标准化的 y。
| 归档时间: |
|
| 查看次数: |
1650 次 |
| 最近记录: |