Recursive estimation and forecasting

6 views (last 30 days)
Keith Godfrey Munjoma
Keith Godfrey Munjoma on 27 Mar 2020
Answered: Pavl M. on 21 Nov 2024 at 14:41
How can i improve my forecasting?
Each time I estimate a model I should do a one-step ahead prediction, .e.g, predict first 21th observation then, re-estimate the model inlcuding this time period, and do a new one-step ahead prediction,now for the 22th observation etc up to 100
How can i improve this script to achieve my job?
Mdl = arima(1,0,0);
Mdl = estimate(Mdl,data);
res = infer(Mdl,data); % Retrieve inferred residuals
foreValues = forecast(Mdl,1,'Y0',data','E0',res) % forecast
thank you

Answers (1)

Pavl M.
Pavl M. on 21 Nov 2024 at 14:41
OK. Good. There are really quite many quite very interesting questions here.
In order to answer in full to the question please provide what is the full historical data of the model,plant?
In your rolling forecaster, from where actual new data about the model and underlying plant will come each forecasting iteration?
Whether from the residuals?
Or each time you modify your model?
Are you going to forecast in each iteration from the model produced from the same initial input data or how you augment your model with new data for forecasting coming from the same initial input data will not improve your forecast.
The model estimate just interpolates. The extrapolation accuracy depends on interpolation ultimately for same extrapolation scheme used in each iteration.
On same data the forecasting will not be more accurate than if you right from the start catch as much data about the model with better than arima model (try ssest) and forecast till 100.
Answer: make your model as accurate and as full right from the start

Categories

Find more on Conditional Mean Models in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!