Tutorials › Econometrics (Graduate) › Residual Diagnostics for VAR Systems

VAR, Volatility, and Forecasts · Tutorial 426 of 952

Residual Diagnostics for VAR Systems

Learn how to apply complementary residual and stability checks to a fitted VAR, calculate key test statistics, and interpret their limits.

Advanced 11 min read

What You'll Learn

  • State the innovation assumptions that motivate residual diagnostics for a fitted VAR.
  • Compute a multivariate portmanteau statistic and interpret its approximate reference distribution.
  • Use Mardia skewness and kurtosis diagnostics to assess multivariate residual normality.
  • Screen for variance changes without confusing those checks with a formal ARCH test.
  • Interpret companion-matrix eigenvalues and distinguish dynamic stability from parameter constancy.
  • Explain why non-rejection of a diagnostic null does not establish correct specification.

Why Diagnose a Fitted VAR?

A fitted vector autoregression can produce plausible coefficients and forecasts while still missing important features of the data. Its residuals may retain serial dependence, depart substantially from multivariate normality, or show changing variance. The estimated dynamics may also fail the model’s stability condition. Diagnostics help identify these problems and indicate which conclusions from the fitted system need caution.

No single diagnostic establishes that a VAR is correctly specified. Each addresses a particular feature, and each relies on assumptions about the fitted model and the sample. A non-significant result means the test did not find sufficiently strong evidence against its null; it does not demonstrate that the null is true.

Model and Diagnostic Targets

Consider a \(k\)-variable VAR(\(p\)) with deterministic terms collected in \(d_t\):

$$ y_t=d_t+A_1y_{t-1}+\cdots+A_py_{t-p}+u_t,\qquad t=1,\ldots,T. $$

Here \(y_t\) and \(u_t\) are \(k\)-vectors, \(A_1,\ldots,A_p\) are coefficient matrices, and \(u_t\) is the innovation vector. After estimation, \(\hat u_t\) denotes the fitted residual vector and \(\hat\Sigma\) its estimated covariance matrix. The basic reference model for the diagnostics below has zero-mean innovations, finite positive-definite covariance, and no serial correlation. Constant conditional covariance is an additional assumption tested by variance diagnostics; multivariate normality is an additional distributional assumption, not a requirement for every VAR estimator or inference procedure.

Definition: A residual diagnostic is a statistic or graphical check that assesses a specified feature of the fitted residuals or estimated dynamics. It is evidence about that feature under stated assumptions, not a general test that the entire model is correct.

The residuals are estimates of the unobserved innovations, not the innovations themselves. Their estimated nature matters: reference distributions for many diagnostics are approximate, especially in small samples or when the system has many parameters relative to the number of observations.

Testing Residual Serial Correlation

Residual autocorrelation suggests that the VAR’s conditional mean may not have captured all predictable movement. A multivariate portmanteau test aggregates residual autocovariances over a chosen range of lags. Define

$$ \hat C_j=\frac{1}{T}\sum_{t=j+1}^{T}\hat u_t\hat u_{t-j}',\qquad \hat C_0=\frac{1}{T}\sum_{t=1}^{T}\hat u_t\hat u_t'. $$

For a chosen maximum lag \(h\), the portmanteau statistic is

