MATLAB Answers

NARX network for multi step prediction, possible to use "extrapolation time vectors"?

3 views (last 30 days)
Staffan on 30 Mar 2016
Edited: Greg Heath on 15 May 2016
Dear reader,
I just watched the inspiring video about development of forecast models:
At 07:25 in this video a forecast model is used to predict a power consumption. The model uses four input parameters (dry bulb, dew point etc.) which are all forecasted values. Instead of using forecasted values (…to determine forecasted values) I am really interested in listening to your suggestions of how to solve the values for a given day if you had access to part of the result. Let’s say you had access to the "historical" values AND the value of power consumption between 00:00 and 12:00 and wanted to predict the power consumption between 12:00 and 24:00. How would you go about this?
How about this:
- A NARX network with three input variables: power consumption (target vector), time (input vector no. 1) and day (input vector no. 2)
- After training the network in open and closed loop a multi-step prediction is completed using a vector with time (06:00 - 12:00), a vector with the same length detailing the day and empty vector for the corresponding power consumption values. I'm not quite sure how (and if) this specific setup with a "extrapolation time and day vectors" could be used, I would be very greatful for some help here..
- For clarification: In the dataset the time vector will repeat every 24 h (00:00 00:01 ... 23:59 00:00 00:01 ... and so forth). The day vector will also repeat itself every week (1 = Monday, 2 = Tuesday) (this should be compared with the time vector in the two parenthesis ago: 1 1 ... 1 2 2 ... and so forth). With the day and time vectors I'm hoping it would be possible to determine if any weekly reoccurring trends are present, e.g. if the power demand if generally both higher later in the evening on Friday evenings compared to Tuesday evenings.
Generally I would think that knowledge of what day the prediction is valid for and even more importantly the power consumption in the morning (between 00:00 and 12:00, see above) would enhance the accuracy of the prediction (predicted values 12:00 - 24:00, see above). (example: if e.g. higher than expected values were obtained between 00:00 - 12:00 it might be possible that the power consumption is higher than expected at 12:00 - 24:00)
All suggestions are most welcome

Accepted Answer

Greg Heath
Greg Heath on 15 May 2016
Edited: Greg Heath on 15 May 2016
It is good to conjecture. However, there are calculations that will put more meat on the bone:
1. Transform all variables to zero-mean/unit-variance
e.g., help/doc ZSCORE
2. Simultaneous plots of all inputs and targets
3. Autocorrelation plots of targets with significant values highlighted
4. Crosscorrelation plots of targets and inputs with significant values highlighted
5. Plots of SOME targets vs SOME inputs
6. Combining all three models (Timedelaynet, Narnet and Narxnet) for post target prediction:
For example, using Narnet on BOTH input and target can yield post target predictions of both input and output.
The predicted input can then be used with Timedelaynet and Narxnet to obtain more predictions of the output.
If the original data is error-free and stationary, success will depend, primarily, on the accumulation of errors because effective combinations of lags and hidden nodes can be obtained via trial and error.
Hope this helps.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!