Modelos de conteo cero inflado en R: ¿cuál es la verdadera ventaja?


11

Para analizar los recuentos de aves inflados a cero, me gustaría aplicar modelos de recuento inflados a cero usando el paquete R pscl . Sin embargo, al observar el ejemplo proporcionado en la documentación para una de las funciones principales ( ? Zeroinfl ), empiezo a dudar de cuál es la verdadera ventaja de estos modelos. De acuerdo con el código de muestra dado allí, calculé modelos de poisson estándar, cuasi-poisson y bionomiales negativos, modelos de poisson simples y binomiales negativos inflados a cero y modelos de poisson y binomios negativos inflados a cero con regresores para el componente cero. Luego inspeccioné los histogramas de los datos observados y ajustados. (Aquí está el código para replicar eso).

library(pscl)
data("bioChemists", package = "pscl")

## standard count data models
fm_pois  <- glm(art ~ .,    data = bioChemists, family = poisson)
fm_qpois <- glm(art ~ .,    data = bioChemists, family = quasipoisson)
fm_nb    <- glm.nb(art ~ ., data = bioChemists)

## with simple inflation (no regressors for zero component)
fm_zip  <- zeroinfl(art ~ . | 1, data = bioChemists)
fm_zinb <- zeroinfl(art ~ . | 1, data = bioChemists, dist = "negbin")

## inflation with regressors
fm_zip2  <- zeroinfl(art ~ fem + mar + kid5 + phd + ment | fem + mar + kid5 + phd + 
                     ment, data = bioChemists)
fm_zinb2 <- zeroinfl(art ~ fem + mar + kid5 + phd + ment | fem + mar + kid5 + phd + 
                     ment, data = bioChemists, dist = "negbin")

## histograms
breaks <- seq(-0.5,20.5,1)
par(mfrow=c(4,2))
hist(bioChemists$art,  breaks=breaks)
hist(fitted(fm_pois),  breaks=breaks)
hist(fitted(fm_qpois), breaks=breaks)
hist(fitted(fm_nb),    breaks=breaks)
hist(fitted(fm_zip),   breaks=breaks)
hist(fitted(fm_zinb),  breaks=breaks)
hist(fitted(fm_zip2),  breaks=breaks)
hist(fitted(fm_zinb2), breaks=breaks)!

Histograma de datos observados y ajustados.

No puedo ver ninguna diferencia fundamental entre los diferentes modelos (aparte de eso, los datos de ejemplo no me parecen muy "inflados a cero" ...); en realidad ninguno de los modelos produce una estimación razonablemente a medias de la cantidad de ceros. ¿Alguien puede explicar cuál es la ventaja de los modelos con inflación cero? Supongo que debe haber una razón para elegir esto como ejemplo para la función.

Respuestas:


15

Creo que este es un conjunto de datos mal elegido para explorar las ventajas de los modelos con cero inflado, porque, como observan, no hay tanta inflación cero.

plot(fitted(fm_pois), fitted(fm_zinb))

muestra que los valores predichos son casi idénticos.

En los conjuntos de datos con más inflación cero, los modelos ZI dan resultados diferentes (y generalmente mejores) que Poisson.

Otra forma de comparar el ajuste de los modelos es comparar el tamaño de los residuos:

boxplot(abs(resid(fm_pois) - resid(fm_zinb)))

muestra que, incluso aquí, los residuos del Poisson son más pequeños que los del ZINB. Si tiene alguna idea de una magnitud del residuo que es realmente problemática, puede ver qué proporción de los residuos en cada modelo está por encima de eso. Por ejemplo, si estar fuera por más de 1 era inaceptable

sum(abs(resid(fm_pois) > 1))
sum(abs(resid(fm_zinb) > 1))

muestra que este último es un poco mejor: 20 menos residuos grandes.

Entonces la pregunta es si la complejidad añadida de los modelos vale la pena para usted.


6

Los valores ajustados mostrarán menos dispersión que los valores observados debido a la variación aleatoria. No estás haciendo una comparación significativa. Para tomar un caso simple, si sus datos fueran solo no compararía un histograma de con un histograma del valor ajustado - lo mismo para todos ! Aunque sería razonable simular valores de partir de y comparar histogramas de & .x i μ i x * i X * i ~ P o i s ( μ ) x * i x iXiPois(μ)xiμ^ixiXiPois(μ^)xixi


¿Qué otro tipo de comparación recomendarías?
user7417

Vea la respuesta de Peter para ver buenas comparaciones entre modelos.
Scortchi - Restablece a Monica
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.