手动计算岭回归解(矩阵形式)[r]

时间:2020-04-23 08:31:55

标签: r regression linear-algebra

我正在尝试手动计算岭回归和OLS回归,两个模型都具有解析形式的解。我一直认为手动计算所有内容然后开始使用函数是很不错的。

虽然我可以手动计算OLS回归(系数与使用lm函数相同),但是我仍然遇到岭回归问题。

我想问我在哪里犯错

library(glmnet)
library(tidyverse)

y = mtcars$hp %>% as.matrix()
X = model.matrix(hp ~ factor(gear) + qsec + wt, mtcars) %>% as.matrix()


# OLS model
solve(t(X) %*% X) %*%t(X) %*%y
lm(hp ~ factor(gear) + qsec + wt, mtcars) %>% coef()


# Ridge regression
glmnet(X, y, lambda = 30) %>% 
  broom::tidy()

solve(t(X) %*% X + 30*diag(5)) %*%t(X) %*%y

0 个答案:

没有答案