Ejemplos de Análisis de datos de Regresión de Poisson | Stata con inflación cero

Información de la versión: El código de esta página se probó en Stata 12.

La regresión de poisson inflada a cero se utiliza para modelar datos de conteo que tienen un exceso de conteo de cero. Además, la teoría sugiere que el exceso de ceros se genera por un proceso separado de los valores de conteo y que el exceso de ceros se puede modelar de forma independiente. Por lo tanto, el modelo zip tiene dos partes, un modelo de recuento de poisson y el modelo logit para predecir el exceso de ceros. Es posible que desee revisar estas páginas de Ejemplo de Análisis de Datos, Regresión de Poisson y Regresión de Logit.

Nota: El propósito de esta página es mostrar cómo usar varios comandos de análisis de datos. No cubre todos los aspectos del proceso de investigación que se espera que hagan los investigadores. En particular, no abarca la depuración y verificación de datos, la verificación de hipótesis, el diagnóstico de modelos y los posibles análisis de seguimiento.

Ejemplos de regresión de Poisson inflada a cero

Ejemplo 1.

Los administradores de la escuela estudian el comportamiento de asistencia de estudiantes de secundaria de más de un semestre en dos escuelas. La asistencia se mide por el número de días de ausencia y se predice por el género del estudiante y los puntajes de prueba estandarizados en matemáticas y artes del lenguaje. Muchos estudiantes no tienen ausencias durante el semestre.

Ejemplo 2.

Los biólogos de vida silvestre del estado quieren modelar cuántos peces están siendo capturados por los pescadores en un parque estatal. A los visitantes se les pregunta si tienen o no una caravana, cuántas personas estaban en el grupo, si había niños en el grupo y cuántos peces se pescaron.Algunos visitantes no pescan, pero no hay datos sobre si una persona pescó o no. Algunos visitantes que pescaron no pescaron, por lo que hay un exceso de ceros en los datos debido a las personas que no pescaron.

Descripción de los datos

Sigamos el ejemplo 2 de arriba.

Tenemos datos de 250 grupos que fueron a un parque. A cada grupo se le preguntó cuántos peces pescaban (cuentan), cuántos niños había en el grupo (niño), cuántas personas había en el grupo (personas) y si llevaban o no una caravana al parque (caravana).

Además de predecir el número de peces capturados, hay interés en predecir la existencia de ceros excesivos, es decir, los ceros que no fueron simplemente el resultado de la pesca de mala suerte. Usaremos las variables niño, personas y campista en nuestro modelo. Veamos los datos.

Métodos de análisis que puede considerar

A continuación se muestra una lista de algunos métodos de análisis que puede haber encontrado.Algunos de los métodos enumerados son bastante razonables, mientras que otros han caído en desgracia o tienen limitaciones.

  • Regresión de Poisson inflada cero: El enfoque de esta página web.
  • Regresión Binomial Negativa inflada cero: La regresión binomial negativa funciona mejor con datos dispersos, es decir, varianza mucho mayor que la media.
  • Modelos de conteo ordinario: los modelos de Poisson o binomio negativo podrían ser más apropiados si no hay ceros en exceso.Regresión OLS
  • : Puede intentar analizar estos datos mediante regresión OLS. Sin embargo, los datos de recuento no son muy normales y no están bien estimados por regresión OLS.

Regresión de Poisson inflada a cero

Ejecutaremos el comando zip con child y camper como predictores de los recuentos, persons como predictor del exceso de ceros. Hemos incluido la opción vuong, que proporciona una prueba del modelo de inflado cero frente al modelo estándar de Poisson.

zip count child camper, inflate(persons) vuongFitting constant-only model:Iteration 0: log likelihood = -1347.807 Iteration 1: log likelihood = -1315.5343 Iteration 2: log likelihood = -1126.3689 Iteration 3: log likelihood = -1125.5358 Iteration 4: log likelihood = -1125.5357 Iteration 5: log likelihood = -1125.5357 Fitting full model:Iteration 0: log likelihood = -1125.5357 Iteration 1: log likelihood = -1044.8553 Iteration 2: log likelihood = -1031.8733 Iteration 3: log likelihood = -1031.6089 Iteration 4: log likelihood = -1031.6084 Iteration 5: log likelihood = -1031.6084 Zero-inflated Poisson regression Number of obs = 250 Nonzero obs = 108 Zero obs = 142Inflation model = logit LR chi2(2) = 187.85Log likelihood = -1031.608 Prob > chi2 = 0.0000------------------------------------------------------------------------------ count | Coef. Std. Err. z P>|z| -------------+----------------------------------------------------------------count | child | -1.042838 .0999883 -10.43 0.000 -1.238812 -.846865 1.camper | .8340222 .0936268 8.91 0.000 .650517 1.017527 _cons | 1.597889 .0855382 18.68 0.000 1.430237 1.76554-------------+----------------------------------------------------------------inflate | persons | -.5643472 .1629638 -3.46 0.001 -.8837503 -.244944 _cons | 1.297439 .3738522 3.47 0.001 .5647022 2.030176------------------------------------------------------------------------------Vuong test of zip vs. standard Poisson: z = 3.57 Pr>z = 0.0002

