Suppose $ \textbf{Y} = (Y_1, \dots, Y_n)'$ are independent and

$$\eqalign{ Y_i = 0 & \text{with probability} \ p_i+(1-p_i)e^{-\lambda_i}\\ Y_i = k & \text{with probability} \ (1-p_i)e^{-\lambda_i} \lambda_{i}^{k}/k! }$$

Also suppose the parameters $\mathbf{\lambda} = (\lambda_1, \dots, \lambda_n)'$ and $\textbf{p} = (p_1, \dots, p_n)$ satisfy

$$\eqalign{ \log(\mathbf{\lambda}) &= \textbf{B} \beta \\ \text{logit}(\textbf{p}) &= \log(\textbf{p}/(1-\textbf{p})) = \textbf{G} \mathbf{\lambda}. }$$

If the same covariates affect $\mathbf{\lambda}$ and $\textbf{p}$ so that $\textbf{B} = \textbf{G}$, then why does zero inflated Poisson regression require twice as many parameters as Poisson regression?

  • 2
    $\begingroup$ You still have to estimate $\beta$ and $\lambda$. $\bf B$ and $\bf G$ are design matrices (data), so those being equal doesn't reduce the dimension of the parameter space. $\endgroup$
    – Macro
    Jul 10, 2012 at 20:58
  • $\begingroup$ @Macro: If $\textbf{G}$ is a column of ones, then why would we need 1 more parameter to estimate than poisson regression? $\endgroup$
    – Damien
    Jul 10, 2012 at 21:02
  • $\begingroup$ well you'd need to estimate $p_i$ (the "intercept" in the logistic part of the model) and $\lambda_i$ (the "intercept" in the Poisson part of the model) so there are 2 parameters instead of 1. $\endgroup$
    – Macro
    Jul 10, 2012 at 21:04
  • 1
    $\begingroup$ @Robby, to reduce the number of parameters you'd have to make some constraints. For example, $\lambda=\beta$, although there is no reason to think that this makes sense - especially since the link functions are different. $\endgroup$
    – Macro
    Jul 10, 2012 at 22:33
  • 3
    $\begingroup$ @MichaelChernick - it's called zero-inflated Poisson because you're basically "inflating" the probability of seeing a zero from a Poisson dist'n while maintaining the same relative probabilities of seeing a non-zero value as the Poisson has. $\endgroup$
    – jbowman
    Jul 11, 2012 at 18:12

1 Answer 1


In the zero-inflated Poisson case, if $\mathbf{B}=\mathbf{G}$, then $\beta$ and $\lambda$ both have the same length, which is the number of columns of $\mathbf{B}$ or $\mathbf{G}$. So the number of parameters is twice the number of columns of the design matrix ie twice the number of explanatory variables including the intercept (and whatever dummy coding was needed).

In a straight Poisson regression, there is no $\mathbf{p}$ vector to worry about, no need to estimate $\lambda$. So the number of parameters is just the length of $\beta$ ie half the number of parameters in the zero-inflated case.

Now, there's no particular reason why $\mathbf{B}$ has to equal $\mathbf{G}$, but generally it makes sense. However, one could imagine a data generating process where the chance of having any events at all is created by one process $\mathbf{G\lambda}$ and a completely different process $\mathbf{B\beta}$ drives how many events there are, given non-zero events. As a contrived example, I pick classrooms based on their History exam scores to play some unrelated game, and then observe the number of goals they score. In this case $\mathbf{B}$ might be quite different to $\mathbf{G}$ (if the things driving History exam scores are different to those driving performance in the game) and $\beta$ and $\lambda$ could have different lengths. $\mathbf{G}$ might have more columns than $\mathbf{B}$ or less. So the zero-inflated Poisson model in that case will have more parameters than a simple Poisson model.

In common practice I think $\mathbf{G} = \mathbf{B}$ most of the time.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.