Poisson and negative binomial regression
Models the rate of events per patient, such as exacerbations or admissions, taking follow-up time into account.
Clinical example
The number of asthma exacerbations during follow-up in two treatment arms, where some patients were followed for a shorter time than others.
When to use it
- The outcome is a count of events per patient.
- Patients may have been followed for different lengths of time.
- You want to compare event rates between groups, with or without adjustment.
Assumptions to check
Follow-up time as offset
Include log follow-up time as an offset, so patients followed longer are not counted as having a higher rate.
Check for overdispersion
If the variance of the counts is much larger than the mean, Poisson regression gives intervals that are too narrow. Use negative binomial regression then.
Check first
- Variance roughly equal to the mean
What to report
- Rate ratio with 95% CI
- Number of events and total follow-up time per group
- Whether you used Poisson or negative binomial, and why
Common mistakes
Check for overdispersion
If the variance of the counts is much larger than the mean, Poisson regression gives intervals that are too narrow. Use negative binomial regression then.
Account for follow-up time
Patients followed longer have more time to have events. Include log follow-up time as an offset.
In your software
# R
library(MASS)
fit <- glm.nb(exacerbations ~ arm + age + offset(log(followup_years)), data = trial)
summary(fit)
COMPUTE log_followup = LN(followup_years).
EXECUTE.
GENLIN exacerbations WITH arm age
/MODEL arm age DISTRIBUTION=NEGBIN(MLE) LINK=LOG OFFSET=log_followup
/PRINT FIT SOLUTION (EXPONENTIATE).