AIC, BIC und GCV: Was ist am besten geeignet, um bei bestraften Regressionsmethoden eine Entscheidung zu treffen?

14

Mein allgemeines Verständnis ist, dass sich AIC mit dem Kompromiss zwischen der Anpassungsgüte des Modells und der Komplexität des Modells befasst.

AIC=2k2ln(L)

k = Anzahl der Parameter im Modell

L = Wahrscheinlichkeit

Das Bayes'sche Informationskriterium BIC ist eng mit dem AIC verwandt. Der AIC benachteiligt die Anzahl der Parameter weniger stark als der BIC. Ich kann sehen, dass diese beiden historisch überall verwendet werden. Generalized Cross Validation (GCV) ist für mich jedoch neu. Wie kann GCV sich auf BIC oder AIC beziehen? Wie werden diese Kriterien zusammen oder getrennt bei der Auswahl des Strafausdrucks in einer panelisierten Regression wie dem Kamm verwendet?

Bearbeiten: Hier ist ein Beispiel zum Nachdenken und Diskutieren:

    require(lasso2)
    data(Prostate)
    require(rms)

    ridgefits = ols(lpsa~lcavol+lweight+age+lbph+svi+lcp+gleason+pgg45,
           method="qr", data=Prostate,se.fit = TRUE, x=TRUE, y=TRUE)
    p <- pentrace(ridgefits, seq(0,1,by=.01))
    effective.df(ridgefits,p)
    out <- p$results.all
    par(mfrow=c(3,2))
    plot(out$df, out$aic, col = "blue", type = "l", ylab = "AIC", xlab = "df"  )
    plot(out$df, out$bic, col = "green4", type = "l", ylab = "BIC",  xlab = "df" )
    plot(out$penalty, out$df,  type = "l", col = "red", 
     xlab = expression(paste(lambda)), ylab = "df" )
    plot(out$penalty, out$aic, col = "blue", type = "l",  
      ylab = "AIC", xlab = expression(paste(lambda))  )
    plot(out$penalty, out$bic, col = "green4", type = "l", ylab = "BIC", 
      xlab= expression(paste(lambda))

require(glmnet)
y <- matrix(Prostate$lpsa, ncol = 1)
x <- as.matrix (Prostate[,- length(Prostate)])
cv <- cv.glmnet(x,y,alpha=1,nfolds=10)
plot(cv$lambda, cv$cvm, col = "red", type = "l", 
      ylab = "CVM",   xlab= expression(paste(lambda))

Bildbeschreibung hier eingeben

Ram Sharma
quelle

Antworten:

10

λ

Frank Harrell
quelle
2
Gute praktische Interpretation und auch im Bayes'schen Kontext sinnvoll ... "theoretisch" basiertes Wahrscheinlichkeitsverhältnis vs. "atheoretischer" Vorhersagefehler.
Shadowtalker
3
Es würde wahrscheinlich helfen, herauszufinden, wie "effektive Freiheitsgrade" für eine regulierte Lösung berechnet und in AIC verwendet werden können.
Brian Borchers
2
Siehe den Code in der R- rmsPaketfunktion effective.dfund in meinem Buch Regressionsmodellierungsstrategien. Die Hauptidee von Robert Gray ist, dass Sie die Kovarianzmatrix ohne Bestrafung gegenüber der Kovarianzmatrix mit Bestrafung betrachten. Die Summe der Diagonalen eines Verhältnisses dieser beiden ergibt den effektiven df
Frank Harrell
@FrankHarrell: Wenn ich Sie richtig verstehe, ist es in Ordnung, eine Reihe von Modellen zu berechnen glmnet(jedes mit einem anderen Lambda-Parameter) und den AIC für jedes Modell zu berechnen. Wählen Sie dann das Lambda aus, das dem Modell mit dem niedrigsten AIC entspricht. Dies ist im Grunde eine andere Methode zur Auswahl des Lambda-Parameters als die Verwendung der Kreuzvalidierung. Habe ich recht?
Corel
1
Ich habe im Rahmen des rmsPakets geschrieben, dass einige Anpassungsfunktionen beim effective.dfBerechnen der effektiven Anzahl von Parametern verwendet werden, damit Sie einen effektiven AIC erhalten. Dies entspricht in etwa dem Ergebnis einer Kreuzvalidierung mit CV'ing. Sehen Sie das
Frank Harrell
10

Meine eigenen Gedanken dazu sind nicht sehr gesammelt, aber hier ist eine Sammlung von Punkten, von denen ich weiß, dass sie helfen könnten.


Die Bayes'sche Interpretation von AIC ist, dass es sich um eine vorspannungskorrigierte Annäherung an die erwartete logarithmische Dichte handelt, dh den Vorhersagefehler außerhalb der Stichprobe. Diese Interpretation ist in Gelman, Hwang und Vehtari (2013) gut dargestellt und wird auch in Gelmans Blog kurz besprochen . Kreuzvalidierung ist eine andere Annäherung an dasselbe.

In der Zwischenzeit ist der BIC eine Annäherung an den " Bayes-Faktor " unter einem bestimmten Prior (in Raftery, 1999 ). Dies ist fast das Bayes'sche Analogon eines Wahrscheinlichkeitsverhältnisses.

Was ist interessant über AIC und BIC ist , dass bestraft Regression auch eine Bayes'sche Interpretation hat, z. B. LASSO ist die MAP-Schätzung der Bayes'schen Regression mit unabhängigen Laplace-Prioritäten für die Koeffizienten. Ein bisschen mehr Info in dieser vorherigen Frage und viel mehr in Kyung, Gill, Ghosh und Casella (2010) .

Dies legt den Schluss nahe, dass Sie möglicherweise eine gewisse Laufleistung oder zumindest ein kohärenteres Forschungsdesign erzielen, wenn Sie in Bayes'schen Begriffen denken und modellieren. Ich weiß, dass dies in vielen Anwendungen wie dem hochdimensionalen maschinellen Lernen etwas ungewöhnlich ist und auch etwas von den (meiner Meinung nach) besser interpretierbaren geometrischen und verlustfunktionalen Interpretationen der Regularisierung entfernt ist. Zumindest verlasse ich mich stark auf die Bayesianische Interpretation, um mich zwischen AIC und BIC zu entscheiden und den Unterschied zu Laien, nicht statistisch orientierten Mitarbeitern / Chefs usw. zu erklären.

λ Gelman vor :

Das Auswählen eines Optimierungsparameters durch Kreuzvalidierung ist nur eine bestimmte Implementierung von hierarchischen Bayes.

Shadowtalker
quelle