如何用R中的log-link进行岭回归

时间:2016-10-04 05:46:04

标签: r glmnet

我想使用glmnetlm.ridge在R中进行岭回归。

我需要使用log(Y)

进行回归
cost ~ size + weight ⇒ log(cost) ~ size + weight

但是,我发现glmglmnet没有像lm.ridge这样的链接。

有关此问题的任何想法吗?

1 个答案:

答案 0 :(得分:0)

?glmnet函数使用 alpha 输入参数(值为0)。正如文档所说:

  

alpha = 1是套索惩罚,alpha = 0是岭惩罚。

尝试以下内容:

glmnet(x=cbind(size, weight), y=log(cost), alpha=0, family='gaussian')

或可能与 poission regression

glmnet(x=cbind(size, weight), y=cost, alpha=0, family='poission')

如果您的输入数据不是太大,您可以使用公式solve(t(X)%*%X + λ*I)%*%(t(X)%*%y)直接从训练数据中通过岭回归计算学习权重,其中 X 是您的输入变量矩阵, y 是响应变量, I 是单位矩阵,您可以使用交叉验证从<了解lambda参数的最佳值em>坚持数据集。