R: Breusch-Godfrey Test

BreuschGodfreyTest {DescTools} | R Documentation

## Breusch-Godfrey Test

### Description

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

### Usage

    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.

### See Also

`DurbinWatsonTest`

### Examples

    ## 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)

[Package DescTools version 0.99.32 Index]