This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (February 2012) (Learn how and when to remove this template message)

**Vector autoregression** (**VAR**) is a statistical model used to capture the relationship between multiple quantities as they change over time. VAR is a type of stochastic process model. VAR models generalize the single-variable (univariate) autoregressive model by allowing for multivariate time series. VAR models are often used in economics and the natural sciences.

Like the autoregressive model, each variable has an equation modelling its evolution over time. This equation includes the variable's lagged (past) values, the lagged values of the other variables in the model, and an error term. VAR models do not require as much knowledge about the forces influencing a variable as do structural models with simultaneous equations. The only prior knowledge required is a list of variables which can be hypothesized to affect each other over time.

This section includes a list of references, related reading, or external links, but its sources remain unclear because it lacks inline citations. Please help improve this section by introducing more precise citations. (February 2012) (Learn how and when to remove this template message)

A VAR model describes the evolution of a set of *k* variables, called *endogenous variables*, over time. Each period of time is numbered, *t* = 1, ..., *T*. The variables are collected in a vector, *y _{t}*, which is of length

VAR models are characterized by their *order*, which refers to the number of earlier time periods the model will use. Continuing the above example, a 5th-order VAR would model each year's wheat price as a linear combination of the last five years of wheat prices. A *lag* is the value of a variable in a previous time period. So in general a *p*th-order VAR refers to a VAR model which includes lags for the last *p* time periods. A *p*th-order VAR is denoted "VAR(*p*)" and sometimes called "a VAR with *p* lags". A *p*th-order VAR model is written as

The variables of the form *y*_{t−i} indicate that variable's value *i* time periods earlier and are called the "i*th* lag" of *y*_{t}. The variable *c* is a *k*-vector of constants serving as the intercept of the model. *A _{i}* is a time-invariant (

- . Every error term has a mean of zero.
- . The contemporaneous covariance matrix of error terms is a
*k*×*k*positive-semidefinite matrix denoted Ω. - for any non-zero
*k*. There is no correlation across time. In particular, there is no serial correlation in individual error terms.^{[1]}

The process of choosing the maximum lag *p* in the VAR model requires special attention because inference is dependent on correctness of the selected lag order.^{[2]}^{[3]}

Note that all variables have to be of the same order of integration. The following cases are distinct:

- All the variables are I(0) (stationary): this is in the standard case, i.e. a VAR in level
- All the variables are I(
*d*) (non-stationary) with*d*> 0:^{[citation needed]}- The variables are cointegrated: the error correction term has to be included in the VAR. The model becomes a Vector error correction model (VECM) which can be seen as a restricted VAR.
- The variables are not cointegrated: first, the variables have to be differenced d times and one has a VAR in difference.

One can stack the vectors in order to write a VAR(*p*) as a stochastic matrix difference equation, with a concise matrix notation:

Details of the matrices are in a separate page.

For a general example of a VAR(*p*) with *k* variables, see General matrix notation of a VAR(p).

A VAR(1) in two variables can be written in matrix form (more compact notation) as

(in which only a single *A* matrix appears because this example has a maximum lag *p* equal to 1), or, equivalently, as the following system of two equations

Each variable in the model has one equation. The current (time *t*) observation of each variable depends on its own lagged values as well as on the lagged values of each other variable in the VAR.

A VAR with *p* lags can always be equivalently rewritten as a VAR with only one lag by appropriately redefining the dependent variable. The transformation amounts to stacking the lags of the VAR(*p*) variable in the new VAR(1) dependent variable and appending identities to complete the number of equations.

For example, the VAR(2) model

can be recast as the VAR(1) model

where *I* is the identity matrix.

The equivalent VAR(1) form is more convenient for analytical derivations and allows more compact statements.