La salida se parece mucho a la salida de una regresión OLS:

  • Comienza con el registro de iteración que da los valores de las probabilidades de registro comenzando con un modelo que no tiene predictores. El último valor en el registro es el valor final de la probabilidad de registro para el modelo completo y se repite a continuación.
  • A continuación viene la información del encabezado. En el lado derecho se da el número de observaciones utilizadas (250), el número de observaciones distintas de cero (108) junto con la razón de verosimilitud chi-cuadrado. Esto compara el modelo completo con un modelo sin predictores de conteo, dando una diferencia de dos grados de libertad. Esto es seguido por el valor p para el chi-cuadrado. El modelo, en su conjunto, es estadísticamente significativo.
  • Debajo del encabezado encontrará los coeficientes de regresión de Poisson para cada uno de los recuentos que predicen variables, junto con errores estándar, puntuaciones z, valores p e intervalos de confianza del 95% para los agentes.
  • A continuación se encuentran los coeficientes logit para la variable que predice el exceso de ceros junto con sus errores estándar, puntuaciones z, valores p e intervalos de confianza.
  • Debajo de los diversos coeficientes encontrará los resultados de la prueba de Vuong. La prueba de Vuong compara el modelo de inflado cero con un modelo de regresión de Poisson ordinario.Una prueba z significativa indica que el modelo inflado a cero es mejor.
  • Cameron y Trivedi (2009) recomiendan errores estándar robustos para los modelos de Poisson.Volveremos a ejecutar el modelo con la opción vce (robusta). No incluimos esta opción en el primer modelo porque las opciones robustas y vuong no se pueden usar en el mismo modelo.

zip count child i.camper, inflate(persons) vce(robust)Fitting constant-only model:Iteration 0: log pseudolikelihood = -1347.807 Iteration 1: log pseudolikelihood = -1315.5343 Iteration 2: log pseudolikelihood = -1126.3689 Iteration 3: log pseudolikelihood = -1125.5358 Iteration 4: log pseudolikelihood = -1125.5357 Iteration 5: log pseudolikelihood = -1125.5357 Fitting full model:Iteration 0: log pseudolikelihood = -1125.5357 Iteration 1: log pseudolikelihood = -1044.8553 Iteration 2: log pseudolikelihood = -1031.8733 Iteration 3: log pseudolikelihood = -1031.6089 Iteration 4: log pseudolikelihood = -1031.6084 Iteration 5: log pseudolikelihood = -1031.6084 Zero-inflated Poisson regression Number of obs = 250 Nonzero obs = 108 Zero obs = 142Inflation model = logit Wald chi2(2) = 7.25Log pseudolikelihood = -1031.608 Prob > chi2 = 0.0266------------------------------------------------------------------------------ | Robust count | Coef. Std. Err. z P>|z| -------------+----------------------------------------------------------------count | child | -1.042838 .3893772 -2.68 0.007 -1.806004 -.2796731 1.camper | .8340222 .4076029 2.05 0.041 .0351352 1.632909 _cons | 1.597889 .2934631 5.44 0.000 1.022711 2.173066-------------+----------------------------------------------------------------inflate | persons | -.5643472 .2888849 -1.95 0.051 -1.130551 .0018567 _cons | 1.297439 .493986 2.63 0.009 .3292445 2.265634------------------------------------------------------------------------------

Ahora podemos pasar a los detalles de los resultados individuales.

  • El uso de la opción robusta ha dado lugar a un cambio bastante grande en el modelo chi-cuadrado,que ahora es un Wald chi-cuadrado. Esta estadística se basa en pseudo-probabilidades de registro en lugar de probabilidades de registro.
  • Los coeficientes para niños y campistas se pueden interpretar de la siguiente manera:
    • Para cada aumento unitario del niño, el recuento logarítmico esperado de la variable de respuesta disminuye en 1,043.
    • Ser campista aumenta el recuento de troncos esperado .834.
  • El coeficiente de inflado para personas sugiere que para cada unidad aumenta en persona las probabilidades de registro de un cero inflado disminuyen en .564.

