serial: Test for serially correlated errors

View source: R/serial.R

serial.testR Documentation

Test for serially correlated errors

Description

This function computes the multivariate Portmanteau- and Breusch-Godfrey test for serially correlated errors.

Usage

serial.test(x, lags.pt = 16, lags.bg = 5, type = c("PT.asymptotic",
"PT.adjusted", "BG", "ES") )

Arguments

x

Object of class ‘varest’; generated by VAR(), or an object of class ‘vec2var’; generated by vec2var().

lags.pt

An integer specifying the lags to be used for the Portmanteau statistic.

lags.bg

An integer specifying the lags to be used for the Breusch-Godfrey statistic.

type

Character, the type of test. The default is an asymptotic Portmanteau test.

Details

The Portmanteau statistic for testing the absence of up to the order h serially correlated disturbances in a stable VAR(p) is defined as:

Q_h = T \sum_{j = 1}^h tr(\hat{C}_j'\hat{C}_0^{-1}\hat{C}_j\hat{C}_0^{-1}) \quad ,

where \hat{C}_i = \frac{1}{T}\sum_{t = i + 1}^T \bold{\hat{u}}_t \bold{\hat{u}}_{t - i}'. The test statistic is approximately distributed as \chi^2(K^2(h - p)). This test statistic is choosen by setting type = "PT.asymptotic". For smaller sample sizes and/or values of h that are not sufficiently large, a corrected test statistic is computed as:

Q_h^* = T^2 \sum_{j = 1}^h \frac{1}{T - j}tr(\hat{C}_j'\hat{C}_0^{-1}\hat{C}_j\hat{C}_0^{-1}) \quad ,

This test statistic can be accessed, if type = "PT.adjusted" is set.

The Breusch-Godfrey LM-statistic is based upon the following auxiliary regressions:

\bold{\hat{u}}_t = A_1 \bold{y}_{t-1} + \ldots + A_p\bold{y}_{t-p} + CD_t + B_1\bold{\hat{u}}_{t-1} + \ldots + B_h\bold{\hat{u}}_{t-h} + \bold{\varepsilon}_t

The null hypothesis is: H_0: B_1 = \ldots = B_h = 0 and correspondingly the alternative hypothesis is of the form H_1: \exists \; B_i \ne 0 for i = 1, 2, \ldots, h. The test statistic is defined as:

LM_h = T(K - tr(\tilde{\Sigma}_R^{-1}\tilde{\Sigma}_e)) \quad ,

where \tilde{\Sigma}_R and \tilde{\Sigma}_e assign the residual covariance matrix of the restricted and unrestricted model, respectively. The test statistic LM_h is distributed as \chi^2(hK^2). This test statistic is calculated if type = "BG" is used.

Edgerton and Shukur (1999) proposed a small sample correction, which is defined as:

LMF_h = \frac{1 - (1 - R_r^2)^{1/r}}{(1 - R_r^2)^{1/r}} \frac{Nr - q}{K m} \quad ,

with R_r^2 = 1 - |\tilde{\Sigma}_e | / |\tilde{\Sigma}_R|, r = ((K^2m^2 - 4)/(K^2 + m^2 - 5))^{1/2}, q = 1/2 K m - 1 and N = T - K - m - 1/2(K - m + 1), whereby n is the number of regressors in the original system and m = Kh. The modified test statistic is distributed as F(hK^2, int(Nr - q)). This modified statistic will be returned, if type = "ES" is provided in the call to serial().

Value

A list with class attribute ‘varcheck’ holding the following elements:

resid

A matrix with the residuals of the VAR.

pt.mul

A list with objects of class attribute ‘htest’ containing the multivariate Portmanteau-statistic (asymptotic and adjusted.

LMh

An object with class attribute ‘htest’ containing the Breusch-Godfrey LM-statistic.

LMFh

An object with class attribute ‘htest’ containing the Edgerton-Shukur F-statistic.

Note

This function was named serial in earlier versions of package vars; it is now deprecated. See vars-deprecated too.

Author(s)

Bernhard Pfaff

References

Breusch, T . S. (1978), Testing for autocorrelation in dynamic linear models, Australian Economic Papers, 17: 334-355.

Edgerton, D. and Shukur, G. (1999), Testing autocorrelation in a system perspective, Econometric Reviews, 18: 43-386.

Godfrey, L. G. (1978), Testing for higher order serial correlation in regression equations when the regressors include lagged dependent variables, Econometrica, 46: 1303-1313.

Hamilton, J. (1994), Time Series Analysis, Princeton University Press, Princeton.

Lütkepohl, H. (2006), New Introduction to Multiple Time Series Analysis, Springer, New York.

See Also

VAR, vec2var, plot

Examples

data(Canada)
var.2c <- VAR(Canada, p = 2, type = "const")
serial.test(var.2c, lags.pt = 16, type = "PT.adjusted")

vars documentation built on June 24, 2024, 9:08 a.m.

Related to serial in vars...