vars (version 1.5-2)

serial.test: 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.


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.


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().


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<U+34AE5C2F>hl, H. (2006), New Introduction to Multiple Time Series Analysis, Springer, New York.

See Also

VAR, vec2var, plot


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

Run the code above in your browser using DataCamp Workspace