¿Paquete R / Stata para GEE binomial negativo truncado cero?

13

Esta es mi primera publicación. Estoy realmente agradecido por esta comunidad.

Estoy tratando de analizar datos de recuento longitudinal truncados a cero (probabilidad de que la variable de respuesta = 0 sea 0), y la media! = Varianza, por lo que se eligió una distribución binomial negativa sobre un poisson.

Funciones / comandos que he descartado:

R

  • La función gee () en R no tiene en cuenta el truncamiento 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 que no puedo reajustar los modelos usando una estructura de correlación no independiente.

Stata

  • Si los datos no fueran longitudinales, podría usar los paquetes Stata ztnb para ejecutar mi análisis, PERO ese comando supone que mis observaciones son independientes.

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

Por ahora, me he decidido por el comando xtgee de Stata (sí, sé que xtnbreg también hace lo mismo) que tiene en cuenta tanto las estructuras de correlación no independientes como la familia binomial neg, pero no el truncamiento cero. El beneficio adicional de usar xtgee es que también puedo calcular valores qic (usando el comando qic) para determinar las estructuras de correlación de mejor ajuste para mis variables de respuesta.

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

Agradecería mucho cualquier idea que pueda tener. Gracias.

-Casey

Iris Tsui
fuente

Respuestas:

12

Para R, me vienen a la mente dos opciones, con las cuales solo estoy vagamente familiarizado en el mejor de los casos.

El primero es el psclpaquete, que puede adaptarse a modelos inflados truncados y con obstáculos de una manera muy agradable y flexible. El psclpaquete sugiere el uso del sandwichpaquete que proporciona "estimadores de error estándar robustos para modelos de datos transversales, de series de tiempo y longitudinales". Para que pueda ajustarse a su modelo de conteo y luego usar elsandwich paquete para estimar una matriz de covarianza apropiada para los residuos teniendo en cuenta la naturaleza longitudinal de los datos.

La segunda opción podría ser buscar el geepackpaquete que parece que puede hacer lo que desea, pero solo para un modelo binomial negativo con theta conocido, ya que se ajustará a cualquier tipo de GLM que la glm()función de R pueda (así que use la función familiar de MASS) .

Una tercera opción ha elevado su cabeza: gamlssy es un paquete complementario gamlss.tr. Este último incluye una función gen.trun()que puede convertir cualquiera de las distribuciones admitidas gamlss()en una distribución truncada de manera flexible; por ejemplo, puede especificar la izquierda truncada en 0 distribución binomial negativa. gamlss()incluye soporte para efectos aleatorios que deben tener en cuenta la naturaleza longitudinal de los datos. Sin embargo, no está claro de inmediato si tiene que usar al menos una función uniforme de una covariable en el modelo o simplemente puede modelar todo como funciones lineales como en un GLM.

Restablece a Mónica - G. Simpson
fuente
El paquete pscl, creo, solo se ajusta a los modelos con inflado cero y obstáculos. Los modelos de obstáculo incorporan un componente de conteo truncado a la izquierda y un componente de obstáculo censurado a la derecha. No sé cómo, ni siquiera si puedo ejecutar un modelo de obstáculo sin el componente de obstáculo, pero analizaré el paquete sandwick. En cuanto al paquete geepack, parece tener el mismo problema que el paquete gee; cuando especifique una familia "negativa.binomial" (de MASS), sin especificar un theta, pedirá un theta. Sin embargo, cuando especifique un valor theta, generará un error diciendo que es una familia no reconocida.
Iris Tsui
@Casey: lo siento, leí mal sus requisitos con respecto al truncamiento cero. Es una pena que geepack no funcione con esa función familiar. Si pienso en otra cosa, actualizaré aquí.
Restablece a Monica - G. Simpson
@Casey He agregado una nota sobre el gamlsspaquete que también podría ajustarse a la factura en R.
Restablece a Monica - G. Simpson
Aceptar su respuesta debido a las múltiples sugerencias de recursos y funciones que han mejorado mi comprensión. Parece que 'gamlss' sería una forma posible de resolver mi problema, pero debido a que en realidad no soy estadístico, actualmente no tengo los antecedentes en matemáticas ni el tiempo para abrir esa lata de gusanos en este momento (pero quizás eventualmente lo haga). Como se mencionó en otro comentario, al menos para mis datos, parece que ignorar el truncamiento cero no cambiará mucho mis estimaciones y errores estándar. Para mi audiencia prevista, creo que un GEE nbinomial funcionará bien. ¡Gracias!
Iris Tsui
9

Hmm, buena primera pregunta! No conozco un paquete que cumpla con sus requisitos precisos. Creo que el xtgee de Stata es una buena opción si también especificas la vce(robust)opción de dar los errores estándar de Huber-White, o vce(bootstrap)si eso es práctico. Cualquiera de estas opciones asegurará que los errores estándar se estimen de manera consistente a pesar de la especificación errónea del modelo que tendrá al ignorar el truncamiento cero.

Eso deja la pregunta de qué efecto tendrá en ignorar el truncamiento cero en las estimaciones puntuales que le interesan. Vale la pena realizar una búsqueda rápida para ver si hay literatura relevante sobre esto en general, es decir, no necesariamente en un contexto GEE; habría pensado que puede asumir con bastante seguridad que tales resultados también serán relevantes en el caso GEE. Si no puede encontrar nada, siempre puede simular datos con truncamiento cero y estimados de efectos conocidos y evaluar el sesgo mediante simulación.

una parada
fuente
1
Me aseguré de estimar errores estándar robustos. Además, en el libro "Modelos de efectos mixtos y extensiones en ecología con R" de Zuur, et al, 2009, en la página 261, mencionan, "si la media de la variable de respuesta es relativamente grande, ignorando el problema de truncamiento, luego aplicando un modelo lineal generalizado de Poisson o binomio negativo (NB), es poco probable que cause un problema ". Afortunadamente, los medios de mis variables de respuesta son grandes, por lo que me siento un poco más cómodo desprotegiendo el truncamiento cero en comparación con el GEE y los aspectos negbinomiales de mis regresiones.
Iris Tsui
¡Parece que ya sabes más sobre este tema que yo! O cualquier otra persona en este sitio, a juzgar por la falta de otras respuestas.
parada
Es un poco increíble; ¿Quién sabía que los datos de recuento longitudinal sobredispersos serían tan difíciles de analizar (sin hacer un GLMM, que ni siquiera he pensado en hacer aún)? Si solo mis datos estuvieran inflados a cero, esa sería otra historia.
Iris Tsui
5

Tuve el mismo problema en mi disertación. En Stata, acabo de construir un programa .ado personalizado con dos llamadas a xtgee.

Para esto, encontré que las diapositivas / programas "Modelado de costos y cuentas de atención médica" de Partha Deb, Willard Manning y Edward Norton son útiles. No hablan de datos longitudinales, pero es un punto de partida útil.

Keith
fuente
1

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

Mire el paquete glmmADMB cuando use modelos de obstáculo. Debe dividir en dos los análisis de sus datos: uno de ellos trata solo los datos que no son cero. Puede agregar efectos mixtos y elegir la distribución. ¡La condición es que los datos deben estar inflados a cero y no sé si esto cumplió con sus requisitos! De todos modos, ¡espero que lo hayas descubierto hace mucho tiempo!

Marta
fuente