R Programming/Count Data Models

The Poisson model edit

Fake data simulations edit

We assume that y follows a poisson distribution with mean exp(1 + 1 * x). We store the data in the "df" dataframe.

N <- 1000
x <- rnorm(N)
alpha <- c(1,1)
y <- rpois(N,exp(alpha[1] + alpha[2] * x))
df <- data.frame(x,y)

Maximum likelihood edit

We estimate this simple model using the glm() function with family = poisson as option.

fit <- glm(y ~ x, family = poisson, data = df)

Bayesian estimation edit

The model can also be estimated using bayesian methods with the MCMCpoisson() function which is provided in the MCMCpack.

posterior <- MCMCpoisson(y ~ x, data = df)

Overdispersion test edit

  • dispersiontest() (AER package) provides a test for equidispersion.

Zero inflated model edit

See the zic package[1]

Bivariate poisson regression edit

  • bivpois package for bivariate poisson regression.

References edit

  1. Markus Jochmann (2010). zic: Bayesian Inference for Zero-Inflated Count Models. R package version 0.5-3. http://CRAN.R-project.org/package=zic
  2. Cameron, A.C. and Trivedi, P.K. (1998). Regression Analysis of Count Data. Cambridge: Cambridge University Press.
  3. Christian Kleiber and Achim Zeileis (2008). Applied Econometrics with R. New York: Springer-Verlag. ISBN 978-0-387-77316-2. URL http://CRAN.R-project.org/package=AER