Correlated Poissons

A graduate student came to see me the other day with a bivariate Poisson distribution and a question about using EM in this framework. The problem boils down to adding one correlation parameter and an extra term in the likelihood

(1-\rho)^{n_1}(1+\lambda\rho)^{n_2}(1+\mu\rho)^{n_3}(1-\lambda\mu\rho)^{n_4}\quad 0\le\rho\le\min(1,\frac{1}{\lambda\mu})

Both terms involving sums are easy to deal with, using latent variables as in mixture models. The subtractions are trickier, as the negative parts cannot appear in a conditional distribution. Even though the problem can be handled by a direct numerical maximisation or by an almost standard Metropolis-within-Gibbs sampler, my suggestion regarding EM per se was to proceed by conditional EM, one parameter at a time. For instance, when considering \rho conditional on both Poisson parameters, depending on whether \lambda\mu>1 or not, one can consider either


and turn

(1-\theta/\lambda\mu) \text{ into } (1-\theta+\theta\{1-\frac{1}{\lambda\mu}\})

thus producing a Beta-like target function in \theta after completion, or turn

(1-\lambda\mu\rho) \text{ into } (1-\rho+\{1-\lambda\mu\}\rho)

to produce a Beta-like target function in \rho after completion. In the end, this is a rather pedestrian exercise and I am still frustrated at missing the trick to handle the subtractions directly, however it was nonetheless a nice question!

2 Responses to “Correlated Poissons”

  1. Actually, the bivariate Poisson regression has been programmed in the bivpois package, in R (as far as I remember, it was using that EM algorithm you mention). But for some reason, it cannot be installed anymore
    “Package ‘bivpois’ was removed from the CRAN repository”
    anyone knows why ? are there any problem with that package ?

    • I’ve been told that packages can drop out of CRAN when a new version of R is released. The CRAN people run their suite of tests, and a package fails to pass, then it is moved from the repository to the archive. It is the responsibility of the package maintainer, if any, to get the package back into the repository.

      Archived packages can still installed with a little work.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.