Matlab multiple time series network

Hi all,
I'm trying to create a neural network which can handle 6 time series(MAH,BJ,IJM,STAR,TM,TNB) with 9 elements for each time series.
%%prep input data
inputMAH=tonndata(MAHinnorm,false,false);
inputBJ=tonndata(BJinnorm,false,false);
inputIJM=tonndata(IJMinnorm,false,false);
inputSTAR=tonndata(STARinnorm,false,false);
inputTM=tonndata(TMinnorm,false,false);
inputTNB=tonndata(TNBinnorm,false,false);
%%prep output data
outputMAH=tonndata(MAHoutnorm,false,false);
outputBJ=tonndata(BJoutnorm,false,false);
outputIJM=tonndata(IJMoutnorm,false,false);
outputSTAR=tonndata(STARoutnorm,false,false);
outputTM=tonndata(TMoutnorm,false,false);
outputTNB=tonndata(TNBoutnorm,false,false);
%%Concatenate data
input=catsamples(inputMAH,inputBJ,inputIJM,inputSTAR,inputTM,inputTNB);
output=catsamples(outputMAH,outputBJ,outputIJM,outputSTAR,outputTM,outputTNB);
As above I concatenated the 6 time series into an array which ntstool recognizes as 6 independent time series. However, I'd like to know if ntstool actually created 6 independent neural network from these 6 time series or a single network that is based on all the 6 time series, somewhat like a panel data regression. The output of a single time series NN which I created just to test is quite different to the corresponding output of the concatenated time series NN(both using trainbr and divideblock). Thanks!

3 Comments

Re the concatenated series:
size(input) = [ I N ] = [ 6 9 ] size(target) = [ O N ] = [ 6 9 ]
You really can't do much, reliably, when
1. The number of data points, N, is not at least 10-15 times the input data dimension , I . I usually recommend N > 30*I = 180.
2. The number of training equations, Ntrneq = N*O = 54, are reasonably greater than the number of unknown weights Nw.
For a net with H hidden nodes in an I-H-O MLP topology, the number of unknown weights is
Nw = (I+1)*H+(H+1)*O = O+ (I+O+1)*H = 6 + 13*H
Therefore
Ntrneq > Nw ==> H < (Ntrneq-O)/(I+O+1) = 3.7
4. Of course overfitting (H>=4) can be mitigated by using a validation set (Not enough data here) or using regularization via TRAINBR with the default target function MSEREG, or another training function with MSEREG assigned as the output target function.
Hope this helps.
Greg
Unfortunately there isn't much I can do to get around the data limitation. Have you got any insights regarding my question though?
The net recognizes a data input matrix with size [ I N ] as one I dimensional function.
You can get around the data situation (as I have zillions
of time)
1. Obtain the summary statistics of your data. In my case I
used means, variances and correlations of the data to
SIMULATE data with the same summary statistics.
2. Use the simulated data to design, validate and test
nets.
3. Since there is no limit to the amount of simulated data,
you should get a good sense of how real data behaves.
4. Choose the best m nets.
5. Test the nets on the original real data and, possibly,
new real data obtained during and after the design phase.
Hope this helps.
Thank you for formally accepting my answer
Greg

Sign in to comment.

Answers (1)

The net recognizes a data input matrix with size [ I N ] as one
I dimensional function. You can get around the data situation
(as I have zillions of time)
1. Obtain the summary statistics of your data. In my case I
used means, variances and correlations of the data to
SIMULATE data with the same summary statistics.
2. Use the simulated data to design, validate and test
nets.
3. Since there is no limit to the amount of simulated data,
you should get a good sense of how real data behaves.
4. Choose the best m nets.
5. Test the nets on the original real data and, possibly,
new real data obtained during and after the design phase.
Hope this helps.
Thank you for formally accepting my answer
Greg

Categories

Find more on Sequence and Numeric Feature Data Workflows in Help Center and File Exchange

Asked:

on 11 Sep 2016

Answered:

on 13 Sep 2016

Community Treasure Hunt

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

Start Hunting!