Modelli di conteggio a zero zero in R: qual è il vero vantaggio?


11

Per analizzare i conteggi di uccelli a gonfiamento zero, vorrei applicare i modelli di conteggio a gonfiamento zero utilizzando il pacchetto R pscl . Tuttavia, guardando l'esempio fornito nella documentazione per una delle funzioni principali ( ? Zeroinfl ), inizio a dubitare di quale sia il vero vantaggio di questi modelli. In base al codice di esempio fornito, ho calcolato i modelli standard di poisson, quasi-poisson e negativi bionomiali, semplici poisson zero-inflated e modelli binomiali negativi e poisson-inflated zero e modelli binomial negativi con regressori per il componente zero. Quindi ho ispezionato gli istogrammi dei dati osservati e adattati. (Ecco il codice per replicarlo.)

library(pscl)
data("bioChemists", package = "pscl")

## standard count data models
fm_pois  <- glm(art ~ .,    data = bioChemists, family = poisson)
fm_qpois <- glm(art ~ .,    data = bioChemists, family = quasipoisson)
fm_nb    <- glm.nb(art ~ ., data = bioChemists)

## with simple inflation (no regressors for zero component)
fm_zip  <- zeroinfl(art ~ . | 1, data = bioChemists)
fm_zinb <- zeroinfl(art ~ . | 1, data = bioChemists, dist = "negbin")

## inflation with regressors
fm_zip2  <- zeroinfl(art ~ fem + mar + kid5 + phd + ment | fem + mar + kid5 + phd + 
                     ment, data = bioChemists)
fm_zinb2 <- zeroinfl(art ~ fem + mar + kid5 + phd + ment | fem + mar + kid5 + phd + 
                     ment, data = bioChemists, dist = "negbin")

## histograms
breaks <- seq(-0.5,20.5,1)
par(mfrow=c(4,2))
hist(bioChemists$art,  breaks=breaks)
hist(fitted(fm_pois),  breaks=breaks)
hist(fitted(fm_qpois), breaks=breaks)
hist(fitted(fm_nb),    breaks=breaks)
hist(fitted(fm_zip),   breaks=breaks)
hist(fitted(fm_zinb),  breaks=breaks)
hist(fitted(fm_zip2),  breaks=breaks)
hist(fitted(fm_zinb2), breaks=breaks)!

Istogramma dei dati osservati e adattati

Non riesco a vedere alcuna differenza fondamentale tra i diversi modelli (a parte questo i dati di esempio non mi sembrano molto "gonfiati a zero" ...); in realtà nessuno dei modelli fornisce una stima ragionevole a metà del numero di zeri. Qualcuno può spiegare qual è il vantaggio dei modelli a gonfiaggio zero? Suppongo che ci sia stato un motivo per scegliere questo come esempio per la funzione.

Risposte:


15

Penso che questo sia un set di dati mal scelto per esplorare i vantaggi dei modelli a zero inflazione, perché, come notate, non c'è molto zero inflazione.

plot(fitted(fm_pois), fitted(fm_zinb))

mostra che i valori previsti sono quasi identici.

Nei set di dati con più inflazione zero, i modelli ZI forniscono risultati diversi (e generalmente più adeguati) rispetto a Poisson.

Un altro modo per confrontare l'adattamento dei modelli è quello di confrontare la dimensione dei residui:

boxplot(abs(resid(fm_pois) - resid(fm_zinb)))

mostra che, anche qui, i residui del Poisson sono più piccoli di quelli dello ZINB. Se hai un'idea di una grandezza del residuo che è veramente problematica, puoi vedere quale percentuale di residui in ciascun modello è superiore a quella. Ad esempio, se essere fuori da più di 1 era inaccettabile

sum(abs(resid(fm_pois) > 1))
sum(abs(resid(fm_zinb) > 1))

mostra che quest'ultimo è un po 'meglio - 20 residui in meno di grandi dimensioni.

Quindi la domanda è se la complessità aggiunta dei modelli è valsa la pena per te.


6

I valori adattati mostreranno meno dispersione rispetto ai valori osservati a causa della variazione casuale. Non stai facendo un confronto significativo. Per fare un semplice caso, se i tuoi dati fossero solo non confronteresti un istogramma di con un istogramma del valore montato - lo stesso per tutti ! Sebbene sia ragionevole simulare i valori di da e confrontare gli istogrammi di & .Xio~PoioS(μ)Xioμ^ioXio*Xio*~PoioS(μ^)Xio*Xio


Quale altro tipo di confronto consiglieresti?
user7417

Vedi la risposta di Peter per buoni confronti tra i modelli.
Scortchi - Ripristina Monica
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.