I'm trying to make prediction on a multivariate time series using LSTM. I know stateful=True in keras LSTM means state(hidden) of each sequence, in a batch, at index i - is passed to the next batch, to a sequence on the same index. This ensures 'long term' dependancy. In contrast , stateful=False will reset the state on seeing each sequence. There will be no concept of batches here.This is my source:http://philipperemy.github.io/keras-stateful-lstm/
I had these further doubts though:
- when we say reset states, we mean hidden ones or cell states?
- if I set stateful=False , what's the difference keeping shuffle=True vs shuffle=False in this context?
- similarly, is it not recommended to keep shuffle = True while using stateful LSTM? I assume it's bad practice because we need states to pass at same index across every batch, and shuffling defeats the purpose