I’m looking into building a system that receives a continuous data streaming representing a 1D time series (say, some performance metric from a machine once per minute) and output two things:
- A forecast for that metric for the next hour
- An alert, if the data point we just received is anomalous (e.g., a probability value for the last value being close to what we expected)
As this is an online-model which get updated at each new data point, my first thought is to use LSTM/GRU for sequence prediction, but I’m not sure:
- whether that’s still the state of the art? I already did a bit of inconclusive literature research and looked at this thread, where @Rolfe was wondering about the use of CNN instead: CNN better than LSTM/GRU for time series
- how to predict further than the next item (i.e., 60 minutes/datapoints rather than 1) in a LSTM/GRU
- what’s the best way to bring this in production. I read about the BETA of Cloud-ml’s online predictions: https://cloud.google.com/ml-engine/docs/how-tos/online-predict
Anyone would like to share ideas or good pointers?
Thanks so much everyone, this forum is great.