Breusch-Godfrey Test
Breusch-Godfrey Test
Overview
Definition
The Breusch-Godfrey Test is a Lagrange Multiplier test for autocorrelation in the errors in a regression model. Unlike the Durbin-Watson Test, it is valid in the presence of lagged dependent variables and can test for higher-order serial correlation (up to lag
1. Procedure
- Estimate the OLS regression:
- Obtain residuals:
- Run auxiliary regression: Regress
on original and lagged residuals . - Calculate
from the auxiliary regression.
2. Comparison: BG vs. DW
| Feature | Durbin-Watson | Breusch-Godfrey |
|---|---|---|
| Order defined | First-order (AR(1)) only | Any order |
| Lagged Dependent Variables | Invalid (Biased) | Valid |
| Distribution | Exact Bounds tables | Asymptotic Chi-Square |
Recommendation: Breusch-Godfrey is generally preferred for its flexibility.
3. Python Implementation Example
import statsmodels.stats.diagnostic as dg
# Perform Test (up to lag 2)
# Results: [LM Stat, LM p-value, F-Stat, F p-value]
bg_test = dg.acorr_breusch_godfrey(model, nlags=2)
print(f"LM Statistic: {bg_test[0]:.3f}")
print(f"LM p-value: {bg_test[1]:.4f}")
4. Related Concepts
- Durbin-Watson Test - Simpler alternative.
- Multiple Linear Regression - Framework.