Recurrent Neural Network with multiple time series

4 views (last 30 days)
Hi, I want to train a recurrent neural network with multiple time series. More specifically, I have M time series trajectories with a varying number of time steps in each trajectory. The documentation for layrecnet() only has examples for a single trajectory, M=1. In the examples, each column of the cell array represents a single time step and each row is a feature or an element. How should I structure the data to account for multiple trajectories? Or should I just retrain the NN for each trajectory in an online learning fashion?
Thanks,

Accepted Answer

Greg Heath
Greg Heath on 6 Aug 2016
Your understanding of the term "multiple trajectories" is not clear to me.
However, you cannot update any old net with only new data because the net will forget the information from the old data UNLESS the new and old data contain the SAME summary statistics (e.g., mean, covariance, auto/cross correlations ... ). I like to think of it in terms of both new and old data are random samples from the same probability distribution.
For regression and classification:
If your net has been trained with datasetA and you wish to update it with datasetB, you should update it with a COMBINATION of datasets A & B )
For timeseries:
If your net has been trained with datasetA and you wish to update it with datasetB,
1. A and B have to be synchronous.
2. Update it with a VECTOR COMBINATION of datasets A & B ), i.e.,
A ==> [ A ; B ]
Hope this helps
Thank you for formally accepting my answer
Greg

More Answers (1)

Greg Heath
Greg Heath on 5 Aug 2016
You can only train for one trajectory at a time;
A multidimensional input just indicats a vector valued signal on a single trajectory.
Hope this helps.
Greg
  3 Comments
poonam
poonam on 27 Nov 2018
I have tried your suggestion. In my case I got new error
Error using preparets (line 105)
Feedback and inputs have different numbers of timesteps.
poonam
poonam on 27 Nov 2018
Edited: poonam on 27 Nov 2018
Following up with this link..
I used the con2seq(in) like in below code.
in = [v1.'; v2.' ; v3.'];
con2seq(in)
% size(v1) = 532326 1
% size(v2) = 532326 1
% size(v3) = 532326 1
% size(in) = 3 532326
Error using con2seq (line 35)
Data has more than one timestep.

Sign in to comment.

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!