April 1, 2011

Forecast Error Variance Decomposition in STATA

A very related concept to impulse response functions (IRF) is forecast error variance (FEV) and forecast error variance decomposition (FEVD). To understand these two terms, let's go through each word per word.

Let Γt denote an information set containing yt, as well as earlier values of y. The forecast of yt+1 made at time t is Ε[yt+1t]. This is called a one-step-ahead forecast. Then, the forecast error is the difference between what is the forecasted value, and what the value turned out to be eventually:

εt+1 = yt+1 - Ε[yt+1t]

Generally speaking, and if we consider an autoregression (AR) process, the k-step-ahead forecast error is:


where Φi is, if you remember from a previous post, a matrix that contains the effects of a one-unit increase in innovation on the value of the y variable.

We have to treat positive and negative forecast errors symmetrically, so we square them. The result is none other than the FEV:


To illustrate, let's go back to the example we used in our impulse response analysis. The resulting IRF's of up to 3 periods ahead were:


If we look only at yt up to 3 periods ahead, the FEV's are:


If you notice, since we're only looking at yt, calculating the FEV is just adding up the square of the elements of the first rows of the matrices (the first rows correspond to yt for each period t). Just remember, as we move further from one time period, the sum is cumulative--we add the FEV in period t as well as all other previous periods.

Now, as the FEV corresponds to effects on yt from all sources of impluse shocks, FEVD basically separates FEV into components attributed to each of these sources. In our example, since we have a bivariate VAR system, impulse shocks will come from two sources, (ety,etx):


Of course, it is much easier to understand FEVD if we express them in ratios. So, for example, the contribution of x's structural innovation to the FEV of y in t = 1 is 3.75 ÷ (6.25 + 3.75) = 0.375 or 37.5%. The contribution of y's structural innovation to its own in t = 2 is 6.5 ÷ (6.5 + 3.75) = 0.63414 or 63.414%.

Much like the IRF, FEV is easy to implement in STATA. Just use the IRF TABLE command with the FEVD option. So if we use the real GDP and real oil price data we had before, the commands and results are as follows:


Again, the NOCI option is there to supress reporting of the confidence intervals. So, similar to the IRF table results, you use the footnotes as a guide to identify which variables are the impulse sources and which variables are the affected ones. In this bivariate system, it should be that for each row (which corresponds to time periods), columns (1) and (3) should add up to 1 and columns (2) and (4) should add up to 1 as well.