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 = 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.
- For K = 0: P(K = 0) = 0.25 + 0.75 * e-2 ≈ 0.25 + 0.75 * 0.135335 = 0.351501462427
- For K = 1: P(K = 1) = 0.75 * (e-2 * 21 / 1!) ≈ 0.75 * 0.270670 = 0.203002924855
- For K = 2: P(K = 2) = 0.75 * (e-2 * 22 / 2!) ≈ 0.203002924855
- The expected value (mean) is E[K] = (1 - π)λ = 0.75 * 2 = 1.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.
- Set Poisson rate lambda to 2 and Structural-zero probability to 0.25.
- Select Count k = 2. Notice the calculated PMF is approximately 0.203002924855.
- 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).
- 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 →