Training Neural Network on Discontinuous Timeseries

3 visualizaciones (últimos 30 días)
Nada Almarshad
Nada Almarshad el 24 de Ag. de 2017
Editada: Greg Heath el 21 de Jul. de 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 comentarios
Nada Almarshad
Nada Almarshad el 21 de Jul. de 2019
Editada: Nada Almarshad el 21 de Jul. de 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 el 21 de Jul. de 2019
Editada: Greg Heath el 21 de Jul. de 2019
Nada,
The "direct relationship" you have described is not a timeseries configuration.
Hope this helps.
Greg

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Deep Learning Toolbox en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by