R:从 GLMNet 获取 AIC/BIC/可能性

Fal*_*ler 5 statistics r glmnet

我想知道我是否可以从 GLMNet 获得 AIC 和 BIC。我发现 glmnet.cr 似乎能够做到,但我的反应是时间,而不是顺序。我可以根据可能性自己计算它,但 glmnet 也不会返回。

切线:我真的可以返回 l1norm 吗?我觉得它应该只是

fit$norm
Run Code Online (Sandbox Code Playgroud)

但似乎不是。(我知道它说不要把数字拉出来,但我实际上没有使用 R)

在此先感谢您的帮助。

joh*_*ken 8

我在如何计算 glmnet 模型的 AIC 和 BIC 的方法上遇到了很多困难。然而,经过大量搜索后,我在谷歌结果的第三页找到了答案。在这里能找到它。我将其发布在这里供未来的读者使用,因为我相信我不是唯一的读者。

最终我按照如下方式实现了AIC和BIC:

fit <- glmnet(x, y, family = "multinomial") 

tLL <- fit$nulldev - deviance(fit)
k <- fit$df
n <- fit$nobs
AICc <- -tLL+2*k+2*k*(k+1)/(n-k-1)
AICc

BIC<-log(n)*k - tLL
BIC
Run Code Online (Sandbox Code Playgroud)

  • 所以我最终也使用了这个,但从我读到的内容(以及其他地方的计算)来看,它不会为您提供与 2L 完全相同的值(您通常会使用的值)。但由于 fit$nulldev 是一个常量,因此可以用作替换。如果您想知道为什么您的 AICc 值与其他计算值不一致,请注意。 (3认同)