Learn R Programming

lmtest (version 0.9-5)

bgtest: Breusch-Godfrey Test

Description

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

Usage

bgtest(formula, order = 1, type = c("Chisq", "F"), data = list())

Arguments

formula
a symbolic description for the model to be tested.
order
integer. maximal order of serial correlation to be tested.
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 bgtest is called from.

Value

  • A list with class "htest" containing the following components:
  • statisticthe value of the test statistic.
  • p.valuethe p-value of the test.
  • parameterdegrees of freedom.
  • methoda character string indicating what type of test was performed.
  • data.namea character string giving the name(s) of the data.

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 the exact F statistic which, under $H_0$, follows an $F$ distribution with degrees of freedom as given in parameter.

The starting values for the lagged residuals in the supplementary regression are chosen to be 0.

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

dwtest

Examples

Run this code
## 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:
     bgtest(y1 ~ x)
     ## or for fourth order serial correlation
     bgtest(y1 ~ x, order = 4)
     ## Compare with Durbin-Watson test results:
     dwtest(y1 ~ x)

     if(library(ts, logical = TRUE)) {
     y2 <- filter(y1, 0.5, method = "recursive")
     bgtest(y2 ~ x) }

Run the code above in your browser using DataLab