Modele z zerowym zawyżeniem w R: jaka jest prawdziwa zaleta?

11

Do analizy liczby ptaków z zerowym napełnieniem chciałbym zastosować modele zliczania z zerowym napełnieniem przy użyciu pakietu R pscl . Jednak patrząc na przykład podany w dokumentacji dla jednej z głównych funkcji ( ? Zeroinfl ), zaczynam wątpić, jaka jest prawdziwa zaleta tych modeli. Zgodnie z podanym tam kodem próbki obliczyłem standardowe modele bionomalne Poissona, quasi-Poissona i ujemne, proste dwumianowe modele Poissona z dodatnim zerem i ujemne modele dwumianowe z nadymanym zerowym i Poison i dwumianowe z regresorami dla komponentu zerowego. Następnie sprawdziłem histogramy zaobserwowanych i dopasowanych danych. (Oto kod do jego replikacji.)

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)!

Histogram zaobserwowanych i dopasowanych danych

Nie widzę żadnej zasadniczej różnicy między różnymi modelami (poza tym przykładowe dane nie wydają mi się zbyt „zerowe”…); w rzeczywistości żaden z modeli nie daje w połowie rozsądnego oszacowania liczby zer. Czy ktoś może wyjaśnić, jakie są zalety modeli z zerowym napełnieniem? Przypuszczam, że musiał istnieć powód, aby wybrać to jako przykład funkcji.

użytkownik7417
źródło

Odpowiedzi:

15

Myślę, że jest to źle dobrany zestaw danych do badania zalet modeli z zerowym zawyżeniem, ponieważ, jak zauważasz, nie ma tak bardzo zerowej inflacji.

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

pokazuje, że przewidywane wartości są prawie identyczne.

W zestawach danych z większą inflacją zerową modele ZI dają inne (i zwykle lepiej dopasowane) wyniki niż Poisson.

Innym sposobem na porównanie dopasowania modeli jest porównanie wielkości resztek:

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

pokazuje, że nawet tutaj resztki z Poissona są mniejsze niż te z ZINB. Jeśli masz pojęcie o wielkości reszty, która jest naprawdę problematyczna, możesz zobaczyć, jaki odsetek reszty w każdym modelu jest powyżej tej wartości. Np. Jeśli wyjazd o więcej niż 1 był nie do przyjęcia

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

pokazuje, że ta ostatnia jest nieco lepsza - o 20 mniej dużych reszt.

Zatem pytanie brzmi, czy dodatkowa złożoność modeli jest tego warta.

Peter Flom - Przywróć Monikę
źródło
6

XiPois(μ)xiμ^jaxjaXjaP.ojas(μ^)xjaxja

Scortchi - Przywróć Monikę
źródło
Jaki inny rodzaj porównania poleciłbyś?
user7417,
Zobacz odpowiedź Piotra, aby uzyskać dobre porównania między modelami.
Scortchi - Przywróć Monikę