Why Recursive Forecasts Need an Uncertainty Calculation
A fitted vector autoregression (VAR) produces forecasts for several related time series at once. At a one-step horizon, the forecast follows directly from the model. At longer horizons, future values on the right-hand side are unknown, so forecasts must be built recursively: use the first forecast to form the second, the first two forecasts to form the third, and so on. The same recursion determines how future shocks accumulate into prediction errors.
The distinction matters in practice. A sequence of forecast values describes the model’s conditional mean path, not the range of plausible future outcomes. To quantify that range, we need the covariance matrix of the forecast error at each horizon. The formulas below condition on the fitted coefficients and use the model’s innovation covariance; they do not include uncertainty from estimating the coefficients.
Model and Recursive Forecasts
Let \(y_t\) be a \(k\)-dimensional vector, and consider a fitted VAR(\(p\)):
Here \(c\) is a \(k\)-vector, each \(A_j\) is a \(k\times k\) coefficient matrix, and \(u_t\) is the innovation vector. For the forecast-error formulas, assume that for all future dates \(s,r\geq1\), \(E(u_{T+s}\mid\mathcal{F}_T)=0\) and \(E(u_{T+s}u_{T+r}'\mid\mathcal{F}_T)=\mathbf{1}\{s=r\}\Sigma_u\). The information available through date \(T\) is denoted by \(\mathcal{F}_T\). Future innovations are unpredictable given this information.
In practice, the coefficients and innovation covariance are estimated. In the equations below, hats on the coefficients indicate fitted values; the forecasts are conditional on those fitted values. If the model also contains deterministic terms that are known at future dates, include their forecast values in the recursion along with the intercept.
For a fitted VAR(\(p\)), the recursion is
Thus each forecast uses the actual observed history available at \(T\), then replaces unavailable future values with forecasts. This is a conditional-mean forecast under the stated zero-mean innovation assumption.
Worked Example: Iterating a Fitted VAR(1)
Suppose a hypothetical fitted two-variable VAR(1) is
The one-step forecast substitutes the observed \(y_T\):
For the two-step forecast, \(y_{T+1}\) is unknown, so use the forecast just obtained:
The forecast for the first variable falls from 6.2 to 3.68 because the fitted dynamics carry the system forward from the forecasted, rather than observed, intermediate value. This calculation says nothing by itself about the likely size of forecast errors; that requires the innovation covariance.
Forecast Errors and Their Covariance
Define the \(h\)-step forecast error as the realized future vector minus its forecast:
The coefficient matrices that describe how innovations enter forecasts are defined recursively. Set \(\Psi_0=I_k\), the \(k\times k\) identity matrix, and for \(m\geq1\) define
These are the moving-average coefficients of the VAR. For a VAR(1), for example, \(\Psi_m=A_1^m\). For a known-parameter VAR whose forecast recursion uses the same coefficients and intercept as the data-generating process, the expansion below is exact. For a fitted model, write \(\hat\Psi_i\) for the moving-average coefficients computed from the fitted coefficients; the displayed formula is a plug-in approximation that treats those coefficients as the working model’s true coefficients, not an exact expansion of the actual forecast error when fitted and true parameters differ.
This expression includes the innovation at the forecast target date, multiplied by \(\Psi_0=I_k\), and earlier future innovations multiplied by the appropriate propagation matrices. Only innovations after \(T\) appear because observed values through \(T\) are already known when the forecast is made.
For estimated models, the practical calculation substitutes the fitted \(\hat\Psi_i\) and an estimate \(\hat\Sigma_u\). The covariance generally grows with the horizon because each additional step introduces another future innovation. It need not grow in every individual variance or covariance entry, but it is nondecreasing in the positive-semidefinite matrix ordering: \(V_{h+1}-V_h=\Psi_h\Sigma_u\Psi_h'\), which is positive semidefinite.
Why the Covariance Formula Holds
For a known-parameter VAR with the same parameters in the data-generating equation and forecast recursion, the first-horizon error is \(e_{T+1\mid T}=u_{T+1}\), so its coefficient on the innovation is \(\Psi_0=I_k\). At later horizons, subtracting the forecast recursion from the VAR equation cancels the intercept and known terms, leaving the current innovation plus coefficient matrices multiplying errors at earlier future dates. Substituting those earlier error expansions yields the coefficients \(\Psi_m\) defined above and proves the exact expansion. For a fitted model, this derivation applies to the working model that treats the fitted parameters as true; the resulting expansion and covariance are plug-in approximations, not exact statements about the actual forecast errors.
To obtain the covariance, substitute the error expansion into its variance. Terms involving innovations at different dates have zero covariance by the serial-uncorrelatedness assumption. The remaining term for innovation \(u_{T+h-i}\) is \(\Psi_i\Sigma_u\Psi_i'\). Summing over \(i=0,\ldots,h-1\) gives \(V_h\). In particular, for the first two horizons,
This result concerns forecast uncertainty under the specified innovation process. It does not require a stable VAR to calculate a finite-horizon forecast, although stability is important for the long-horizon behavior of the process. If innovations are correlated across time, the omitted cross-covariance terms must also be included.
Worked Example: A Three-Step Forecast-Error Covariance
Continue with a hypothetical fitted VAR(1) whose coefficient matrix is \(A=\begin{pmatrix}0.5&0.2\\0&0.4\end{pmatrix}\). Suppose its innovation covariance, in squared units of the two variables, is \(\Sigma_u=\begin{pmatrix}1&0.3\\0.3&0.64\end{pmatrix}\). For a VAR(1), \(\Psi_0=I\), \(\Psi_1=A\), and \(\Psi_2=A^2\). First,
Next, \(A^2=\begin{pmatrix}0.25&0.18\\0&0.16\end{pmatrix}\), so
At horizon three, the covariance formula uses all three innovation dates:
For example, the first variable’s three-step forecast-error variance is \(1.445836\) squared units. The off-diagonal value \(0.441632\) is the forecast-error covariance between the two variables, not a correlation. The calculation assumes that the innovation covariance is constant across the forecast dates and that innovations at distinct dates are uncorrelated.
Prediction Intervals and Joint Prediction Regions
If future innovations are jointly Gaussian conditional on the information at \(T\), the forecast error is Gaussian with mean zero and covariance \(V_h\). A marginal prediction interval for component \(r\) uses the corresponding diagonal entry \((V_h)_{rr}\). At the 95% level, it is the forecast plus or minus \(1.96\sqrt{(V_h)_{rr}}\). This is an interval for a future realized value, in the units of that variable.
A joint region for all \(k\) forecast components requires care about the rank of \(V_h\). If \(V_h\) is positive definite, the Gaussian squared distance \((y-\hat y)'V_h^{-1}(y-\hat y)\) has a chi-squared distribution with \(k\) degrees of freedom. The 95% joint prediction region is therefore the ellipsoid defined by a cutoff of \(\chi^2_{k,0.95}\). If \(V_h\) has rank \(r<k\), the inverse and the \(k\)-degree-of-freedom result do not apply. A Gaussian forecast error then lies on the \(r\)-dimensional support of \(V_h\); use its Moore–Penrose pseudoinverse \(V_h^+\), restrict the region to that support, and use a \(\chi^2_{r,0.95}\) cutoff.
Worked Example: A Marginal Interval and a Joint Region
Use the hypothetical two-variable VAR(1) covariance calculated above at horizon two:
The first component has forecast-error standard deviation \(\sqrt{1.3356}\approx1.1557\) units. Its 95% marginal prediction interval is
This interval concerns the future realized value of the first variable at \(T+2\); it is not a confidence interval for its conditional mean. The covariance matrix is positive definite: its leading diagonal entry is positive and its determinant is \(1.3356(0.7424)-0.4112^2=0.822464\approx0.8225>0\). Thus, under conditional Gaussianity, the 95% joint region is the ellipsoid
The ellipsoid accounts for the covariance between the two forecast errors. It is a joint region for both components together, not two separate 95% marginal intervals.
Worked Example: A Singular Forecast-Error Covariance
Consider a hypothetical VAR(1) with \(A=0.5I_2\) and innovation covariance \(\Sigma_u=\begin{pmatrix}1&1\\1&1\end{pmatrix}\). This covariance has rank one: the two innovation components are identical, not independent. At horizon two, \(\Psi_0=I_2\), \(\Psi_1=0.5I_2\), and
This matrix has rank \(r=1\), so the inverse-based two-dimensional ellipsoid is undefined. A forecast error lies on the support consisting of vectors \(e=(z,z)'\). The pseudoinverse is \(V_2^+=0.2\begin{pmatrix}1&1\\1&1\end{pmatrix}\), and for such an error,
Under Gaussian innovations, \(z\) has variance \(1.25\), so \(e'V_2^+e\) has a \(\chi^2_1\) distribution. The 95% joint region is consequently the line segment on the support satisfying \(e'V_2^+e\leq\chi^2_{1,0.95}\approx3.841\), not a full two-dimensional ellipse. This example shows why the rank condition must be checked before using an inverse and a chi-squared cutoff.
Interpretation and Common Pitfalls
The formulas give forecast uncertainty conditional on the fitted model and its estimated coefficients. In an applied analysis, replacing \(\Sigma_u\) with \(\hat\Sigma_u\) and using fitted coefficients makes the calculated interval or region a plug-in approximation. It reflects future innovation uncertainty, but not uncertainty in the estimated VAR parameters. If the innovation distribution is not Gaussian, the covariance calculation can still describe second-moment uncertainty under the assumptions above, but Gaussian prediction cutoffs need not give exact coverage.
- Using actual future values during recursion. The forecast at horizon \(h\) cannot use \(y_{T+1},\ldots,y_{T+h-1}\), which are not yet observed. Use the forecasts previously produced for those dates.
- Using only the current innovation covariance at every horizon. At horizon \(h>1\), earlier future innovations also affect the outcome. Include each term \(\Psi_i\Sigma_u\Psi_i'\) for \(i=0,\ldots,h-1\).
- Calling a marginal interval a joint region. Separate 95% intervals for each component do not in general provide 95% simultaneous coverage for the whole vector. Use a joint region when the claim concerns all components together.
- Inverting a singular covariance matrix. A Gaussian assumption alone does not guarantee that \(V_h\) is nonsingular. Check its rank; for rank \(r<k\), use the pseudoinverse on the covariance support and a \(\chi^2_r\) cutoff.
- Treating a plug-in interval as if it included every source of uncertainty. The covariance formula here accounts for future innovations conditional on fitted coefficients; it does not automatically account for coefficient-estimation uncertainty.
Check Your Understanding
Answer each question using the definitions and assumptions in this tutorial.
- In a multi-step VAR forecast, why are previously forecasted values used in place of future observations?
- Write the expression for \(V_3\) in terms of \(\Psi_0,\Psi_1,\Psi_2\), and \(\Sigma_u\).
- What assumptions allow the covariance of the forecast-error sum to be written as a sum without cross-date terms?
- What additional condition is needed to use an inverse-based Gaussian joint region with a \(\chi^2_k\) cutoff?
- If \(V_h\) has rank \(r<k\), what covariance matrix operation and chi-squared degrees of freedom are appropriate for a Gaussian joint region?