**Version info:** Code for this page was tested in Mplus version 6.12.

Negative binomial regression is used to model count variables with overdispersion.

**Please note: **The purpose of this page is to show how to use various data
analysis commands. It does not cover all aspects of the research process which
researchers are expected to do. In particular, it does not cover data
cleaning and checking, verification of assumptions, model diagnostics or
potential follow-up analyses.

## Examples of negative binomial regression

Example 1. School administrators study the attendance behavior of high school juniors at two schools. Predictors of the number of days of absence include the type of program in which the student is enrolled and a standardized test in math.

Example 2. A health-related researcher is studying the number of hospital visits in past 12 months by senior citizens in a community based on the characteristics of the individuals and the types of health plans under which each one is covered.

## Description of the data

We have attendance data on 314 high school juniors from two urban high schools in
the file http://stats.idre.ucla.edu/wp-content/uploads/2016/02/nb_data.dat. The response variable of interest is days absent, **daysabs**.
The variable **math** gives the standardized math score for
each student. The variable **prog** is a three-level nominal variable
indicating the type of instructional program in which the student is enrolled.
The variables **p1**, **p2** and **p3** are dummy-coded indicator variables
for **prog**.

Let’s look at the data. It is always a good idea to start with descriptive statistics.

Data: File is g:daehttp://stats.idre.ucla.edu/wp-content/uploads/2016/02/nb_data.dat; Variable: Names are id gender math daysabs prog p1 p2 p3; Missing are all (-9999); usevariables are id gender math daysabs prog p1 p2 p3; analysis: type = basic; plot: type is plot1;

RESULTS FOR BASIC ANALYSIS ESTIMATED SAMPLE STATISTICS Means ID GENDER MATH DAYSABS PROG ________ ________ ________ ________ ________ 1 1575.911 1.490 48.268 5.955 2.213 Means P1 P2 P3 ________ ________ ________ 1 0.127 0.532 0.341 Covariances ID GENDER MATH DAYSABS PROG ________ ________ ________ ________ ________ ID 251516.623 GENDER -27.319 0.250 MATH 4840.852 -0.227 641.202 DAYSABS -1193.221 -0.357 -41.966 49.361 PROG 165.742 0.004 3.895 -1.717 0.423 P1 -17.479 -0.005 -0.439 0.598 -0.155 P2 -130.784 0.007 -3.018 0.521 -0.113 P3 148.263 -0.002 3.457 -1.119 0.268 Covariances P1 P2 P3 ________ ________ ________ P1 0.111 P2 -0.068 0.249 P3 -0.043 -0.181 0.225 Correlations ID GENDER MATH DAYSABS PROG ________ ________ ________ ________ ________ ID 1.000 GENDER -0.109 1.000 MATH 0.381 -0.018 1.000 DAYSABS -0.339 -0.102 -0.236 1.000 PROG 0.508 0.011 0.237 -0.376 1.000 P1 -0.105 -0.031 -0.052 0.255 -0.713 P2 -0.523 0.027 -0.239 0.148 -0.350 P3 0.624 -0.006 0.288 -0.336 0.870 Correlations P1 P2 P3 ________ ________ ________ P1 1.000 P2 -0.407 1.000 P3 -0.275 -0.766 1.000

## Analysis methods you might consider

Below is a list of some analysis methods you may have encountered. Some of the methods listed are quite reasonable, while others have either fallen out of favor or have limitations.

- Negative binomial regression -Negative binomial regression can be used for over-dispersed count data, that is when the conditional variance exceeds the conditional mean. It can be considered as a generalization of Poisson regression since it has the same mean structure as Poisson regression and it has an extra parameter to model the over-dispersion. If the conditional distribution of the outcome variable is over-dispersed, the confidence intervals for the Negative binomial regression are likely to be narrower as compared to those from a Poisson regression model.
- Poisson regression – Poisson regression is often used for modeling count data. Poisson regression has a number of extensions useful for count models.
- Zero-inflated regression model – Zero-inflated models attempt to account for excess zeros. In other words, two kinds of zeros are thought to exist in the data, "true zeros" and "excess zeros". Zero-inflated models estimate two equations simultaneously, one for the count model and one for the excess zeros.
- OLS regression – Count outcome variables are sometimes log-transformed and analyzed using OLS regression. Many issues arise with this approach, including loss of data due to undefined values generated by taking the log of zero (which is undefined), as well as the lack of capacity to model the dispersion.

