# BreuschGodfreyTest: Breusch-Godfrey Test In DescTools: Tools for Descriptive Statistics

## Description

`BreuschGodfreyTest` performs the Breusch-Godfrey test for higher-order serial correlation.

## Usage

 ```1 2``` ```BreuschGodfreyTest(formula, order = 1, order.by = NULL, type = c("Chisq", "F"), data = list(), fill = 0) ```

## Arguments

 `formula` a symbolic description for the model to be tested (or a fitted `"lm"` object). `order` integer. maximal order of serial correlation to be tested. `order.by` Either a vector `z` or a formula with a single explanatory variable like `~ z`. The observations in the model are ordered by the size of `z`. If set to `NULL` (the default) the observations are assumed to be ordered (e.g., a time series). `type` the type of test statistic to be returned. Either `"Chisq"` for the Chi-squared test statistic or `"F"` for the F test statistic. `data` an optional data frame containing the variables in the model. By default the variables are taken from the environment which `BreuschGodfreyTest` is called from. `fill` starting values for the lagged residuals in the auxiliary regression. By default `0` but can also be set to `NA`.

## Details

Under H_0 the test statistic is asymptotically Chi-squared with degrees of freedom as given in `parameter`. If `type` is set to `"F"` the function returns a finite sample version of the test statistic, employing an F distribution with degrees of freedom as given in `parameter`.

By default, the starting values for the lagged residuals in the auxiliary regression are chosen to be 0 (as in Godfrey 1978) but could also be set to `NA` to omit them.

`BreuschGodfreyTest` also returns the coefficients and estimated covariance matrix from the auxiliary regression that includes the lagged residuals. Hence, `CoefTest` (package: RegClassTools) can be used to inspect the results. (Note, however, that standard theory does not always apply to the standard errors and t-statistics in this regression.)

## Value

A list with class `"BreuschGodfreyTest"` inheriting from `"htest"` containing the following components:

 `statistic` the value of the test statistic. `p.value` the p-value of the test. `parameter` degrees of freedom. `method` a character string indicating what type of test was performed. `data.name` a character string giving the name(s) of the data. `coefficients` coefficient estimates from the auxiliary regression. `vcov` corresponding covariance matrix estimate.

## Note

This function was previously published as `bgtest` in the lmtest package and has been integrated here without logical changes.

## Author(s)

David Mitchell <david.mitchell@dotars.gov.au>, Achim Zeileis

## References

Johnston, J. (1984): Econometric Methods, Third Edition, McGraw Hill Inc.

Godfrey, L.G. (1978): 'Testing Against General Autoregressive and Moving Average Error Models when the Regressors Include Lagged Dependent Variables', Econometrica, 46, 1293-1302.

Breusch, T.S. (1979): 'Testing for Autocorrelation in Dynamic Linear Models', Australian Economic Papers, 17, 334-355.

`DurbinWatsonTest`

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16``` ```## Generate a stationary and an AR(1) series x <- rep(c(1, -1), 50) y1 <- 1 + x + rnorm(100) ## Perform Breusch-Godfrey test for first-order serial correlation: BreuschGodfreyTest(y1 ~ x) ## or for fourth-order serial correlation BreuschGodfreyTest(y1 ~ x, order = 4) ## Compare with Durbin-Watson test results: DurbinWatsonTest(y1 ~ x) y2 <- filter(y1, 0.5, method = "recursive") BreuschGodfreyTest(y2 ~ x) ```

### Example output

```	Breusch-Godfrey test for serial correlation of order up to 1

data:  y1 ~ x
LM test = 0.1479, df = 1, p-value = 0.7005

Breusch-Godfrey test for serial correlation of order up to 4

data:  y1 ~ x
LM test = 2.7486, df = 4, p-value = 0.6007

Durbin-Watson test

data:  y1 ~ x
DW = 2.0688, p-value = 0.6731
alternative hypothesis: true autocorrelation is greater than 0

Breusch-Godfrey test for serial correlation of order up to 1

data:  y2 ~ x
LM test = 17.968, df = 1, p-value = 2.247e-05
```

DescTools documentation built on June 17, 2021, 5:12 p.m.