AIC, BIC y GCV: ¿qué es lo mejor para tomar decisiones en métodos de regresión penalizados?

14

Mi comprensión general es que AIC trata con el equilibrio entre la bondad de ajuste del modelo y la complejidad del modelo.

UNyoC=2k-2lnorte(L)

k = número de parámetros en el modelo

L = probabilidad

El criterio de información bayesiano BIC está estrechamente relacionado con AIC. El AIC penaliza el número de parámetros con menos fuerza que el BIC. Puedo ver que estos dos se usan históricamente en todas partes. Pero la validación cruzada generalizada (GCV) es nueva para mí. ¿Cómo se puede relacionar GCV con BIC o AIC? ¿Cómo se utilizan estos criterios, juntos o por separado, en la selección del término de penalización en regresión panelizada como cresta?

Editar: Aquí hay un ejemplo para pensar y discutir:

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

ingrese la descripción de la imagen aquí

Ram Sharma
fuente

Respuestas:

10

λ

Frank Harrell
fuente
2
Gran interpretación práctica, y también tiene sentido en el contexto bayesiano ... razón de probabilidad "teórica" ​​basada en el error de predicción "ateórico".
shadowtalker
3
Probablemente ayudaría a elaborar cómo los "grados de libertad efectivos" para una solución regularizada se pueden calcular y utilizar en AIC.
Brian Borchers
2
Vea el código en la función del rmspaquete R effective.dfy mi libro Estrategias de modelado de regresión. La idea principal, de Robert Gray, es considerar la matriz de covarianza sin penalización versus la matriz de covarianza con penalización. La suma de la diagonal de una especie de relación de estos dos le da el df efectivo
Frank Harrell
@FrankHarrell: Entonces, si te entiendo correctamente, ¿está bien calcular un montón de modelos glmnet(cada uno con un parámetro lambda diferente) y calcular el AIC para cada modelo, y luego elegir el lambda correspondiente al modelo con el AIC más bajo? Básicamente, esta es otra forma de elegir el parámetro lambda, además de usar la Validación cruzada. Estoy en lo cierto?
Corel
1
Estaba escribiendo en el contexto del rmspaquete donde un par de funciones de ajuste cuando se usan para effective.dfcalcular el número efectivo de parámetros para que pueda obtener un AIC efectivo. Esto aproximará lo que obtienes de la validación cruzada con CV'ing. Mira esto
Frank Harrell el
10

Mis propios pensamientos sobre esto no son muy recopilados, pero aquí hay una colección de puntos que sé que podrían ayudar.


La interpretación bayesiana de AIC es que es una aproximación con corrección de sesgo a la densidad predictiva logarítmica esperada, es decir, el error de predicción fuera de la muestra. Esta interpretación se presenta muy bien en Gelman, Hwang y Vehtari (2013) y también se discute brevemente en el blog de Gelman . La validación cruzada es una aproximación diferente a la misma cosa.

Mientras tanto, BIC es una aproximación al " factor Bayes " bajo un previo particular (explicado muy bien en Raftery, 1999 ). Este es casi el análogo bayesiano de una razón de probabilidad.

Lo interesante de AIC y BIC es que la regresión penalizada también tiene una interpretación bayesiana, por ejemplo, LASSO es la estimación MAP de la regresión bayesiana con previos independientes de Laplace sobre los coeficientes. Un poco más de información en esta pregunta anterior y mucho más en Kyung, Gill, Ghosh y Casella (2010) .

Esto me sugiere que puede obtener algo de kilometraje, o al menos un diseño de investigación más coherente, al pensar y modelar en términos bayesianos. Sé que esto es un poco inusual en muchas aplicaciones, como el aprendizaje automático de alta dimensión, y también algo alejado de las interpretaciones geométricas y de función de pérdida (en mi opinión) más interpretables de la regularización. Por lo menos, confío mucho en la interpretación bayesiana para decidir entre AIC y BIC y explicar la diferencia a los laicos, compañeros de trabajo / jefes no orientados estadísticamente, etc.

λ

seleccionar un parámetro de ajuste mediante validación cruzada es solo una implementación particular de Bayes jerárquico.

Shadowtalker
fuente