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?