【发布时间】:2020-11-25 00:21:19
【问题描述】:
我试图理解为什么岭回归系数估计(通过 R 中的 glmnet 包)在 lambda = 0 的情况下与普通最小二乘 (OLS) 估计不匹配。我见过其他几个关于这个主题的帖子,但没有一个回答我的问题。
这是一个最小的代表:
library(glmnet)
set.seed(1)
X <- matrix(rnorm(90), ncol = 9, nrow = 10, byrow = TRUE)
y <- matrix(rnorm(10), nrow = 10, ncol = 1)
X_scaled <- scale(X)
ridge1 <- glmnet(X_scaled, y, alpha = 0, lambda = 0)
lm1 <- lm(y~X_scaled)
这会导致:
> coef(lm1)
(Intercept) X_scaled1 X_scaled2 X_scaled3 X_scaled4 X_scaled5 X_scaled6 X_scaled7 X_scaled8 X_scaled9
0.1123413 4.4105824 -4.1680260 4.9959933 2.2281174 3.0542372 3.8673192 -2.5323069 0.4444550 5.0073531
> coef(ridge1)
10 x 1 sparse Matrix of class "dgCMatrix"
s0
(Intercept) 0.1123413
V1 4.1667913
V2 -3.9353740
V3 4.7692778
V4 2.1239412
V5 2.8683159
V6 3.6622262
V7 -2.3987696
V8 0.4305574
V9 4.7282300
当 lambda=0 时,岭回归的系数估计值应与 OLS 系数匹配,但是,这些不匹配(截距除外)。这是怎么回事?
【问题讨论】:
标签: r regression glmnet