¿Es posible calcular AIC y BIC para modelos de regresión de lazo?

31

¿Es posible calcular los valores de AIC o BIC para los modelos de regresión de lazo y otros modelos regularizados donde los parámetros solo ingresan parcialmente la ecuación? ¿Cómo se determinan los grados de libertad?

Estoy usando R para ajustar los modelos de regresión de lazo con la glmnet()función del glmnetpaquete, y me gustaría saber cómo calcular los valores de AIC y BIC para un modelo. De esta manera, podría comparar los valores con modelos ajustados sin regularización. ¿Es posible hacerlo?

Jota
fuente
1
Sí, puede hacer esto, pero lo más probable es que requiera que obtenga la corrección adecuada. La corrección se deriva en este documento ncbi.nlm.nih.gov/pmc/articles/PMC2629611 en el contexto del modelado penalizado de mezclas finitas, pero un argumento análogo sería suficiente en otros modelos penalizados.
Macro

Respuestas:

10

Estaba luchando mucho con la forma de calcular AIC y BIC para los modelos glmnet. Sin embargo, después de mucha búsqueda, encontré en la tercera página de resultados de Google la respuesta. Se puede encontrar aquí . Lo publico aquí para futuros lectores, ya que creo que no puedo ser el único.

Al final, implementé el AIC y el BIC de la siguiente manera:

fit <- glmnet(x, y, family = "multinomial") 

tLL <- fit$nulldev - deviance(fit)
k <- fit$df
n <- fit$nobs
AICc <- -tLL+2*k+2*k*(k+1)/(n-k-1)
AICc

BIC<-log(n)*k - tLL
BIC
johnnyheineken
fuente
2

En el enlace al que hace referencia johnnyheineken, el autor afirma:

Me temo que las dos cantidades disponibles del objeto glmnet (dev.ratio, nulldev) no son suficientes para obtener la probabilidad del modelo, que necesita para calcular AICc. Tienes dos ecuaciones en tres incógnitas: verosimilitud (nulo), verosimilitud (modelo) y verosimilitud (saturado). No puedo obtener la probabilidad (modelo) libre de la probabilidad (nulo).

Me parece que si estás comparando el AIC entre dos modelos, el hecho de que no puedas separar la desviación nula no debería importar. Dado que existe en ambos "lados" de la desigualdad, mostraría qué modelo debe tener el AIC más bajo. Esto depende de dos cosas:

  1. Los datos son los mismos en ambos modelos (de todos modos necesarios para la comparación AIC)
  2. No estoy olvidando algo de Stat101 ni el álgebra de la escuela secundaria (una fuerte suposición dado mi consumo actual de cafeína)
naturalBlogaritmo
fuente