Ideas on neural network forecasting with matlab

8 views (last 30 days)
Hello everyone!
I am very new to neural networks and also very new to matlab, so your help is greatly appreciated! I would like to just hear your opinions on my forecasting ideas. I need to know whether my thinking is too complicated or not complicated enough...
Let's say I want to use a neural network to predict the feed-in of wind power into the grid for the next 36 hours. Let's say I have a 1 year dataset that includes the feed-in of wind power within this year. But I also have a 1 year dataset that includes wind speed predictions for every hour of this year. In the future I will only get wind speed predictions for the next 36 hours that I can use as an input to my developed neural network model to predict wind power feed-in for these 36 hours.
Now I would like to train my neural network using the information i have: actual feed-in and wind speed predictions of the past. Therefore I would use the neural network toolbox and let matlab create a script that I can customize later (net=fitnet(hiddenLayerSize)). THEN I want to predict the wind power feed-in for the next 36 hours. Can I simply use my wind speed predictions as an input to the previously developed neural network like:
windpower=net(windspeed)
to create my prediction???
Or is my thinking too simple?
If my idea is an option, would I still need to divide my data basis into three data blocs (train, validate, test) for the development of my neural network? Wouldn't two blocs (train, validate) be enough for the development of the neural network? I would like too calculate the errors of my forecast based on the deviation between my forecast for the next 36 hours and the actual measured wind power feed-in within these 36 hours...So my test bloc would be the data that I collect during the actual USE of the developed neural network, right?
Before you answer please consider that I have read about NARX in this forum, but I do not think that NARX is a possibility for my problem since it only predicts future values based on past values. I do however want to use wind-speed predictions for the FUTURE as major input to my forecast. If you do not entirely understand my questions please let me know!
Thank you so much!

Accepted Answer

Greg Heath
Greg Heath on 19 Sep 2014
% Let's say I want to use a neural network to predict the feed-in of wind power into the grid for the next 36 hours.
What does "feed-in of wind power into the grid" mean??
% Let's say I have a 1 year dataset that includes the feed-in of wind power within this year.
Do you mean Aug 2013 to Aug 2014? What is the sampling rate?
% But I also have a 1 year dataset that includes wind speed predictions for every hour of this year. In the future I will only get wind speed predictions for the next 36 hours that I can use as an input to my developed neural network model to predict wind power feed-in for these 36 hours.
How often do you get the 36hr predictions?
% Now I would like to train my neural network using the information i have: actual feed-in and wind speed predictions of the past. Therefore I would use the neural network toolbox and let matlab create a script that I can customize later (net=fitnet(hiddenLayerSize)). THEN I want to predict the wind power feed-in for the next 36 hours. Can I simply use my wind speed predictions as an input to the previously developed neural network like:
windpower=net(windspeed)
to create my prediction??? Or is my thinking too simple?
Always try the simplest models first. However, I suspect that there may be time dependencies that could improve performance.
Therefore you should obtain the significant lags of the power autocorrelation function and power/speed crosscorrelation function.
% If my idea is an option, would I still need to divide my data basis into three data blocs (train, validate, test) for the development of my neural network?
Yes
% Wouldn't two blocs (train, validate) be enough for the development of the neural network?
No. You should get an UNBIASED estimate of future performance on nondesign data before you deploy the net.
% I would like too calculate the errors of my forecast based on the deviation between my forecast for the next 36 hours and the actual measured wind power feed-in within these 36 hours...So my test bloc would be the data that I collect during the actual USE of the developed neural network, right?
This happens after deployment. However, before deployment, you should get an unbiased estimate of how the deployed net will perform. Hence the three part division before deployment.
% Before you answer please consider that I have read about NARX in this forum, but I do not think that NARX is a possibility for my problem since it only predicts future values based on past values.
Incorrect. That is a NAR net. The NARX net uses BOTH exogeneous input AND output feedback.
% I do however want to use wind-speed predictions for the FUTURE as major input to my forecast.
If you just want input, use the TIMEDELAYNET. However, I recommend designing both and comparing. Although the NARX design will be more complicated, it often performs
significantly better.
Hope this helps.
Thank you for formally accepting my answer
Greg

More Answers (0)

Categories

Find more on Deep Learning Toolbox 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!