Training Neural Network on Discontinuous Timeseries

3 Ansichten (letzte 30 Tage)
Nada Almarshad
Nada Almarshad am 24 Aug. 2017
Bearbeitet: Greg Heath am 21 Jul. 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 Kommentare
Nada Almarshad
Nada Almarshad am 21 Jul. 2019
Bearbeitet: Nada Almarshad am 21 Jul. 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 am 21 Jul. 2019
Bearbeitet: Greg Heath am 21 Jul. 2019
Nada,
The "direct relationship" you have described is not a timeseries configuration.
Hope this helps.
Greg

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu Deep Learning Toolbox finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by