serial: Test for serially correlated errors

Description Usage Arguments Details Value Note Author(s) References See Also Examples

View source: R/serial.R


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


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



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

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

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


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


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 ∑_{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}∑_{t = i + 1}^T \bold{\hat{u}}_t \bold{\hat{u}}_{t - i}'. The test statistic is approximately distributed as χ^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 ∑_{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} + … + A_p\bold{y}_{t-p} + CD_t + B_1\bold{\hat{u}}_{t-1} + … + B_h\bold{\hat{u}}_{t-h} + \bold{\varepsilon}_t

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

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

where \tilde{Σ}_R and \tilde{Σ}_e assign the residual covariance matrix of the restricted and unrestricted model, respectively. The test statistic LM_h is distributed as χ^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{Σ}_e | / |\tilde{Σ}_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().


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


A matrix with the residuals of the VAR.


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


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


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


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


Bernhard Pfaff


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


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

Example output

Loading required package: MASS
Loading required package: strucchange
Loading required package: zoo

Attaching package: 'zoo'

The following objects are masked from 'package:base':

    as.Date, as.Date.numeric

Loading required package: sandwich
Loading required package: urca
Loading required package: lmtest

	Portmanteau Test (adjusted)

data:  Residuals of VAR object var.2c
Chi-squared = 231.59, df = 224, p-value = 0.3497

vars documentation built on May 1, 2019, 8:23 p.m.