使用glmet - 包装惩罚GLM

时间:2017-08-19 08:54:41

标签: r glmnet multinomial

由于我有很多解释变量,我想对多项logit模型进行惩罚估计。使用glmnet包,我将按如下方式进行:

library(glmnet)
data(MultinomialExample)

cvfit=cv.glmnet(x, y, family="multinomial", type.multinomial = "grouped", parallel = TRUE)
plot(cvfit)
coef(cvfit, s = "lambda.min")

从执行多项logit回归的其他包中,我知道具有K个级别的因变量的输出K-1系数,因为其中一个是所谓的参考类别。

然而,coef(cvfit, s = "lambda.min")给出了每个类别的系数,这让我感到困惑:

$`1`
31 x 1 sparse Matrix of class "dgCMatrix"
                       1
(Intercept)  0.015885341
V1           0.051848049
V2          -0.340036374
V3           0.421616900
....

$`2`
31 x 1 sparse Matrix of class "dgCMatrix"
                       1
(Intercept) -0.017214370
V1          -0.329369991
V2          -0.145053512
V3          -0.160609561
.......

$`3`
31 x 1 sparse Matrix of class "dgCMatrix"
                       1
(Intercept)  0.001329029
V1           0.277521942
.......

基本上是这样的:

  1. 您知道如何解释输出吗?

  2. 你知道我如何得到2类和2类的系数。 3 - 假设1是参考类别?

1 个答案:

答案 0 :(得分:1)

查看KH Kim的答案here。他/她的代码显示了如何在glmnet的输出和更常用的格式之间进行操作。来自multinom()的{​​{1}}。