Time delay vs. NAR neural network and time series
    3 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
Let's assume I am able gather high frequency sampling (second order) data from a (non-trivial) dynamical process. I end with a single and quite long time series y(t). This process has some short and long-term memory (possibly at different scales), but we don't really know, these are general assumptions. I aim at predicting the immediate upcomging value of y(t), namely y(t+1), knowing d past values of y(t), including y(t). I also assume that I am able to find an optimal value of d (yay!).
The goal is to build a regressive neural network (NN) that can predict y(t+1) from I=[y(t-d):y(t)] values. This NN will be used in a program and will continuously predict the output, knowing I. It will act like a sliding window.
I have three questions:
- At first I was considering using a time-delay network, then now I am considering using a NAR network. Both architectures seem possible to me. Is there a best option?
- As Greg suggested in a previous post, I am considering using 'divideblock' instead of 'dividerand' to keep track of autocorrelation that may exist. Any more discussion / guide I should read about this?
- I am going to test for different initial conditions. I'm using the timedelaynet(.) and narnet(.) functions. As far as I read I should be using init(.) or configure(.) but I tested a 1 period training without using these two functions and it seems that the train(.) function does initialize the weights at random. Is this ok? I was not able to find any clues about this in the official matlab documentation.
Thank you!
0 commentaires
Réponse acceptée
  Greg Heath
      
      
 le 15 Nov 2017
        
      Modifié(e) : Greg Heath
      
      
 le 15 Nov 2017
  
      ONE:
Use NARNET :
y(t) = f( y( t-d : t-1 ) )
TIMEDELAYNET requires an applied input and does not use output feedback :
y(t) = f( x( t-d : t-0 ) )
Both are special cases of NARXNET
 y(t) = f( x( t-d1 : t-0 ) , y( t-d2 : t-1 ) )
NOTE: In general, MATLAB doc and/or help incorrectly treats time = 0
=============================================== TWO:
AFAIK I'm the only one that as mentioned it.
Plot abs(autocorr)) to make sure your delays make sense
=============================================== THREE:
TRAIN will randomly initialize ONLY if there are no existing weights.
If you use loops to optimize H and/or the initial weights:
After the first pass though the loop, the net will have weights. Therefore the net will not automatically initialize and you will just keep trying to improve one design!!!
Hope this helps.
Thank you for formally accepting my answer
Greg
Plus de réponses (0)
Voir également
Catégories
				En savoir plus sur Deep Learning Toolbox dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

