Training Neural Network on Discontinuous Timeseries

3 vues (au cours des 30 derniers jours)
Nada Almarshad
Nada Almarshad le 24 Août 2017
Modifié(e) : Greg Heath le 21 Juil 2019
I'm trying to build multilayer feedforward network for timeseries forecasting.
These are my current available data: * Dataset #1: Feb - Apr * Dataset #2: June - Sept * Dataset #3: Oct - Dec
I have successfully built a NN based on Dataset #1, however, I wish to increase the accuracy of my network prediction by expanding the training to include dataset 1-3.
Would it be safe to append all datasets into a single martix, given that they are disconnected in time? (i,e MATRIX(1:60,:) --> dataset #1, MATRIX(61:181,:) --> dataset #2, MATRIX(182:272,:) --> dataset #3)
Or can I simply retrain my neural network three times by repeating the training line in the code, each time with a different dataset input/output? (Example in the code below)
%Create MLP Network
MLPNetwork=feedforwardnet(i,'trainlm');
MLPNetwork.trainparam.min_grad = 0.00000001;
MLPNetwork.trainParam.epochs = 10000;
MLPNetwork.trainParam.lr = 0.01;
%MLPNetwork.trainParam.max_fail =100;
MLPNetwork.divideParam.trainRatio = 70/100;
MLPNetwork.divideParam.valRatio = 15/100;
MLPNetwork.divideParam.testRatio = 15/100;
MLPNetwork=train(MLPNetwork,dataset1_input,dataset1_output);
MLPNetwork=train(MLPNetwork,dataset2_input,dataset2_output);
MLPNetwork=train(MLPNetwork,dataset3_input,dataset3_output);
%simulation%
Simulation_1=MLPNetwork(dataset1_input)
performance_1 = perform(dataset1_output,Simulation_1)
Simulation_2=MLPNetwork(dataset2_input)
performance_2 = perform(dataset2_output,Simulation_2)
Simulation_3=MLPNetwork(dataset1_input)
performance_3 = perform(dataset3_output,Simulation_3)
Little background on the nature of the datasets: The inputs are hourly weather data (Atmospheric pressure, wind speed.. etc) and the output is hourly water level. Hence datasets from different seasons are important.
Many thanks.
  5 commentaires
Nada Almarshad
Nada Almarshad le 21 Juil 2019
Modifié(e) : Nada Almarshad le 21 Juil 2019
Hi Christopher.
Regarding your data, does the output y(t) take x(t), x(t-1)... and x(t-10) as an input? Or is it a direct relationship, such that x(t) produces y(t), x(t-1) gives y(t-1) and so on.
Greg Heath
Greg Heath le 21 Juil 2019
Modifié(e) : Greg Heath le 21 Juil 2019
Nada,
The "direct relationship" you have described is not a timeseries configuration.
Hope this helps.
Greg

Connectez-vous pour commenter.

Réponses (0)

Catégories

En savoir plus sur Deep Learning Toolbox dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by