R Programming/Count Data Models

      The Poisson model

      Fake data simulations

      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)
      plot(x,y)
      


      Maximum likelihood

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

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

      Bayesian estimation

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

      library("MCMCpack")
      posterior <- MCMCpoisson(y ~ x, data = df)
      plot(posterior)
      summary(posterior)
      
      ↑Jump back a section

      Overdispersion test

      • dispersiontest() (AER package) provides a test for equidispersion.
      ↑Jump back a section

      Zero inflated model

      See the zic package[1]

      ↑Jump back a section

      Bivariate poisson regression

      • bivpois package for bivariate poisson regression.
      ↑Jump back a section

      References

      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
      ↑Jump back a section
      Last modified on 24 October 2011, at 16:19