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