Zero-Inflated-Count-Modelle in R: Was ist der wahre Vorteil?


11

Für die Analyse der Anzahl der nicht aufgeblasenen Vögel möchte ich Modelle mit der Anzahl der nicht aufgeblasenen Vögel unter Verwendung des R-Pakets pscl anwenden . Wenn ich mir jedoch das Beispiel in der Dokumentation für eine der Hauptfunktionen ( ? Zeroinfl ) ansehe , bezweifle ich, was der wahre Vorteil dieser Modelle ist. Gemäß dem dort angegebenen Beispielcode berechnete ich Standard-Poisson-, Quasi-Poisson- und negative Bionomialmodelle, einfache Poisson- und negative Binomialmodelle mit Null-Inflation und Null-Inflations-Poisson- und Negativ-Binomial-Modelle mit Regressoren für die Nullkomponente. Dann überprüfte ich die Histogramme der beobachteten und der angepassten Daten. (Hier ist der Code zum Replizieren.)

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

Histogramm der beobachteten und angepassten Daten

Ich kann keinen grundlegenden Unterschied zwischen den verschiedenen Modellen feststellen (ansonsten erscheinen mir die Beispieldaten nicht sehr "null-aufgeblasen" ...); Tatsächlich liefert keines der Modelle eine halbwegs vernünftige Schätzung der Anzahl der Nullen. Kann jemand erklären, was der Vorteil der Modelle ohne Luftdruck ist? Ich nehme an, es muss einen Grund gegeben haben, dies als Beispiel für die Funktion zu wählen.

Antworten:


15

Ich denke, dies ist ein schlecht ausgewählter Datensatz, um die Vorteile von Modellen ohne Inflation zu untersuchen, da es, wie Sie bemerken, nicht so viel Inflation ohne Inflation gibt.

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

zeigt, dass die vorhergesagten Werte nahezu identisch sind.

In Datensätzen mit mehr Nullinflation liefern die ZI-Modelle andere (und normalerweise besser passende) Ergebnisse als Poisson.

Eine andere Möglichkeit, die Anpassung der Modelle zu vergleichen, besteht darin, die Größe der Residuen zu vergleichen:

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

zeigt, dass auch hier die Residuen aus dem Poisson kleiner sind als die aus dem ZINB. Wenn Sie eine Vorstellung von einer Größe des Residuums haben, die wirklich problematisch ist, können Sie sehen, welcher Anteil der Residuen in jedem Modell darüber liegt. Zum Beispiel, wenn es nicht akzeptabel war, um mehr als 1 auszusteigen

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

zeigt, dass letzteres etwas besser ist - 20 weniger große Residuen.

Dann stellt sich die Frage, ob sich die zusätzliche Komplexität der Modelle für Sie lohnt.


6

Die angepassten Werte zeigen aufgrund zufälliger Abweichungen eine geringere Streuung als die beobachteten Werte. Sie machen keinen aussagekräftigen Vergleich. Um einen einfachen Fall zu nehmen, wenn Ihre Daten gerecht wärenX.ichP.Öichs(μ) Sie würden kein Histogramm von vergleichen xich gegen ein Histogramm des angepassten Wertes μ^ - für alle gleich ich! Es wäre jedoch sinnvoll, Werte von zu simulierenxich von X.ichP.Öichs(μ^) & Histogramme von vergleichen xich & xich.


Welche andere Art von Vergleich würden Sie empfehlen?
user7417

Siehe Peters Antwort für gute Vergleiche zwischen Modellen.
Scortchi - Monica wieder einsetzen
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.