AIC, BIC i GCV: co jest najlepsze do podejmowania decyzji w metodach regresji karnej?

14

Ogólnie rozumiem, że AIC zajmuje się kompromisem między dobrem dopasowania modelu a złożonością modelu.

AIC=2k2ln(L)

k = liczba parametrów w modelu

L = prawdopodobieństwo

Bayesowskie kryterium informacyjne BIC jest ściśle powiązane z AIC. AIC karać liczbę parametrów słabiej niż BIC. Widzę, że te dwa są używane wszędzie historycznie. Ale uogólniona walidacja krzyżowa (GCV) jest dla mnie nowa. Jak GCV może odnosić się do BIC lub AIC? W jaki sposób te kryteria, łącznie lub osobno, stosowane przy wyborze kary w regresji panelowej, takiej jak grzbiet?

Edycja: Oto przykład do przemyślenia i omówienia:

    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))

wprowadź opis zdjęcia tutaj

Ram Sharma
źródło

Odpowiedzi:

10

Myślę, że BIC jest preferowany, gdy istnieje „prawdziwy” model niskiego wymiaru, który moim zdaniem nigdy nie ma miejsca w pracy empirycznej. AIC jest bardziej zgodny z założeniem, że im więcej danych pozyskujemy, tym bardziej złożony może być model. AIC wykorzystując efektywne stopnie swobody, z mojego doświadczenia, jest bardzo dobrym sposobem na wybranie parametru kary ponieważ prawdopodobnie zoptymalizuje wydajność modelu w nowej, niezależnej próbce.λ

Frank Harrell
źródło
2
Świetna praktyczna interpretacja, a także ma sens w kontekście bayesowskim ... oparty na „teoretycznym” stosunku prawdopodobieństwa vs. „ateoretyczny” błąd prognozy.
shadowtalker
3
Prawdopodobnie pomogłoby to opracować sposób, w jaki „efektywne stopnie swobody” dla rozwiązania znormalizowanego można obliczyć i zastosować w AIC.
Brian Borchers,
2
Zobacz kod w funkcji rmspakietu R effective.dfi moją książkę Strategie modelowania regresji. Główną ideą, autorstwa Roberta Graya, jest rozważenie macierzy kowariancji bez kary wobec macierzy kowariancji z penalizacją. Suma przekątnej pewnego rodzaju stosunku tych dwóch daje efektywny df
Frank Harrell
@FrankHarrell: Więc jeśli dobrze cię rozumiem - dobrze jest obliczyć kilka modeli glmnet(każdy z innym parametrem lambda) i obliczyć AIC dla każdego modelu, a następnie wybrać lambda odpowiadającą modelowi o najniższym AIC? Jest to w zasadzie inny sposób wyboru parametru lambda, inny niż użycie weryfikacji krzyżowej. Czy mam rację?
Corel
1
Pisałem w kontekście rmspakietu, w którym kilka funkcji dopasowania przy użyciu z effective.dfobliczeniem efektywnej liczby parametrów pozwala uzyskać skuteczny AIC. To przybliża to, co otrzymujesz z weryfikacji krzyżowej z CV'ingiem. Zobacz to
Frank Harrell
10

Moje własne przemyślenia na ten temat nie są zbyt zebrane, ale oto zbiór punktów, o których wiem, że mogą pomóc.


Bayesowska interpretacja AIC polega na tym, że jest to przybliżone skorygowane przybliżenie do oczekiwanej logarytmicznej gęstości predykcyjnej punktowej, tj. Błędu prognozowania poza próbą. Ta interpretacja została ładnie przedstawiona w Gelman, Hwang i Vehtari (2013), a także krótko omówiona na blogu Gelmana . Walidacja krzyżowa jest innym przybliżeniem tego samego.

Tymczasem BIC jest przybliżeniem do „ współczynnika Bayesa ” pod konkretnym przełożeniem (ładnie wyjaśnione w Raftery, 1999 ). Jest to prawie bayesowski analog wskaźnika prawdopodobieństwa.

Interesujące w AIC i BIC jest to, że regresja karana ma również interpretację bayesowską, np. LASSO jest oszacowaniem MAP regresji bayesowskiej z niezależnymi pierwszeństwami Laplace'a w zakresie współczynników. Trochę więcej informacji w poprzednim pytaniu i wiele więcej w Kyung, Gill, Ghosh i Casella (2010) .

To sugeruje mi, że możesz uzyskać przebieg lub przynajmniej bardziej spójny plan badań, myśląc i modelując w kategoriach bayesowskich. Wiem, że jest to nieco niezwykłe w wielu aplikacjach, takich jak wielowymiarowe uczenie maszynowe, a także nieco usunięte z (moim zdaniem) bardziej interpretowalnych interpretacji geometrycznych i funkcji strat w regularyzacji. Przynajmniej polegam w dużej mierze na interpretacji bayesowskiej przy podejmowaniu decyzji między AIC i BIC oraz wyjaśnianiu różnicy laikom, niestatystycznym współpracownikom / szefom itp.

λ

wybranie parametru dostrajania przez krzyżową weryfikację jest tylko szczególną implementacją hierarchicznego Bayesa.

Shadowtalker
źródło