我的一般理解是AIC处理模型的拟合优度和模型的复杂性之间的权衡。
=模型中的参数数量
=可能性
贝叶斯信息准则BIC与AIC密切相关.AIC对参数数量的惩罚程度不如BIC。我可以看到这两个在历史上到处都有使用。但是广义交叉验证(GCV)对我来说是新的。GCV如何与BIC或AIC相关?这些标准如何一起或单独用于在像ridge这样的面板回归中选择惩罚项?
编辑: 这是一个思考和讨论的示例:
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))