Pacchetto R / Stata per GEE binomiale negativo troncato zero?


13

Questo è il mio primo post. Sono davvero grato per questa comunità.

Sto cercando di analizzare i dati di conteggio longitudinale troncati a zero (probabilità che la variabile di risposta = 0 sia 0) e la media! = Varianza, quindi una distribuzione binomiale negativa è stata scelta su un poisson.

Funzioni / comandi che ho escluso:

R

  • La funzione gee () in R non tiene conto del troncamento zero né della distribuzione binomiale negativa (nemmeno con il pacchetto MASS caricato)
  • glm.nb () in R non consente diverse strutture di correlazione
  • vglm () dal pacchetto VGAM può usare la famiglia posnegbinomial, ma ha lo stesso problema del comando ztnb di Stata (vedi sotto) in quanto non posso rimontare i modelli usando una struttura di correlazione non indipendente.

Stata

  • Se i dati non fossero longitudinali, potrei semplicemente usare i pacchetti Stata ztnb per eseguire la mia analisi, MA quel comando presuppone che le mie osservazioni siano indipendenti.

Ho anche escluso GLMM per vari motivi metodologici / filosofici.

Per ora, ho optato per il comando xtgee di Stata (sì, so che anche xtnbreg fa la stessa cosa) che tiene conto sia delle strutture di correlazione non indipendenti che della famiglia binomiale neg, ma non del troncamento zero. Il vantaggio aggiuntivo dell'utilizzo di xtgee è che posso anche calcolare i valori qic (usando il comando qic) per determinare le strutture di correlazione più adatte alle mie variabili di risposta.

Se c'è un pacchetto / comando in R o Stata che può prendere in considerazione 1) famiglia nbinomiale, 2) GEE e 3) zero troncamento, morirei per sapere.

Gradirei molto qualsiasi idea tu possa avere. Grazie.

-Casey

Risposte:


12

Per R, mi vengono in mente due opzioni, entrambe delle quali conosco solo vagamente al massimo.

Il primo è il psclpacchetto, che può adattarsi ai modelli gonfiati e a ostacoli troncati zero in un modo molto piacevole e flessibile. Il psclpacchetto suggerisce l'uso del sandwichpacchetto che fornisce "Stimatori di errori standard robusti per modello per dati trasversali, di serie temporali e longitudinali". Quindi potresti adattare il tuo modello di conteggio e quindi utilizzare il sandwichpacchetto per stimare una matrice di covarianza appropriata per i residui tenendo conto della natura longitudinale dei dati.

La seconda opzione potrebbe essere quella di guardare il geepackpacchetto che sembra che possa fare quello che vuoi, ma solo per un modello binomiale negativo con theta noto, poiché si adatta a qualsiasi tipo di GLM che la glm()funzione di R può (quindi usa la funzione di famiglia da MASS) .

Una terza opzione ha sollevato la sua testa: gamlssed è un pacchetto aggiuntivo gamlss.tr. Quest'ultima include una funzione gen.trun()che può trasformare una qualsiasi delle distribuzioni supportate gamlss()in una distribuzione troncata in modo flessibile - ad esempio, è possibile specificare la sinistra troncata a 0 distribuzione binomiale negativa. gamlss()esso stesso include il supporto per effetti casuali che dovrebbero occuparsi della natura longitudinale dei dati. Non è immediatamente chiaro, tuttavia, se è necessario utilizzare almeno una funzione regolare di una covariata nel modello o si può semplicemente modellare tutto come funzioni lineari come in un GLM.


Il pacchetto pscl, credo, si adatta solo ai modelli a gonfiaggio zero e ostacoli. I modelli di ostacolo incorporano sia un componente di conteggio troncato a sinistra che un componente di ostacolo censurato a destra. Non so come o anche se sono in grado di eseguire un modello di ostacolo senza il componente di ostacolo, ma esaminerò il pacchetto sandwick. Per quanto riguarda il pacchetto geepack, sembra avere lo stesso problema del pacchetto gee; quando specifico una famiglia "negative.binomial" (da MASS), senza specificare un theta, verrà richiesto un theta. Tuttavia, quando specifico un valore theta, verrà emesso un errore dicendo che è una famiglia non riconosciuta.
Iris Tsui,