A * structural VAR with p lags* (sometimes abbreviated

where *c*_{0} is a *k* × 1 vector of constants, *B _{i}* is a

The error terms ε* _{t}* (

For example, a two variable structural VAR(1) is:

where

that is, the variances of the structural shocks are denoted (*i* = 1, 2) and the covariance is .

Writing the first equation explicitly and passing *y _{2,t}* to the right hand side one obtains

Note that *y*_{2,t} can have a contemporaneous effect on *y _{1,t}* if

Because of the parameter identification problem, ordinary least squares estimation of the structural VAR would yield inconsistent parameter estimates. This problem can be overcome by rewriting the VAR in reduced form.

From an economic point of view, if the joint dynamics of a set of variables can be represented by a VAR model, then the structural form is a depiction of the underlying, "structural", economic relationships. Two features of the structural form make it the preferred candidate to represent the underlying relations:

- 1.
*Error terms are not correlated*. The structural, economic shocks which drive the dynamics of the economic variables are assumed to be independent, which implies zero correlation between error terms as a desired property. This is helpful for separating out the effects of economically unrelated influences in the VAR. For instance, there is no reason why an oil price shock (as an example of a supply shock) should be related to a shift in consumers' preferences towards a style of clothing (as an example of a demand shock); therefore one would expect these factors to be statistically independent.

- 2.
*Variables can have a contemporaneous impact on other variables*. This is a desirable feature especially when using low frequency data. For example, an indirect tax rate increase would not affect tax revenues the day the decision is announced, but one could find an effect in that quarter's data.

By premultiplying the structural VAR with the inverse of *B*_{0}

and denoting

one obtains the *p*th order reduced VAR

Note that in the reduced form all right hand side variables are predetermined at time *t*. As there are no time *t* endogenous variables on the right hand side, no variable has a *direct* contemporaneous effect on other variables in the model.

However, the error terms in the reduced VAR are composites of the structural shocks *e*_{t} = *B*_{0}^{−1}*ε*_{t}. Thus, the occurrence of one structural shock *ε _{i,t}* can potentially lead to the occurrence of shocks in all error terms

can have non-zero off-diagonal elements, thus allowing non-zero correlation between error terms.

Starting from the concise matrix notation (for details see this annex):

- The multivariate least squares (MLS) approach for estimating B yields:

This can be written alternatively as:

where denotes the Kronecker product and Vec the vectorization of the indicated matrix.

This estimator is consistent and asymptotically efficient. It is furthermore equal to the conditional maximum likelihood estimator.^{[4]}

- As the explanatory variables are the same in each equation, the multivariate least squares estimator is equivalent to the ordinary least squares estimator applied to each equation separately.
^{[5]}

As in the standard case, the maximum likelihood estimator (MLE) of the covariance matrix differs from the ordinary least squares (OLS) estimator.

MLE estimator:^{[citation needed]}

OLS estimator:^{[citation needed]} for a model with a constant, *k* variables and *p* lags.

In a matrix notation, this gives:

The covariance matrix of the parameters can be estimated as^{[citation needed]}

Vector autoregression models often involve the estimation of many parameters. For example, with seven variables and four lags, each matrix of coefficients for a given lag length is 7 by 7, and the vector of constants has 7 elements, so a total of 49×4 + 7 = 203 parameters are estimated, substantially lowering the degrees of freedom of the regression (the number of data points minus the number of parameters to be estimated). This can hurt the accuracy of the parameter estimates and hence of the forecasts given by the model.

Properties of the VAR model are usually summarized using structural analysis using Granger causality, impulse responses, and forecast error variance decompositions.

Consider the first-order case (i.e., with only one lag), with equation of evolution

for evolving (state) vector and vector of shocks. To find, say, the effect of the *j*-th element of the vector of shocks upon the *i*-th element of the state vector 2 periods later, which is a particular impulse response, first write the above equation of evolution one period lagged:

Use this in the original equation of evolution to obtain

then repeat using the twice lagged equation of evolution, to obtain

From this, the effect of the *j*-th component of upon the *i*-th component of is the *i, j* element of the matrix

It can be seen from this induction process that any shock will have an effect on the elements of *y* infinitely far forward in time, although the effect will become smaller and smaller over time assuming that the AR process is stable — that is, that all the eigenvalues of the matrix *A* are less than 1 in absolute value.

Main articles: Autoregressive model § n-step-ahead forecasting, and Autoregressive model § Evaluating the quality of forecasts |

An estimated VAR model can be used for forecasting, and the quality of the forecasts can be judged, in ways that are completely analogous to the methods used in univariate autoregressive modelling.

Christopher Sims has advocated VAR models, criticizing the claims and performance of earlier modeling in macroeconomic econometrics.^{[6]} He recommended VAR models, which had previously appeared in time series statistics and in system identification, a statistical specialty in control theory. Sims advocated VAR models as providing a theory-free method to estimate economic relationships, thus being an alternative to the "incredible identification restrictions" in structural models.^{[6]} VAR models are also increasingly used in health research for automatic analyses of diary data^{[7]} or sensor data.

- R: The package
*vars*includes functions for VAR models.^{[8]}^{[9]}Other R packages are listed in the CRAN Task View: Time Series Analysis. - Python: The
*statsmodels*package's tsa (time series analysis) module supports VARs.*PyFlux*has support for VARs and Bayesian VARs. - SAS: VARMAX
- Stata: "var"
- EViews: "VAR"
- Gretl: "var"
- Matlab: "varm"
- Regression analysis of time series: "SYSTEM"
- LDT