Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

To estimate 1-dimensional VAR process (which is AR process) you can easily use functions EstimatedProcess or FindProcessParameters like this:

sample = RandomFunction[ARProcess[{.2,-.4},.1], {1,300}];

EstimatedProcess[sample, ARProcess[{a,b},v]]
(*or*)
FindProcessParameters[sample, ARProcess[{a,b},v]]

Now lets say we have sample

alpha = {{.2,.1}, {-.3,.2}};
sigma = {{1.0,0}, {0,0.3}};
sample = RandomFunction[ARProcess[{alpha},sigma], {1,100}]

which is based on two dimensional VAR process (I took this definition from ARProcess documentation).

Then neither of this two ways does work:

EstimatedProcess[sample,ARProcess[{{{a1,a2}, {a3,a4}}}, {{v1,v2}, {v3,v4}}]]

FindProcessParameters[sample,ARProcess[{{{a1,a2}, {a3,a4}}}, {{v1,v2}, {v3,v4}}]]

Is it possible to estimate vector autoregressive process in Mathematica?

share|improve this question
    
The error message "Estimation is not currently supported for the parameters in process ARProcess[{{{a1,a2},{a3,a4}}},{{v1,v2},{v3,v4}}]" says no. So, other than programming it yourself it looks like it's not possible. –  Sjoerd C. de Vries Jan 30 at 21:54
1  
Thanks for asking, I've long wanted to ask the same question here. It seems that in time series and macroeconomic modeling mma lags far behind packages such as free IRIS Toolbox for Matlab or EViews. –  iav Apr 10 at 14:57
1  
Look at this demo: demonstrations.wolfram.com/AModelOfVectorAutoregression If you download the source code you'll easily find functions for OLS and Yule-Walker estimation procedures. –  iav Apr 10 at 17:21
1  
Thanks for the answer and especially thanks for recommending my demo. :) At first, I was using EViews as well but its not that difficult to apply those methods using such a friendly language as Wolfram language. –  matt525252 Apr 11 at 19:04
1  
@iav, thank you. I focused only on VAR models. Every function I developed should be included in demo. I basically made this demo as a tool because of some calculations in my masters thesis. But maybe in the future I will have time to create some other functions for estimating different types of models. And what do you mean by mma? –  matt525252 Apr 28 at 12:22

1 Answer 1

As was mentioned in the comments above as of yet Mathematica is not able to estimate VAR processes.

So I've tried and implemented VAR estimation function. Actually I've directly translated Cesa-Bianchi's MATLAB code [1].

My code is available here: http://www.alexisakov.com/p/economica.html.

Here is a simple example:

<<Economica`
S = Import[FileNameJoin[{$UserBaseDirectory, "Applications", "Economica", 
 "Kernel", "TimeSeries", "VAR", "BQ_Data.xls"}], {"Data", 1}];
data = S[[3 ;;, {2, 3}]];

Then fit VAR:

 VARout = VARModelFit[data, 8];

VARModelFit returns association with a number of results. Matrix of coefficient estimates is Ft:

coeffs=VARout["Ft"]

Other properties are fit residuals and variance-covariance matrix. Generally all the names are similar to those used by [1].

  1. Ambrogio Cesa-Bianchi, 2014. "VAR Toolbox", sites.google.com/site/ambropo/".
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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