Ipotesi di regressione di Poisson e come testarle in R


11

Vorrei testare quale regressione si adatta meglio ai miei dati. La mia variabile dipendente è un conteggio e ha molti zeri.

E avrei bisogno di un po 'di aiuto per determinare quale modello e famiglia usare (poisson o quasipoisson, o regressione di poisson zero-inflated) e come testare i presupposti.

  1. Regressione di Poisson: per quanto ho capito, il presupposto forte è che la variabile dipendente media = varianza. Come lo testate? Quanto vicini devono essere? La media e la varianza incondizionata o condizionale sono usate per questo? Cosa devo fare se questo presupposto non regge?
  2. Ho letto che se la varianza è maggiore della media, abbiamo una sovradispersione e un modo potenziale per affrontarla è includere variabili più indipendenti, o family = quasipoisson. Questa distribuzione ha altri requisiti o ipotesi? Quale test devo usare per vedere se (1) o (2) si adatta meglio, semplicemente anova(m1,m2)?
  3. Ho anche letto che la distribuzione binomiale negativa può essere usata quando appare una sovradispersione. Come posso farlo in R? Qual è la differenza con quasipoisson?
  4. Regressione di Poisson a gonfiaggio zero: ho letto che l'uso del test vuong verifica quali modelli si adattano meglio.

    > vuong (model.poisson, model.zero.poisson)

    È corretto? Quali ipotesi ha una regressione a inflazione zero?

  5. Academic Technology Services, Statistical Consulting Group della UCLA ha una sezione sulle regressioni di Poisson a gonfiaggio zero e verifica il modello a zero inflazione (a) rispetto al modello di poisson standard (b):

    > m.a <- zeroinfl(count ~ child + camper | persons, data = zinb)
    > m.b <- glm(count ~ child + camper, family = poisson, data = zinb)
    > vuong(m.a, m.b)

Non capisco cosa fa la | personsparte del primo modello e perché è possibile confrontare questi modelli. Mi aspettavo che la regressione fosse la stessa e usassi solo una famiglia diversa.

Risposte:


8

X¯S2F(1,n1)n

Nota che questo test ignora le covariate, quindi probabilmente non è il modo migliore per controllare l'eccessiva dispersione in quella situazione.

Si noti inoltre che questo test è probabilmente debole rispetto all'ipotesi zero-inflated.

3) binomio negativo in R: usare glm.nbdal MASSpacchetto o usare la zeroinflfunzione dal psclpacchetto usando il collegamento binomiale negativo.

4) zip (Poisson gonfiato a zero) è un modello di miscela. Hai un risultato binario, in base al quale un soggetto appartiene al gruppo A (dove uno 0 è certo) o al gruppo B (dove i conteggi sono Poisson o neg binomiali distribuiti). Uno 0 osservato è dovuto a soggetti del gruppo A + soggetti del gruppo B che sono stati fortunati. Entrambi gli aspetti del modello possono dipendere dalle covariate: l'appartenenza al gruppo è modellata come una logistica (le probabilità del log sono lineari nelle covariate) e la parte di Poisson è modellata nel solito modo: la media dei log è lineare nelle covariate. Quindi hai bisogno dei soliti presupposti per una logistica (per la certa parte 0) e dei soliti presupposti per un Poisson. In altre parole, un modello zip non risolverà i tuoi problemi di sovradispersione: cura solo una grande quantità di zero.

5) non sono sicuro del set di dati e non sono riuscito a trovare il riferimento. zeroinfl necessita di un modello sia per la parte di Poisson che per la parte binaria (certa 0 o no). La parte 0 certa diventa seconda. Quindi sta dicendo che se la persona è un certo 0 dipende o meno dalle "persone" - e supponendo che il soggetto non sia un certo 0, il conteggio è una funzione di camper e bambino. In altre parole, log (mean) è una funzione lineare di camper e bambino per quei soggetti che non richiedono un conteggio 0.

mb è solo un modello lineare generale di conteggio in termini di camper e bambino, entrambi considerati effetti fissi. La funzione di collegamento è Poisson.


Grazie! Una domanda veloce: c'è un modo per produrre r ^ 2 o pseudo-r ^ 2 come Nagelkerke in glm usando family = poisson in R? Grazie!
Torvon,

0
  1. biblioteca (pastecs)

stat.desc (dep_var) - e quindi dai un'occhiata se la media e la varianza sono uguali. Da qui puoi anche calcolare la% di zero nel tuo vettore.


3
Benvenuti nel sito. È più un commento che una risposta; inoltre, è meglio usare l'ortografia corretta e così via - questo non è un sms e molte persone che leggono questo sito hanno l'inglese come seconda, terza o terza lingua ....
Peter Flom - Ripristina Monica

3
Per favore, lavora per migliorare questa rapida risposta.
chl
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.