Most VAR analysis uses precisely the same set of variables on their right hand sides of each equation. This does not allow for different sets of dummy variables in DETERM or different lag structures, or leave some endogenous variables out of some of the equations. A “near–VAR” is a model which is similar to a VAR, but has some slight differences among the equations.
To construct a near–VAR, you need to either set up the equations individually (using the instruction EQUATION), which are then bound into a model using GROUP, or you can set up two or more blocks using SYSTEM definitions, and then “add” the models. Using EQUATION and GROUP is the only choice if the equations have different lags, or otherwise have an irregular structure.
We’ll look at two ways to set up a near–VAR where the equation for USA includes only the lags of USA itself, while the other two regions are full VAR equations:
With EQUATION
equation usaeq usagdp
# constant usagdp{1 to 4}
equation mexeq mexgdp
# constant usagdp{1 to 4} mexgdp{1 to 4} centgdp{1 to 4}
equation centeq centgdp
# constant usagdp{1 to 4} mexgdp{1 to 4} centgdp{1 to 4}
group gdpmodel usaeq mexeq centeq
With multiple SYSTEMS
This is likely to be more useful with larger models (it's the same number of instructions regardless of the number of dependent variables). You define systems using DETERM instructions for lags of the variables which are in the smaller block(s):
system(model=usa)
variables usagdp
lags 1 to 4
det constant
end(system)
system(model=centmex)
variables mexgdp centgdp
lags 1 to 4
det constant usagdp{1 to 4}
end(system)
compute gdpmodel=usa+centmex
Estimation
If you construct a near–VAR using either of these two methods, you can estimate it with ESTIMATE with the option MODEL=GDPMODEL. This will estimate the model with equation by equation least squares, and define all the standard summary statistics produced by ESTIMATE for a standard VAR: for instance %SIGMA is the covariance matrix of residuals and %VARLAGSUMS has the matrix of the lag sums.
Least squares gives consistent estimates, but they aren't, in general, the maximum likelihood estimates. Instead, there may be some gain to using SUR (Seemingly Unrelated Regressions) to estimate the system instead of ESTIMATE. However, this is really only feasible for small systems because the number of parameters quickly gets excessive. RATS can accurately handle systems with hundreds of parameters, but the improvement in efficiency will usually not be worth the trouble. The standard results on SUR vs OLS (Greene, 2012, p 294) tell us there can be a gain in efficiency only if
•the residuals are correlated across equations, and
•the regressors are not the same in each equation.
When the residual correlation is not large and there is much duplication in regressors, the improvement will be small. Even with high correlation, the regression on the smallest subset (the USA equation in the three-variable system) get the same estimates with SUR and OLS. If you want to estimate with SUR, you probably want maximum likelihood estimates, so you need iterated SUR. That would be done in our case with
sur(model=gdpmodel,iters=20)
Impulse Response Functions/FEVD
The point estimates of these work exactly the same way as they do for a full VAR, so you can use IMPULSE, ERRORS and HISTORY. However, you can’t use the same simple techniques for drawing for the posterior for getting confidence bands that you can with a full (OLS) VAR. There are several reasons for this, but the most important is that the covariance matrix no longer has an unconditional density the way it does in a full (OLS) VAR. Instead, you need to do Gibbs sampling. Because organizing a Gibbs sampler for a system of equations of differing forms is a bit complicated, there is a set of specialty procedures in @SURGibbsSetup for handling it. See MONTESUR.RPF for an example.
Structural VAR’s
You can estimate a structural near-VAR using the two-step procedure of estimating the lag model, then applying CVMODEL or some other technique for estimating the covariance matrix model. These will give consistent estimates. The main question is under what situations you can easily get maximum likelihood estimates. Unlike the case with a full VAR, restrictions on the covariance matrix now have an effect on the maximum likelihood estimates for the lag coefficients. Thus, there is no easy way to get maximum likelihood estimates for the model if the covariance model is overidentified—you would have to estimate the lag coefficients and covariance model jointly. However, if you have a just-identified structural model, then a two-step approach of estimating the lag model (using iterated SUR to get maximum likelihood), then estimating the structural model in a second step will give maximum likelihood for the full model.
Copyright © 2026 Thomas A. Doan