# How to estimate the threshold VAR model?

32 次查看（过去 30 天）
Ameer Fahmi2019-5-1

I'm using toolbox of threshold VAR model devloped by Gabriel Bruneau
I tried the following syntax for the selction of threshold VAR model as described in the code
ic = tvarxic(y,8,2,([0 1]),'SBIC')
The first argument is my input which is a matrix of two variables with 268 observations, next to it there is the maximum lags followed by by the number of theresholds. Then there is a vector to spicify the transition variable, 1 indicates for the variable to be taken as transition variable. The last argument is for the information criteria
However, every time I run the code, I got the following error
Error using tvarxic
Expected input number 4, transVar, to be an array with number of rows equal to 268.
Error in tvarxic>checkInput (line 279)
validateattributes(transVar,{'numeric'},{'real','nrows',size(y,1),'ncols',1},'tvarxic','transVar',4);
Error in tvarxic (line 82)
[y,nARmax,nThreshmax,transVar] = checkInput(y,nARmax,nThreshmax,transVar);
I tried many things but I'm getting the same error, could anyone please check and tell me what I'm doing wrong here
Any help is deeply appreciated

### 回答（1 个）

pan chao pan 2019-8-27
##### 6 个评论显示隐藏 5更早的评论
Hamid Muili 2021-4-5
Finally I was able to fix it. Just create a matrix of logical expression in MATLAB. For example, if y contains my data set 100*4 for 4 variables with 100 observation. And I want to use the first column variable as the treshold variable. Just create a matrix of logical expression. Treshvar= [true, false,false, false]. This tells MATLAB that it should only use the first variable as the treshold variable.

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!