Probability & Statistics

Zero Inflated Poisson

Separate structural zeros from ordinary Poisson zeros and see how mixing changes count variability.

By Riano · Published · Updated · Report a correction

Zero Inflated Poisson

More Zeros Than Expected

Many real-world counts exhibit more zeros than a standard Poisson distribution predicts. A zero-inflated Poisson (ZIP) model mixes a structural point mass at 0 with weight π and a regular Poisson(λ) distribution with weight 1 - π. This allows for separating zeros from the structural state from zeros arising by chance in the active Poisson state. An observed zero alone does not identify its latent source; the stacked bar is a model decomposition.

Mixing the Distributions

The probability mass function (PMF) is defined piecewise. The structural zero weight π contributes only to K = 0. The remaining probability 1 - π is distributed according to a Poisson(λ) model:

P(K = 0) = π + (1 - π)e-λ
P(K = k) = (1 - π) (e-λ λk / k!) for k > 0

Setting π = 0 recovers the standard Poisson distribution. Setting λ = 0 or π = 1 results in a guaranteed point mass at 0.

A Worked Example

Consider a Zero Inflated Poisson with λ = 2 and π = 0.25 (a structural-zero probability of 25%). Let's calculate the probabilities for small counts.

  1. For K = 0: P(K = 0) = 0.25 + 0.75 * e-2 ≈ 0.25 + 0.75 * 0.135335 = 0.351501462427
  2. For K = 1: P(K = 1) = 0.75 * (e-2 * 21 / 1!) ≈ 0.75 * 0.270670 = 0.203002924855
  3. For K = 2: P(K = 2) = 0.75 * (e-2 * 22 / 2!) ≈ 0.203002924855
  4. The expected value (mean) is E[K] = (1 - π)λ = 0.75 * 2 = 1.5
  5. The variance is Var(K) = (1 - π)λ(1 + πλ) = 0.75 * 2 * (1 + 0.25 * 2) = 1.5 * 1.5 = 2.25

The variance exceeds the mean (2.25 > 1.5), which illustrates overdispersion caused by the structural zeros.

Interactive Experiment

Open the Zero Inflated Poisson explorer.

  1. Set Poisson rate lambda to 2 and Structural-zero probability to 0.25.
  2. Select Count k = 2. Notice the calculated PMF is approximately 0.203002924855.
  3. Change the count to 0. The Total P(K=0) displays 0.351501462427. The bar chart at 0 stacks the structural zero part (0.25) and the Poisson zero part (~0.1015).
  4. Adjust the structural-zero probability to 0. Notice the variance drops to equal the mean, recovering a standard Poisson distribution.

Limitations

This explorer truncates the visualized domain at K = 8. For larger rates λ, the unplotted right tail can become significant. The Zero-Inflated Poisson model assumes a single constant λ for the active state; real datasets might require mixing structural zeros with negative binomial distributions (ZINB) if the active state itself is overdispersed.

References

Primary references and sources read for the implementation and models in this module:

Experience it interactively

Adjust parameters, observe in real time, and build deep intuition with Riano’s interactive Zero Inflated Poisson module.

Try Zero Inflated Poisson on Riano →

More in Probability & Statistics