Ist es möglich, AIC und BIC für Lasso-Regressionsmodelle zu berechnen?


31

Ist es möglich, AIC- oder BIC-Werte für Lasso-Regressionsmodelle und andere regulierte Modelle zu berechnen, bei denen Parameter nur teilweise in die Gleichung eingehen? Wie bestimmt man die Freiheitsgrade?

Ich verwende R, um Lasso-Regressionsmodelle mit der glmnet()Funktion aus dem glmnetPaket zu versehen, und möchte wissen, wie AIC- und BIC-Werte für ein Modell berechnet werden. Auf diese Weise kann ich die Werte mit Modellen vergleichen, die ohne Regularisierung passen. Ist das möglich zu tun?


1
Ja, Sie können dies tun, aber es wird höchstwahrscheinlich erforderlich sein, dass Sie die richtige Korrektur ableiten. Die Korrektur wird in dieser Veröffentlichung ncbi.nlm.nih.gov/pmc/articles/PMC2629611 im Zusammenhang mit der bestraften Modellierung endlicher Gemische abgeleitet, aber ein analoges Argument würde in anderen bestraften Modellen ausreichen.
Makro

Antworten:



10

Ich hatte große Probleme damit, AIC und BIC für glmnet-Modelle zu berechnen. Nach einigem Suchen fand ich jedoch auf der dritten Seite der Google-Ergebnisse die Antwort. Es kann hier gefunden werden . Ich poste es hier für zukünftige Leser, da ich glaube, dass ich nicht der einzige sein kann.

Am Ende habe ich den AIC und den BIC folgendermaßen implementiert:

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

2

In dem Link, auf den Johnnyheineken verweist, heißt es:

Ich befürchte, dass die beiden vom glmnet-Objekt verfügbaren Größen (dev.ratio, nulldev) nicht ausreichen, um die Wahrscheinlichkeit für das Modell zu ermitteln, das Sie zur Berechnung von AICc benötigen. Sie haben zwei Gleichungen in drei Unbekannten: Wahrscheinlichkeit (null), Wahrscheinlichkeit (Modell) und Wahrscheinlichkeit (gesättigt). Ich kann die Wahrscheinlichkeit (Modell) nicht von der Wahrscheinlichkeit (Null) befreien.

Es scheint mir, dass, wenn Sie den AIC zwischen zwei Modellen vergleichen, die Tatsache, dass Sie die Nullabweichung nicht trennen können, keine Rolle spielen sollte. Da es auf beiden "Seiten" der Ungleichung existiert, würde es zeigen, welches Modell den niedrigeren AIC haben muss. Dies hängt von zwei Dingen ab:

  1. Die Daten sind in beiden Modellen gleich (ohnehin für den AIC-Vergleich notwendig)
  2. Ich vergesse weder etwas von Stat101 noch von der Algebra der High School (eine starke Vermutung angesichts meiner aktuellen Koffeinaufnahme)
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.