Problem with ident GUI while predicting time-series
2 views (last 30 days)
Show older comments
I used ident GUI in Sys. ident. Toolbpx to model a time series and do 88-step ahead predictions. I tried different orders for the ARMA model and finally realised an ARMA model with some certain order gives satisfactory results. While plotting model output for the validation data (which is of course not used in model estimation), I get zero errors for more than 88 steps ahead and then the output starts to converge from the validation data. But the zero errors in the first couple of hundred time steps made me a bit suspicious, so I made up a new set of validation data which was all zeros. I was expecting to get huge errors (if the output actually tracks the real time-series), instead apart from a bit of chattering in the first time-steps, the model output converges to zero! In other words, no matter what is my validation data, the model seems to track it very well. Clearly, something's wrong in here, but cannot find out what is it. If anybody has any recommendation or comments on how to overcome this dilemma, I'd be grateful.
0 Comments
Answers (2)
Rajiv Singh
on 14 Jun 2013
Edited: Rajiv Singh
on 14 Jun 2013
When predicting, the results depend upon the initial conditions. The GUI estimates the initial conditions to maximize the fit to the observed data. It does not currently offer any other way of describing/handling initial conditions. The good fit to the start of the data results from the choice of automatically estimated initial conditions.
You can explore various initial condition handling options in the command window using the "predictOptions" command that supplies options to the "predict" command (type "help predict" for more information). For example, you can do something like this:
opt = predictOptions('InitialCondition', 'zero'); % use zero i.c.
% perform 1-step ahead prediction over the time span of available data and using zero initial conditions
output = predict(model, data, 1, opt)
Note that 1-step ahead prediction is not a stringent test of model quality; even a poor model can predict what lies one step ahead given the right initial conditions and knowledge of the past behavior. You may therefore need the "forecast" command which forecasts the output of the model into future (beyond the time span of supplied data).
Vahid Bokharaie
on 20 Jun 2013
1 Comment
Rajiv Singh
on 23 Jun 2013
Forecasting starts one sample after the last time instant of the historical data provided as input. In practice, the time range is affected by the SamplingInstants of the historical data. What is the value of "SamplingInstants" property for your data?
See Also
Categories
Find more on Linear Model Identification in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!