NARX how to control batch sequences
Show older comments
Hello,
I would be glad if you could help me with the following.
I wanted to use a NARX network approximate a function with one out put and 6 inputs. For this I have 200 Matrices where the function values change over time (each aprox. 20000 Timesteps).
I thought it would be most practical to train the network with one such Matrice per batch because the Matrice is representing a "one lifetime" and different Matrices differ in the usage of the product. The output depends on the history of the 6 Inputs.
So far I have tried it with Array (1x200 Matrices = different usage) each Matrice (6 Inputs x 20000 Timesteps)
and
Array (1x20000 Matrices = Timesteps) each Matrice (6 Inputs x 200 Matrices = different usage)
Both times the performance was that bad that I could not guess which way is the right one and if it is possible anyway. I thought I saw somewhere that one Cell of an Array Input is used as one batch in the default training.
Thank you very much
Dominic
8 Comments
Greg Heath
on 23 Aug 2014
Edited: Greg Heath
on 23 Aug 2014
Sorry. I don't understand.
What is the product?
What are the 6 inputs and 1 output?
You nave 200 input matrices of size 6x20000 and 200 corresponding 1x20000 output vectors?
Do you really need to predict future outputs? Current outputs are not sufficient? How far into the future do you need to predict?
Are the 7 variables stationary ?
If you divide each matrix into 20 blocks of 1000, are the mean, variance and significant auto and cross correlations the same?
You have so much data, you really don't need a validation set.
Greg
P.S> Do not use the default data division function 'dividerand'
Dominic
on 23 Aug 2014
Dominic
on 23 Aug 2014
Greg Heath
on 23 Aug 2014
For each variable you have a 2x2 matrix. What does each number mean?
Have you calculated the frequency spectrum of each output signal?
Are the spectra consistent? What feedback time delays are indicated from the dominant peaks at positive frequencies? Are they the same as indicated in the autocorrelation functions?
If so, what are the significant positive lags?
Are the cross spectra of inputs and outputs consistent? What input time delays are indicated from the dominant peaks at nonnegative frequencies? Are they the same as indicated in the crosscorrelation functions?
If so, what are the significant nonnegative lags?
If lag = 0 is significant, try fitnet before designing timeseries.
It may be prudent to design timedelaynet and narnet before designing narxnet.
Good Luck
Dominic
on 23 Aug 2014
Greg Heath
on 23 Aug 2014
When I look at your plots I notice the following
Something very significant happens ~ t= 1800
var5 = var2
target = var6
Is that consistent with other data sets?
Dominic
on 23 Aug 2014
Answers (0)
Categories
Find more on Deep Learning Toolbox in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


