BreuschGodfreyTest
performs the Breusch-Godfrey test for higher-order
serial correlation.
a symbolic description for the model to be tested (or a
fitted "lm"
object).
integer. maximal order of serial correlation to be tested.
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).
the type of test statistic to be returned. Either "Chisq"
for the Chi-squared test statistic or "F"
for the F test statistic.
an optional data frame containing the variables in the model. By
default the variables are taken from the environment which
BreuschGodfreyTest
is called from.
starting values for the lagged residuals in the auxiliary
regression. By default 0
but can also be set to NA
.
A list with class "BreuschGodfreyTest"
inheriting from
"htest"
containing the following components:
the value of the test statistic.
the p-value of the test.
degrees of freedom.
a character string indicating what type of test was performed.
a character string giving the name(s) of the data.
coefficient estimates from the auxiliary regression.
corresponding covariance matrix estimate.
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.)
This function was previously published as bgtest
in the
lmtest package and has been integrated here without logical changes.
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.
## 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)
#>
#> Breusch-Godfrey test for serial correlation of order up to 1
#>
#> data: y1 ~ x
#> LM test = 0.67455, df = 1, p-value = 0.4115
#>
## or for fourth-order serial correlation
BreuschGodfreyTest(y1 ~ x, order = 4)
#>
#> Breusch-Godfrey test for serial correlation of order up to 4
#>
#> data: y1 ~ x
#> LM test = 2.6692, df = 4, p-value = 0.6146
#>
## Compare with Durbin-Watson test results:
DurbinWatsonTest(y1 ~ x)
#>
#> Durbin-Watson test
#>
#> data: y1 ~ x
#> DW = 2.0564, p-value = 0.6502
#> alternative hypothesis: true autocorrelation is greater than 0
#>
y2 <- stats::filter(y1, 0.5, method = "recursive")
BreuschGodfreyTest(y2 ~ x)
#>
#> Breusch-Godfrey test for serial correlation of order up to 1
#>
#> data: y2 ~ x
#> LM test = 16.451, df = 1, p-value = 0.00004992
#>