Length of X vector in ARMAX/ARIMAX/SARIMAX model

조회 수: 6 (최근 30일)
MC3105
MC3105 2014년 10월 9일
답변: Esmail 2014년 11월 6일
Hello everyone,
I want to create a time series model with exogenous inputs to predict future values of the measured time series. To do so I am using an ARIMAX model. Right now I have 8496 data points in my Y and my X vector. But when I want to estimate my model matlab tells me that my X vector must contain at least 8525 data points. So I got a few options now:
I can add a few more values at the end of my X vector (those values would be more recent then all the values that I used above). I can add a few more values at the beginning of my X vector (those values would represent pretty "old" data).
The results differ only slightly. But what is the right way??
Thanks a lot!

채택된 답변

Roger Wohlwend
Roger Wohlwend 2014년 10월 10일
You have to add the values at the beginning. I assume you did not specify Y0 when using the estimate-function. That is why Matlab expects the X vector to be longer than the Y vector. Matlab needs the extra values to initialize the model. That would also mean that in your case P = 29. So add the data at the beginning. Alternatively you could specify Y0, then your vectors Y and X must be of the same length.
The fact that it does not make a big difference if you add the values at the beginning or at the end of X could mean that your X does not contribute significantly to the model. Check the T-values of the coefficient of the regression component to see if it is significant. If it is not estimate the model without X.

추가 답변 (1개)

Esmail
Esmail 2014년 11월 6일
I've had the same problem yesterday. I think if you are going to 'estimate' a ARMAX(p,q) modell you have to add P old values at the beginning of your X. But if you are interested to 'simulate' a new values based on a already estimated model you have to add new X-values by numObs at the end of your X. I case of having lots of X parameters (as in my case) it would be more convenient to adapt the length of your Y values to the model. Meaning:
For estimate a ARIMAX(p,q): Y=Y(p:end,:) For a simulataion based on a ARIMA model by numObs: Y=Y(1:end-numObs,:)

카테고리

Help CenterFile Exchange에서 Input-Output Polynomial Models에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by