I'm having a bit of trouble following the explanation of the parameters for vgxset. Being new to the field of time-series is probably part of my problem.

The vgxset help page (http://www.mathworks.com/help/econ/vgxset.html) says that its for a generalized model structure, VARMAX, and I assume that I just use a portion of that for VARMA. I basically tried to figure out what parameters pertain to VARMA versus, as opposed to the additional parameters for VARMAX. I assumed (maybe wrongly) nX and b pertain to the exogenous variables. Unfortunatley, I haven't found much on the internet about the prevailing notational conventions for a VARMAX model, so it's hard to be sure.

The SAS page for VARMAX (http://support.sas.com/documentation/cdl/en/etsug/67525/HTML/default/viewer.htm#etsug_varmax_details02.htm) shows that if you have "r" exogenous inputs and k time series, and if you look back at "s" time steps' worth of exogenous inputs, then you need "s" matrices of coefficients, each (k)x(r) in size.

This doesn't seem to be consistent with the vgxset page, which simply provides an nX-vector "b" of regression parameters. So my assumption that nX and b pertain to the exogenous inputs seems wrong, yet I'm not sure what else they can refer to in a VARMAX model. Furthermore, in all 3 examples given, nX seems to be set to the 3rd argument "s" in VARMAX(p,q,s). Again, though, it's not entirely clear because in all the examples, p=s=2.

Would someone be so kind as to shed some light on VARMAX parameters "b" and "nX"?

  • $\begingroup$ Did we already talk about this? I've talked a lot about vgxset these days... If this question is still active, just contact me.... $\endgroup$
    – Brethlosze
    Commented May 28, 2015 at 17:30
  • $\begingroup$ No, this is about Matlab's notational convention for exogenous inputs. In another thread, we discussed the representation of the noise source in the model. $\endgroup$ Commented May 28, 2015 at 20:31
  • $\begingroup$ No, i mean, if we already talked about this on SO.... I guess you are another person indeed... $\endgroup$
    – Brethlosze
    Commented May 28, 2015 at 22:03
  • $\begingroup$ That'd be interesting. Someone else active on the forums about the same toolbox (and suite of tools in the toolbox) as I am. I'm surprised that I did not notice it in the recommended threads that popup up when making the initial post. $\endgroup$ Commented May 29, 2015 at 11:42

1 Answer 1


On Saturday, May 16, 2015 at 6:09:20 AM UTC-4, Rick wrote:

Your assessment is generally correct, "nX" and "b" parameters do indeed correspond to the exogenous input data "x(t)". The number of columns (i.e., time series) in x(t) is "nX" and is what SAS calls "r", and the coefficient vector "b" is its regression coefficient.

I think the distinction here, and perhaps your confusion, is that SAS incorporates exogenous data x(t) as what's generally called a "distributed lag structure" in which they specify an r-by-T predictor time series and allow this entire series to be lagged using lag operator polynomial notation as are the AR and MA components of the model.

MATLAB's Econometrics Toolbox, adopts a more classical regression component approach. Any exogenous data is included as a simple regression component and is not associated with a lag operator polynomial.

In this convention, if the user wants to include lags of x(t), then they would simply create the appropriate lag of x(t) and include it as additional series (i.e., additional columns of a larger multi-variate exogenous/predictor matrix, say X(t)).

See the utility function LAGMATRIX.

Note that both conventions are perfectly correct. Personally, I feel that regression component approach is slightly more flexible since it does not require you to include "s" lags of all series in x(t).

Interesting. I'm still wrapping my brain around the use of regression to determine lag coefficients. It turns out the the multitude of online tutorial info & hard copy library texts that I've looked at haven't really given much explanatory transition between the theoretical projection of new values onto past values versus actual regression using sample data. Your description is making this more concrete. Thank you.

AFTERNOTE: In keeping with the best practice of which I've been advised, I am posting links to the fora that I posed this question in: http://www.mathworks.com/matlabcentral/newsreader/view_thread/341064 https://stackoverflow.com/questions/30271232/matlabs-varmax-regression-parameters-coefficients-nx-b Matlab's VARMAX regression parameters/coefficients nX & b


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.