@Casey - scusa se ho letto male i tuoi requisiti per zero troncamento. Peccato che Geepack non funzioni con quella funzione familiare. Se penso a qualcos'altro, aggiornerò qui.
Ripristina Monica - G. Simpson,

@Casey Ho aggiunto una nota sul gamlsspacchetto che potrebbe rientrare anche in R.
Ripristina Monica - G. Simpson,

Accettare la tua risposta a causa dei molteplici suggerimenti per risorse e funzioni che hanno migliorato la mia comprensione. Sembra che "gamlss" sia un modo possibile per risolvere il mio problema, ma poiché in realtà sono un non statistico, al momento non ho un background in matematica né il tempo di aprire quella lattina di worm in questo momento (ma forse alla fine lo farò). Come menzionato in un altro commento, almeno per i miei dati, sembra che ignorare il troncamento zero non cambierà molto le mie stime e gli errori std. Per il mio pubblico previsto, credo che un GEE nbinomiale andrà bene. Grazie!
Iris Tsui,

9

Hmm, buona prima domanda! Non conosco un pacchetto che soddisfi i tuoi precisi requisiti. Penso che l' xtgee di Stata sia una buona scelta se specifichi anche l' vce(robust)opzione per dare errori standard Huber-White, o vce(bootstrap)se è pratico. Ognuna di queste opzioni garantirà che gli errori standard siano costantemente stimati nonostante la mancata specificazione del modello che si avrà ignorando il troncamento zero.

Ciò lascia la questione di quale effetto ignorando il troncamento zero avrà sulla stima / i punti di interesse per te. Vale la pena una rapida ricerca per vedere se esiste una letteratura pertinente su questo in generale, vale a dire non necessariamente in un contesto GEE - avrei pensato che puoi tranquillamente presumere che tali risultati siano rilevanti anche nel caso GEE. Se non riesci a trovare nulla, puoi sempre simulare i dati con stime di troncamento zero e effetti noti e valutare la distorsione mediante simulazione.


1
Mi sono assicurato di stimare errori standard robusti. Inoltre, nel libro "Modelli di effetti misti ed estensioni in ecologia con R" di Zuur, et al, 2009, a pagina 261, citano "se la media della variabile di risposta è relativamente grande, ignorando il problema del troncamento, quindi applicando è improbabile che un modello lineare generalizzato (GLM) di Poisson o negativo binomiale (NB) causi un problema. " Fortunatamente, i mezzi delle mie variabili di risposta sono grandi, quindi mi sento un po 'più a mio agio a depriorizzare il troncamento zero rispetto al GEE e agli aspetti negbinomiali delle mie regressioni.
Iris Tsui,

Sembra che tu sappia già più di questo argomento di me! O chiunque altro su questo sito, a giudicare dalla mancanza di altre risposte.
Onestop,

È un po 'incredibile; chi sapeva che i dati di conteggio longitudinale eccessivamente dispersi sarebbero stati così difficili da analizzare (senza fare un GLMM, che non ho ancora analizzato)? Se solo i miei dati fossero a zero, quella sarebbe un'altra storia.
Iris Tsui,

5

Ho avuto lo stesso problema nella mia tesi di laurea. In Stata, mi sono appena costruito un programma .ado personalizzato con due chiamate a xtgee.

Per questo, ho trovato utili le diapositive / i programmi "Modellare i costi e i conteggi dell'assistenza sanitaria" di Partha Deb, Willard Manning ed Edward Norton. Non parlano di dati longitudinali, ma è un utile punto di partenza.


1

Stavo cercando risposte sull'interpretazione di glmmADMB e ho visto il tuo post. So che è stato tanto tempo fa, ma potrei avere la risposta.

Guarda nel pacchetto glmmADMB quando usi i modelli di ostacolo. Devi dividere in due le analisi dei tuoi dati: una tratta solo i dati no zero. Puoi aggiungere effetti misti e scegliere la distribuzione. La condizione è che i dati debbano essere gonfiati a zero e non so se questo sia adatto alle tue esigenze! Spero comunque che tu l'abbia scoperto molto tempo fa!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.