fevd
Generate vector autoregression (VAR) model forecast error variance decomposition (FEVD)
Syntax
Description
The fevd
function returns the forecast error variance decomposition (FEVD) of the variables in a VAR(p) model attributable to shocks to each response variable in the system. A fully specified varm
model object characterizes the VAR model.
To estimate or plot the FEVD of a dynamic linear model characterized by structural, autoregression, or moving average coefficient matrices, see armafevd
.
The FEVD provides information about the relative importance of each innovation in affecting the forecast error variance of all response variables in the system. In contrast, the impulse response function (IRF) traces the effects of an innovation shock to one variable on the response of all variables in the system. To estimate the IRF of a VAR model characterized by a varm
model object, see irf
.
returns the orthogonalized FEVDs of the response variables that compose the VAR(p) model Decomposition
= fevd(Mdl
)Mdl
, characterized by a fully specified varm
model object. fevd
shocks variables at time 0, and returns the FEVD for times 1 through 20.
uses additional options specified by one or more name-value pair arguments. For example, Decomposition
= fevd(Mdl
,Name,Value
)'NumObs',10,'Method',"generalized"
specifies estimating a generalized FEVD for periods 1 through 10.
[
uses any of the input argument combinations in the previous syntaxes and returns lower and upper 95% confidence bounds for each period and variable in the FEVD.Decomposition
,Lower
,Upper
] = fevd(___)
If you specify series of residuals by using the
E
name-value pair argument, thenfevd
estimates the confidence bounds by bootstrapping the specified residuals.Otherwise,
fevd
estimates confidence bounds by conducting Monte Carlo simulation.
If Mdl
is a custom varm
model object (an object not returned by estimate
or modified after estimation), fevd
might require a sample size for the simulation SampleSize
or presample responses Y0
.
Examples
Input Arguments
Output Arguments
More About
Algorithms
If
Method
is"orthogonalized"
, thenfevd
orthogonalizes the innovation shocks by applying the Cholesky factorization of the model covariance matrixMdl.Covariance
. The covariance of the orthogonalized innovation shocks is the identity matrix, and the FEVD of each variable sums to one (that is, the sum along any row ofDecomposition
is one). Therefore, the orthogonalized FEVD represents the proportion of forecast error variance attributable to various shocks in the system. However, the orthogonalized FEVD generally depends on the order of the variables.If
Method
is"generalized"
, then the resulting FEVD is invariant to the order of the variables, and is not based on an orthogonal transformation. Also, the resulting FEVD sums to one for a particular variable only whenMdl.Covariance
is diagonal [4]. Therefore, the generalized FEVD represents the contribution to the forecast error variance of equation-wise shocks to the response variables in the model.If
Mdl.Covariance
is a diagonal matrix, then the resulting generalized and orthogonalized FEVDs are identical. Otherwise, the resulting generalized and orthogonalized FEVDs are identical only when the first variable shocks all variables (that is, all else being the same, both methods yield the same value ofDecomposition(:,1,:)
).NaN
values inY0
,X
, andE
indicate missing data.fevd
removes missing data from these arguments by list-wise deletion. Each argument, if a row contains at least oneNaN
, thenfevd
removes the entire row.List-wise deletion reduces the sample size, can create irregular time series, and can cause
E
andX
to be unsynchronized.The predictor data
X
represents a single path of exogenous multivariate time series. If you specifyX
and the VAR modelMdl
has a regression component (Mdl.Beta
is not an empty array),fevd
applies the same exogenous data to all paths used for confidence interval estimation.fevd
conducts a simulation to estimate the confidence boundsLower
andUpper
.If you do not specify residuals
E
, thenfevd
conducts a Monte Carlo simulation by following this procedure:Simulate
NumPaths
response paths of lengthSampleSize
fromMdl
.Fit
NumPaths
models that have the same structure asMdl
to the simulated response paths. IfMdl
contains a regression component and you specifyX
, thefevd
fits theNumPaths
models to the simulated response paths andX
(the same predictor data for all paths).Estimate
NumPaths
FEVDs from theNumPaths
estimated models.For each time point t = 0,…,
NumObs
, estimate the confidence intervals by computing 1 –Confidence
andConfidence
quantiles (the upper and lower bounds, respectively).
If you specify residuals
E
, thenfevd
conducts a nonparametric bootstrap by following this procedure:Resample, with replacement,
SampleSize
residuals fromE
. Perform this stepNumPaths
times to obtainNumPaths
paths.Center each path of bootstrapped residuals.
Filter each path of centered, bootstrapped residuals through
Mdl
to obtainNumPaths
bootstrapped response paths of lengthSampleSize
.Complete steps 2 through 4 of the Monte Carlo simulation, but replace the simulated response paths with the bootstrapped response paths.
References
[1] Hamilton, James D. Time Series Analysis. Princeton, NJ: Princeton University Press, 1994.
[2] Lütkepohl, H. "Asymptotic Distributions of Impulse Response Functions and Forecast Error Variance Decompositions of Vector Autoregressive Models." Review of Economics and Statistics. Vol. 72, 1990, pp. 116–125.
[3] Lütkepohl, Helmut. New Introduction to Multiple Time Series Analysis. New York, NY: Springer-Verlag, 2007.
[4] Pesaran, H. H., and Y. Shin. "Generalized Impulse Response Analysis in Linear Multivariate Models." Economic Letters. Vol. 58, 1998, pp. 17–29.