$$ Q_h=T\sum_{j=1}^{h}\operatorname{tr} \left(\hat C_0^{-1}\hat C_j'\hat C_0^{-1}\hat C_j\right). $$

The null is that residual autocorrelations through lag \(h\) are jointly zero. For a fitted VAR(\(p\)), a commonly used large-sample reference is chi-square with \(k^2(h-p)\) degrees of freedom, when \(h>p\). This approximation is sensitive to sample size and lag choices; some software reports a small-sample-adjusted version. A complementary option is a residual LM test, which adds lagged residuals to the system’s regressions and tests whether their coefficients are jointly zero.

Worked Example: A Multivariate Portmanteau Test

Suppose a hypothetical bivariate VAR(1) is fitted to \(T=120\) observations. At \(h=3\), the estimated contemporaneous residual covariance is the identity matrix. The estimated lagged autocovariance matrices are

$$ \hat C_1= \begin{pmatrix}0.10&0\\0&0.05\end{pmatrix},\quad \hat C_2= \begin{pmatrix}0.08&0.04\\-0.02&0.06\end{pmatrix},\quad \hat C_3= \begin{pmatrix}0.03&0\\0&-0.04\end{pmatrix}. $$

Because \(\hat C_0=I\), each trace in the statistic is the sum of the squared entries in that lag’s matrix. Thus the three contributions are

$$ \begin{aligned} \operatorname{tr}(\hat C_1'\hat C_1)&=0.10^2+0.05^2=0.0125,\\ \operatorname{tr}(\hat C_2'\hat C_2)&=0.08^2+0.04^2+(-0.02)^2+0.06^2=0.0120,\\ \operatorname{tr}(\hat C_3'\hat C_3)&=0.03^2+(-0.04)^2=0.0025. \end{aligned} $$

Therefore \(Q_3=120(0.0125+0.0120+0.0025)=3.24\). The approximate degrees of freedom are \(k^2(h-p)=2^2(3-1)=8\), giving a chi-square upper-tail p-value of about \(0.918\). At a 5% significance level, this test does not reject the null of no residual autocorrelation through lag 3. It does not rule out dependence at higher lags or establish that the VAR’s mean specification is correct.

The degrees-of-freedom adjustment reflects that the fitted VAR has already used data to estimate its dynamics. Under the null, the residual autocovariance entries behave approximately like jointly centered sampling errors. The statistic sums their standardized squared magnitudes across lags; estimating the VAR parameters reduces the effective number of unrestricted autocorrelation directions, motivating the \(k^2(h-p)\) reference in the usual asymptotic approximation.

Checking Multivariate Normality

Normality diagnostics are relevant when an analysis relies on Gaussian innovations, for example to interpret Gaussian likelihood-based results or construct distributional forecasts. One standard family is Mardia’s multivariate skewness and kurtosis measures. Let \(z_t=\hat\Sigma^{-1/2}\hat u_t\) be whitened residuals, with their sample mean removed when calculating the measures. Define

$$ b_{1,k}=\frac{1}{T^2}\sum_{i=1}^{T}\sum_{j=1}^{T}(z_i'z_j)^3, \qquad b_{2,k}=\frac{1}{T}\sum_{i=1}^{T}(z_i'z_i)^2. $$

Under multivariate normality, the skewness statistic \(T b_{1,k}/6\) is asymptotically chi-square with \(k(k+1)(k+2)/6\) degrees of freedom. The kurtosis statistic can be standardized as

$$ Z_{b_2}= \frac{b_{2,k}-k(k+2)} {\sqrt{8k(k+2)/T}}, $$

which is approximately standard normal under the null. Large absolute values indicate unusual kurtosis. These approximations require care with fitted residuals and finite samples. A rejection indicates evidence against multivariate normality, not which alternative distribution generated the innovations.

Worked Example: Mardia Normality Diagnostics

Suppose a hypothetical bivariate VAR has \(T=100\) usable residual vectors. Its calculated Mardia measures are \(b_{1,2}=0.18\) and \(b_{2,2}=6.80\). For skewness, the statistic is \(100(0.18)/6=3.00\), with \(2(3)(4)/6=4\) degrees of freedom. Its approximate p-value is \(0.558\).

For kurtosis, the normal reference value is \(k(k+2)=2(4)=8\), and the standard error is \(\sqrt{8(2)(4)/100}=0.80\). Hence \(Z_{b_2}=(6.80-8)/0.80=-1.50\), with a two-sided p-value of about \(0.134\).

Neither component rejects at 5%. If the two asymptotic components are combined as independent, the joint statistic is \(3.00+(-1.50)^2=5.25\), approximately chi-square with 5 degrees of freedom, giving a p-value near \(0.386\). This is insufficient evidence to reject multivariate normality using these diagnostics; it is not proof that the innovations are normal.

Screening for Changing Variance

A stable residual mean does not imply stable residual variance. Begin with plots of residuals over time, squared residuals, and residual cross-products. Look for clusters of large residuals, changing scale, or periods in which variables move together more strongly. Such patterns are useful warnings, but visual inspection alone does not quantify uncertainty.

A simple formal screen for a particular equation regresses its squared residuals on variables suspected of explaining scale changes. For example, an auxiliary regression on an intercept and a pre-specified time-period indicator gives the Breusch–Pagan-style statistic \(T R^2\), where \(R^2\) is from that auxiliary regression. Under the null of constant conditional variance and the relevant regularity conditions, it is approximately chi-square with degrees of freedom equal to the number of non-intercept regressors. This screen is equation-specific unless a suitable joint system test is used. It also does not replace a method designed for a particular conditional variance structure.

Worked Example: A Variance-Change Screen

Suppose a hypothetical bivariate VAR has \(T=80\) residual observations. For the first equation, a researcher regresses \(\hat u_{1t}^2\) on an intercept and an indicator \(D_t\) equal to 1 in the final 40 observations and 0 in the first 40. The auxiliary regression gives \(R^2=0.070\).

The screen statistic is \(T R^2=80(0.070)=5.60\). There is one non-intercept regressor, so the reference distribution is chi-square with 1 degree of freedom. The upper-tail p-value is approximately \(0.018\). At the 5% level, this is evidence against constant variance across the two periods in the first equation, under the test’s assumptions. It does not identify the cause of the change, establish a particular volatility model, or test the second equation’s variance.

Serial dependence in squared residuals, estimated-regressor effects, and data-driven selection of the split can affect the calibration or interpretation. A targeted test should match the suspected variance mechanism; a visual or auxiliary-regression screen should not be described as a comprehensive system-level conclusion.

Checking Dynamic Stability

The fitted VAR’s companion matrix summarizes its dynamic propagation. The estimated system is stable when every eigenvalue of that matrix has modulus less than 1. Equivalently, the roots of the VAR characteristic equation lie outside the unit circle. This criterion concerns the fitted dynamic coefficients. It is distinct from checking whether those coefficients remain constant over the sample, which may require recursive estimates, rolling estimates, or a formal parameter-constancy test.

Worked Example: Interpreting VAR Stability Roots

Consider a hypothetical fitted bivariate VAR(1). Its companion matrix is its coefficient matrix, with estimated eigenvalues \(0.61\) and \(1.04\). Since \(|1.04|>1\), not all eigenvalues lie inside the unit circle, so the fitted VAR fails the stability condition. This warns that shocks may not decay according to the model’s estimated dynamics. It does not by itself identify which coefficient is responsible, nor does it show that the true data-generating process is unstable.

If instead the estimated eigenvalues were \(0.61\) and \(0.94\), the point estimate would meet the stability condition. That result would not show that coefficients are constant over time or that the model passes the residual autocorrelation and variance checks.

Reading Diagnostics Together

A useful diagnostic workflow separates the questions rather than treating one p-value as a verdict:

1
Check the estimated dynamics.
Inspect the companion-matrix eigenvalues and investigate any root at or outside the unit circle.
2
Check the residual mean dynamics.
Use residual autocorrelation plots and a multivariate portmanteau or LM test at justified lags.
3
Check distribution and scale separately.
Use normality diagnostics when Gaussianity matters, and plots or suitable variance tests to screen for changing scale.
4
Interpret evidence in context.
Report the null, statistic, reference distribution, p-value, and limitations; consider whether the result is practically consequential.

These checks are complementary. A VAR can have uncorrelated residuals but non-normal innovations, or stable roots but changing coefficients. Conversely, a test may fail to reject because the sample is too small to detect a relevant departure. Diagnostic results should inform model revision and uncertainty, not be used as a mechanical pass/fail certificate.

Common Mistake

Pitfall: “The portmanteau test was not significant, so the VAR is correctly specified.” This conclusion is too broad. The test addresses residual autocorrelation only through the selected lag \(h\), and its non-rejection may reflect limited power. It says nothing by itself about normality, changing variance, parameter constancy, omitted deterministic structure, or forecast performance. State exactly which diagnostic null was tested and what the result does—and does not—support.

Check Your Understanding

Answer each question by naming the diagnostic target and stating the limits of the conclusion.

  1. For a fitted VAR(2) with \(k=3\), what approximate degrees of freedom are used for the portmanteau statistic at \(h=5\)?
  2. A multivariate normality test has a p-value of \(0.03\). What is the appropriate conclusion at a 5% significance level, and what does it not establish?
  3. Why is a variance-change auxiliary regression for one equation not automatically a system-wide heteroskedasticity test?
  4. A VAR’s companion matrix has eigenvalues \(0.7\), \(0.9\), and \(1.02\). Does the fitted system meet the stability condition? Explain.
  5. Why does non-rejection of residual autocorrelation through lag \(h\) not rule out dependence at longer lags?
Clinical Biostats