Deep Temporal Forecasting with Recurrent Neural Networks (RNNs)

Forecasting time series

Here, we focus on using Recurrent Neural Networks or RNNs for forecasting time series. Specifically, we use Python and TensorFlow to implement an RNN capable of forecasting monthly airline passengers 12-months into the future with ~97% accuracy:

Jupyter Notebook: Recurrent Neural Networks (RNNs) for Time Series Prediction

Recurrent neural networks – big picture

While we consider the problem of forecasting monthly airline passengers, our goal is general-purpose time series prediction. Towards this goal, we look at RNNs. RNNs’ architectures, as Olah (2015) notes, are naturally well suited for time series data. Unlike traditional Artificial Neural Networks or ANNs, which learn from scalar inputs, RNNs learn from sequences of scalar inputs. As Géron (2017) notes, a recurrent neuron learns sequences by looping its output back to itself at the next time step or frame. This output and the input at the next time step are received by the recurrent neuron and contribute to its activation. Such recurrent learning is what gives RNNs their so-called memory and of course their name.

Unlike traditional Artificial Neural Networks or ANNs, which learn from scalar inputs, RNNs learn from sequences of scalar inputs.

Continue reading