4 votos

¿Comparación/selección de modelos válida? Poisson, binomial negativa, poisson inflado en cero, binomial negativa inflada en cero con AIC

Quiero modelar conteos de un evento en un diseño pre-post. Un conjunto de datos de muestra podría verse así:

dat <- tibble::tibble(
  day = 1:20,
  event = c(0,0,2,5,0,10,3,0,0,0,1,3,4,0,5,0,0,2,0,10),
  group = c(rep("pre", 10), rep("post", 10))
)

En mis datos reales definitivamente hay demasiados ceros para un proceso de Poisson. Por lo tanto, tiendo hacia ajustar tres modelos (Poisson, binomial negativo, poisson inflado en cero, binomial negativo inflado en cero), realizar comparaciones de modelos y luego realizar inferencias sobre el mejor modelo. Sin embargo, no estoy seguro si mi enfoque es válido.

Esto es lo que me gustaría hacer:

# ajustar el modelo poisson
m1 <- glm(event ~ group, family = "poisson", data = dat)

# obtener el AIC para m1
m1.aic <- AIC(m1)

# ajustar el modelo binomial negativo
m2 <- MASS::glm.nb(event ~ group, data = dat)

# obtener el AIC para m2
m2.aic <- AIC(m2)

# ajustar el modelo binomial negativo inflado en cero
m3 <- pscl::zeroinfl(event ~ group | group, dist = "negbin", data = dat)

# obtener el AIC para m3
m3.aic <- AIC(m3)

# ajustar el modelo poisson inflado en cero
m4 <- pscl::zeroinfl(event ~ group | group, dist = "poisson", data = dat)

# obtener el AIC para m4
m4.aic <- AIC(m4)

# resumen del modelo con menor AIC
summary(m2)

# conclusión: no hay un efecto significativo del grupo en el número de eventos

# verificar el número medio de eventos predichos por grupo
emmeans::emmeans(m2, ~ group, type = "response")

¿Ves algún problema con esto? ¿Qué harías de manera diferente?

6voto

Dave Puntos 76

Al realizar la selección de modelos antes de realizar la inferencia en el modelo seleccionado, estás distorsionando tus inferencias finales. Cualquier inferencia que realices en el modelo final, como por ejemplo calcular un intervalo de confianza en un parámetro del modelo, asume que especificaste dicho modelo y lo ajustaste, no que elegiste a dedo el modelo entre varios candidatos y luego realizaste la inferencia. Si estás familiarizado con los problemas de regresión paso a paso (especialmente 2, 3, 4 y 7), las mismas ideas se aplican.

3voto

Quartermeister Puntos 24729

En principio esto está bien. El único problema es que muchos paquetes eliminarán constantes de sus cálculos de verosimilitud, lo que significa que ya no son comparables. Así que calcula las verosimilitudes a mano a partir de la fórmula para verificar.

Creo que glmmTMB y brms reportan verosimilitudes completas/AIC/LOOIC para cada una de estas familias, así que podrías usar solo uno de esos paquetes en lugar de la colección de varios.

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