Ogólnie rozumiem, że AIC zajmuje się kompromisem między dobrem dopasowania modelu a złożonością modelu.
= liczba parametrów w modelu
= 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))
źródło
rms
pakietu Reffective.df
i 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 dfglmnet
(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ę?rms
pakietu, w którym kilka funkcji dopasowania przy użyciu zeffective.df
obliczeniem efektywnej liczby parametrów pozwala uzyskać skuteczny AIC. To przybliża to, co otrzymujesz z weryfikacji krzyżowej z CV'ingiem. Zobacz toMoje 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.
źródło