13 votos

Paquete R/Stata para GEE binomial negativa truncada por cero?

Este es mi primer post. Estoy realmente agradecido por esta comunidad.

Estoy intentando analizar datos longitudinales de recuento que están truncados por cero (la probabilidad de que la variable de respuesta sea = 0 es 0), y la media != varianza, por lo que se eligió una distribución binomial negativa en lugar de una poisson.

Funciones/comandos que he descartado:

R

  • la función gee() en R no tiene en cuenta el truncamiento por cero ni la distribución binomial negativa (ni siquiera con el paquete MASS cargado)
  • glm.nb() en R no permite diferentes estructuras de correlación
  • vglm() del paquete VGAM puede hacer uso de la familia posnegbinomial, pero tiene el mismo problema que el comando ztnb de Stata (ver más abajo) en el sentido de que no puedo reajustar los modelos utilizando una estructura de correlación no independiente.

Stata

  • Si los datos no fueran longitudinales, podría utilizar el paquete ztnb de Stata para realizar mi análisis, PERO ese comando asume que mis observaciones son independientes.

También he descartado el GLMM por varias razones metodológicas/filosóficas.

Por ahora, me he decidido por el comando xtgee de Stata (sí, ya sé que xtnbreg también hace lo mismo) que tiene en cuenta tanto las estructuras de correlación no independientes como la familia neg binomial, pero no el truncamiento por cero. La ventaja añadida de utilizar xtgee es que también puedo calcular valores qic (utilizando el comando qic) para determinar las estructuras de correlación que mejor se ajustan a mis variables de respuesta.

Si hay un paquete/comando en R o Stata que pueda tener en cuenta 1) familia nbinomial, 2) GEE y 3) truncamiento cero, me moriría por saberlo.

Le agradecería mucho cualquier idea que se le ocurra. Muchas gracias.

-Casey

12voto

David J. Sokol Puntos 1730

Para R me vienen a la mente dos opciones, con las que, en el mejor de los casos, sólo estoy vagamente familiarizado.

El primero es el pscl paquete, que puede caber cero truncado modelos inflados y de obstáculos de una manera muy agradable y flexible. El sitio pscl sugiere el uso del paquete sandwich que proporciona "Estimadores de errores estándar basados en modelos para datos transversales, de series temporales y longitudinales". Así que podría ajustar su modelo de recuento y luego utilizar el paquete sandwich para estimar una matriz de covarianza adecuada para los residuos teniendo en cuenta la naturaleza longitudinal de los datos.

La segunda opción podría ser buscar el geepack que parece que puede hacer lo que quieres, pero sólo para un modelo binomial negativo con theta conocido, ya que se ajustará a cualquier tipo de GLM que el paquete de R glm() puede (así que utiliza la función de familia del MASS).

Ha surgido una tercera opción: gamlss y su paquete complementario gamlss.tr . Este último incluye una función gen.trun() que puede convertir cualquiera de las distribuciones soportadas por gamlss() en una distribución truncada de forma flexible - puede especificar truncada a la izquierda en 0 distribución binomial negativa por ejemplo. gamlss() incluye soporte para efectos aleatorios, lo que debería tener en cuenta la naturaleza longitudinal de los datos. Sin embargo, no está claro si hay que utilizar al menos una función suave de una covariable en el modelo o si se puede modelizar todo como funciones lineales, como en un MLG.

9voto

Berek Bryan Puntos 349

Hmm, ¡buena primera pregunta! No conozco ningún paquete que responda exactamente a sus necesidades. Creo que el paquete xtgee es una buena opción si también se especifica el vce(robust) para obtener errores estándar Huber-White, o bien vce(bootstrap) si resulta práctico. Cualquiera de estas opciones asegurará que los errores estándar sean estimados consistentemente a pesar de la mala especificación del modelo que tendrá al ignorar el truncamiento cero.

Eso deja la cuestión de qué efecto tendrá ignorar el truncamiento cero en la estimación o estimaciones puntuales que te interesan. Merece la pena hacer una búsqueda rápida para ver si hay literatura relevante sobre esto en general, es decir, no necesariamente en un contexto GEE -- yo habría pensado que se puede asumir con bastante seguridad que cualquier resultado de este tipo será relevante en el caso GEE también. Si no encuentra nada, siempre puede simular los datos con truncamiento cero y estimaciones de efecto conocidas y evaluar el sesgo mediante simulación.

5voto

cotroxell Puntos 126

Tuve el mismo problema en mi tesis. En Stata, acabo de construirme un programa .ado personalizado con dos llamadas a xtgee.

Para ello, he encontrado el "Modelización de costes y recuentos sanitarios" diapositivas/programas de Partha Deb, Willard Manning y Edward Norton. No hablan de datos longitudinales, pero es un punto de partida útil.

1voto

David Puntos 49

Estaba buscando respuestas sobre la interpretación glmmADMB y vi tu post. Sé que fue hace mucho tiempo, pero podría tener la respuesta.

Busca en el paquete glmmADMB cuando utilices modelos de obstáculos. Tiene que dividir en dos los análisis de sus datos: uno de ellos trata sólo los datos no nulos. Puede añadir efectos mixtos y elegir la distribución. La condición es que los datos sean cero-inflados y no sé si esto se ajusta a tus requisitos. En cualquier caso, ¡espero que lo hayas descubierto hace tiempo!

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