Podemos usar los márgenes (introducidos en Stata 11) para ayudar a comprender nuestro modelo. Primero calcularemos los recuentos esperados para la variable categórica camper mientras mantenemos la variable continua hijo en su valor medio utilizando la opción atmeans.

margins camper, atmeansAdjusted predictions Number of obs = 250Model VCE : RobustExpression : Predicted number of events, predict()at : child = .684 (mean) 0.camper = .412 (mean) 1.camper = .588 (mean) persons = 2.528 (mean)------------------------------------------------------------------------------ | Delta-method | Margin Std. Err. z P>|z| -------------+---------------------------------------------------------------- camper | 0 | 1.289132 .4393168 2.93 0.003 .4280866 2.150177 1 | 2.968305 .619339 4.79 0.000 1.754423 4.182187------------------------------------------------------------------------------

El recuento previsto para el número de peces capturados por no acampantes es de 1.289, mientras que para los campistas es de 2.968 en los medios de los niños y las personas.

Utilizando la opción dydx se calcula la diferencia en los conteos esperados entre camper = 0 y camper = 1 mientras se mantiene al niño en su media de.684 y personas en su media de 2.528.

margins, dydx(camper) atmeansConditional marginal effects Number of obs = 250Model VCE : RobustExpression : Predicted number of events, predict()dy/dx w.r.t. : 1.camperat : child = .684 (mean) 0.camper = .412 (mean) 1.camper = .588 (mean) persons = 2.528 (mean)------------------------------------------------------------------------------ | Delta-method | dy/dx Std. Err. z P>|z| -------------+---------------------------------------------------------------- 1.camper | 1.679173 .7754611 2.17 0.030 .1592975 3.199049------------------------------------------------------------------------------Note: dy/dx for factor levels is the discrete change from the base level.

La diferencia en el número de peces capturados por campistas y no campistas es de 1.679, lo que es estadísticamente significativo.

El comando One last margins dará los recuentos esperados para los valores de hijo de cero a tres en ambos niveles de camper.

El número esperado de peces capturados disminuye a medida que aumenta el número de niños para las personas con y sin autocaravanas.

Varios indicadores de ajuste de modelos están disponibles utilizando el comando fitstat, que es parte de las utilidades spostado de J. Scott Long y Jeremy Freese (buscar spostado).

fitstatMeasures of Fit for zip of countLog-Lik Intercept Only: -1127.023 Log-Lik Full Model: -1031.608D(244): 2063.217 LR(4): 190.829 Prob > LR: 0.000McFadden's R2: 0.085 McFadden's Adj R2: 0.079ML (Cox-Snell) R2: 0.534 Cragg-Uhler(Nagelkerke) R2: 0.534AIC: 8.301 AIC*n: 2075.217BIC: 715.980 BIC': -168.743BIC used by Stata: 2090.824 AIC used by Stata: 2073.217

Cosas a tener en cuenta

  • Dado que zip tiene un modelo de conteo y un modelo de logit, cada uno de los dos modelos debe tener buenos predictores. Los dos modelos no necesitan necesariamente utilizar los mismos predictores.
  • Los problemas de predicción perfecta, separación o separación parcial pueden ocurrir en la parte lógica del modelo inflado cero.
  • Los datos de conteo a menudo usan variables de exposición para indicar el número de veces que el evento pudo haber ocurrido. Puede incorporar la exposición en su modelo utilizando la opción exposure ().
  • No se recomienda aplicar modelos de poisson inflados cero a muestras pequeñas. Lo que constituye una muestra pequeña no parece estar claramente definido en la literatura.
  • Los valores pseudo-R-cuadrados difieren de los R-cuadrados OLS, consulte las preguntas frecuentes: ¿Qué son los pseudo-cuadrados R? para un debate sobre esta cuestión.

Ver también

  • Manual en línea de Stata
    • zip
  • Comandos Stata relacionados
    • nbreg-regresión binomial negativa inflada a cero.
  • Cameron, A. Colin and Trivedi, P. K. (2009) Microeconometría stata. College Station, TX: Stata Press.
  • Long, J. Scott, & Freese, Jeremy (2006). Modelos de Regresión para Variables Dependientes Categóricas Utilizando Stata (Segunda Edición). College Station, TX: Stata Press.
  • Long, J. Scott (1997). Modelos de Regresión para Variables Dependientes Categóricas y Limitadas. Thousand Oaks, CA: Sage Publications.



+