Skip to Content

serial.test {vars}

Test for serially correlated errors


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: where . 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: This test statistic can be accessed, if type = "PT.adjusted" is set.

The Breusch-Godfrey LM-statistic is based upon the following auxiliary regressions: The null hypothesis is: H_0: B_1 = ... = B_h = 0 and correspondingly the alternative hypothesis is of the form for i = 1, 2, ..., h. The test statistic is defined as:

where     ilde{Σ}_R and     ilde{Σ}_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: with R_r^2 = 1 - |    ilde{Σ}_e | / |    ilde{Σ}_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 . 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.


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.

Ltkepohl, H. (2006), New Introduction to Multiple Time Series Analysis, Springer, New York.


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

See Also

VAR, vec2var, plot


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


Bernhard Pfaff

Documentation reproduced from package vars, version 1.5-2. License: GPL (>= 2)