## Negative binomial regression analysis

In the Mplus syntax below, we specify that the variables to be used in the
negative binomial regression are **daysabs**, **math**,** p2**, **p3**,
which will make **prog**=1 the reference group. We also specify that **daysabs** is a count variable, and we include **(nb)**
to indicate that we want a negative binomial regression. (By default,
Mplus would model this as a Poisson regression.) By
default, Mplus uses restricted maximum likelihood (MLR), so robust standard
errors would be given in the output. Here, the standard errors are calculated using
maximum likelihood estimates by including the **analysis: estimator = ml;** block.

Data: File is g:daehttp://stats.idre.ucla.edu/wp-content/uploads/2016/02/nb_data.dat; Variable: Names are id gender math daysabs prog p1 p2 p3; Missing are all (-9999); usevariables are daysabs math p2 p3; count is daysabs (nb); model: daysabs on math p2 p3; analysis: estimator = ml;MODEL FIT INFORMATION Number of Free Parameters 5 Loglikelihood H0 Value -865.629 Information Criteria Akaike (AIC) 1741.258 Bayesian (BIC) 1760.005 Sample-Size Adjusted BIC 1744.146 (n* = (n + 2) / 24) MODEL RESULTS Two-Tailed Estimate S.E. Est./S.E. P-Value DAYSABS ON MATH -0.006 0.003 -2.390 0.017 P2 -0.441 0.183 -2.414 0.016 P3 -1.279 0.202 -6.331 0.000 Intercepts DAYSABS 2.615 0.196 13.319 0.000 Dispersion DAYSABS 0.968 0.100 9.729 0.000

- After the heading informing that "THE MODEL ESTIMATION TERMINATED NORMALLY" comes the information about the model. It begins with the information regarding the log likelihood, AIC and BIC. These can be used in comparing models.
- Then we will find the negative binomial regression coefficients for each of the variables along with the standard errors. The column labeled as Est./S.E. is the quotient of the estimates divided by the standard errors. These are basically z-scores if the sample size is reasonably large. In the right-most column is the two-tailed p-value.
- The variable
**math**has a coefficient of -0.006, which is statistically significant. This means that for each one-unit increase on**math**, the expected log count of the number of days absent decreases by 0.006 day. Both of the dummy variables for the variable**prog**are statistically significant. Compared to level 1 of**prog**, the expected log count for level 2 decreases by 0.441. Compared to level 1 of**prog**, the expected log count of for level 3 decreases by 1.279. - Additionally, under "Dispersion" we find the estimate of the natural log of the over-dispersion coefficient, alpha. If the alpha coefficient is zero then the model is better estimated using a Poisson regression model. Here it is different from zero, so negative binomial regression is appropriate.

To determine if **prog** itself is statistically significant, we can
use the **model test** block to obtain the two degree-of-freedom test of this
variable. Additionally, we can get an estimate of the natural log of the
over-dispersion coefficient, alpha. If the alpha coefficient is zero then
the model is better estimated using a Poisson regression model.

Data: File is g:daehttp://stats.idre.ucla.edu/wp-content/uploads/2016/02/nb_data.dat; Variable: Names are id gender math daysabs prog p1 p2 p3; Missing are all (-9999); usevariables are daysabs math p2 p3; count is daysabs (nb); model: daysabs on math (a1) p2 (a2) p3 (a3); model test: a2 = 0; a3 = 0; analysis: estimator = ml;MODEL FIT INFORMATION<**SOME OUTPUT OMITTED**> Wald Test of Parameter Constraints Value 49.214 Degrees of Freedom 2 P-Value 0.0000

