Simulieren Sie aus einer Null-aufgeblasenen Poisson-Verteilung

9

Ich versuche aus beobachteten Daten zu simulieren, dass ich zu einem Poisson-Regressionsmodell ohne Inflation passt. Ich passe die Daten in R an, indem ich sie zeroinfl()aus dem Paket verwende pscl, aber ich habe Probleme herauszufinden, wie ich die ZIP-Verteilung aus den Koeffizientenschätzungen ableiten kann.

Ich weiß, wie ich die vorhergesagten Zählungen aus diesen Koeffizientenschätzungen ableiten kann (weitere Informationen hier: http://www.ats.ucla.edu/stat/stata/faq/predict_zip.htm ), aber kann mir jemand helfen, zu verstehen, wie man / findet? Ableiten von Schätzungen für meine Verteilungsparameter (dh Lambda für die Poisson-Verteilung, p für die Bernoulli-Verteilung), aus denen ich dann eine Stichprobe erstellen kann?

lhz
quelle

Antworten:

20

Sie können die Wahrscheinlichkeit einer Nullinflation durch erhalten

p <- predict(object, ..., type = "zero")

und der Mittelwert der Zählverteilung durch

lambda <- predict(object, ..., type = "count")

In Anhang C von finden Sie vignette("countreg", package = "pscl")einige weitere Einzelheiten.

Um die Verteilung zu simulieren, können Sie dies entweder manuell tun

ifelse(rbinom(n, size = 1, prob = p) > 0, 0, rpois(n, lambda = lambda))

oder Sie können rzipois()aus dem VGAMPaket verwenden

library("VGAM")
rzipois(n, lambda = lambda, pstr0 = p)

was im Wesentlichen auch ein ifelse()wie oben macht, aber ein paar Sanity Checks etc. hinzufügt.

Achim Zeileis
quelle