La mia comprensione generale è che AIC si occupa del compromesso tra la bontà di adattamento del modello e la complessità del modello.
= numero di parametri nel modello
= probabilità
Il criterio di informazione bayesiana BIC è strettamente correlato all'AIC. L'AIC penalizza il numero di parametri in modo meno forte rispetto al BIC. Vedo che questi due sono usati ovunque storicamente. Ma la validazione incrociata generalizzata (GCV) è nuova per me. In che modo GCV può relazionarsi con BIC o AIC? In che modo questi criteri, insieme o separati, sono stati utilizzati nella selezione del termine di penalità nella regressione panelizzata come la cresta?
Modifica: ecco un esempio per pensare e discutere:
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))