In the syntax above, some of the variables in the model are given labels.
These labels must be in parentheses and must be the last item listed on the
line, so the model is broken up over several lines. We have given the
label **a2** to the indicator variable **p2**, and the label **a3** to
the indicator variable **p3**. Once we have assigned labels to the
variables, we can use those labels in the **model test** block.
Setting both **a2** and **a3** to 0 allows us to get the two
degree-of-freedom test of the variable **prog**. We can see that the
variable **prog**, as a whole, is statistically significant.

To obtain the results as incident rate ratios, we need to use the **model
constraint** block. Again, we use labels to refer to the variables
in the model. In the **model constraint** block, we use the **new**
statement to label the new parameters, which will be the exponentiated
parameters from the model.

Data: File is g:daehttp://stats.idre.ucla.edu/wp-content/uploads/2016/02/nb_data.dat; Variable: Names are id gender math daysabs prog p1 p2 p3; Missing are all (-9999); usevariables are daysabs math p2 p3; count is daysabs (nb); model: daysabs on math (a1) p2 (a2) p3 (a3); model constraint: new( math_exp p2_exp p3_exp); math_exp = exp(a1); p2_exp = exp(a2); p3_exp = exp(a3); analysis: estimator = ml;MODEL FIT INFORMATION Number of Free Parameters 5 Loglikelihood H0 Value -865.629 Information Criteria Akaike (AIC) 1741.258 Bayesian (BIC) 1760.005 Sample-Size Adjusted BIC 1744.146 (n* = (n + 2) / 24) MODEL RESULTS Two-Tailed Estimate S.E. Est./S.E. P-Value DAYSABS ON MATH -0.006 0.003 -2.390 0.017 P2 -0.441 0.183 -2.414 0.016 P3 -1.279 0.202 -6.331 0.000 Intercepts DAYSABS 2.615 0.196 13.319 0.000 Dispersion DAYSABS 0.968 0.100 9.729 0.000 New/Additional Parameters MATH_EXP 0.994 0.002 398.851 0.000 P2_EXP 0.644 0.117 5.477 0.000 P3_EXP 0.278 0.056 4.951 0.000

## Things to consider

- It is not recommended that negative binomial models be applied to small samples.
- One common cause of over-dispersion is excess zeros by an additional data generating process. If more than one process generates the data, then it is possible to have more 0s than expected by the negative binomial model; in this case, a zero-inflated model (either zero-inflated Poisson or zero-inflated negative binomial) may be more appropriate.
- If the data generating process does not allow for any 0s (such as the number of days spent in the hospital), then a zero-truncated model may be more appropriate.
- Count data often have an exposure variable, which indicates the number of times the event could have happened. This variable can be incorporated into your negative binomial model by taking the log of the exposure variable and constraining its estimate to 1.
- The outcome variable in a negative binomial regression cannot have negative numbers, and the exposure cannot have 0s.
- Pseudo-R-squared: Many different measures of pseudo-R-squared exist. They all attempt to provide information similar to that provided by R-squared in OLS regression; however, none of them can be interpreted exactly as R-squared in OLS regression is interpreted. For a discussion of various pseudo-R-squares, see Long and Freese (2006) or our FAQ page What are pseudo R-squareds? .

## See also

## References

- Long, J. S. 1997.
*Regression Models for Categorical and Limited Dependent Variables.*Thousand Oaks, CA: Sage Publications. - Long, J. S. and Freese, J. 2006.
*Regression Models for Categorical Dependent Variables Using Stata, Second Edition*. College Station, TX: Stata Press. - Cameron, A. C. and Trivedi, P. K. 2009.
*Microeconometrics Using Stata*. College Station, TX: Stata Press. - Cameron, A. C. and Trivedi, P. K. 1998.
*Regression Analysis of Count Data*. New York: Cambridge Press. - Cameron, A. C. Advances in Count Data Regression Talk for the Applied Statistics Workshop, March 28, 2009. http://cameron.econ.ucdavis.edu/racd/count.html .
- Dupont, W. D. 2002.
*Statistical Modeling for Biomedical Researchers: A Simple Introduction to the Analysis of Complex Data.*New York: Cambridge Press.