38 votos

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

¿Es posible calcular los valores de AIC o BIC para los modelos de regresión del lazo y otros modelos regularizados en los que los parámetros sólo entran parcialmente en la ecuación? ¿Cómo se determinan los grados de libertad?

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

18voto

Bwog Puntos 30

Estuve luchando mucho con la forma de calcular el AIC y el BIC para los modelos de glmnet. Sin embargo, después de mucho buscar, encontré en la tercera página de resultados de google la respuesta. Se puede encontrar aquí . Lo pongo 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

13voto

Ollie Treend Puntos 11

También pueden ser de interés los siguientes documentos:

R. J. Tibshirani y J. Taylor (2011), Grados de libertad en los problemas de lazo , arXiv preprint:1111.0653 .

H. Zou, T. Hastie y R. Tibshirani (2007), Sobre los grados de libertad del lazo , Anales de Estadística 35 (5), 2173-2192.

2voto

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

Me temo que las dos cantidades disponibles en el objeto glmnet (dev.ratio, nulldev) no son suficientes para obtener la probabilidad del modelo, que necesitas para calcular el AICc. Tiene dos ecuaciones en tres incógnitas: verosimilitud(null), verosimilitud(modelo) y verosimilitud(saturado). No puedo obtener la verosimilitud(modelo) libre de la verosimilitud(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, es necesario para la comparación AIC)
  2. No estoy olvidando algo de Stat101 ni de álgebra de bachillerato (una fuerte suposición dada mi actual ingesta de cafeína)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X