This is a work-in-progress of implementing ES-RNN by Slawek Smyl, winner of the M4 competition, and using it in a heuristic manner for forex-forecasting.
This repo contains:
- Holt-Winters implementation.
- GRU residuals learner.
- Multiplicative & Additive time-series-reconstruction.
- Forecasting of the forex dataset; training as well as metric results can be found in the outputs folder.
The original intention was to reproduce the complete ES-RNN algorithm, and its prediction results, on the entirety of the M4-competition dataset. I still have a long way to go. What I have not yet implemented, and I would certainly like to, are the following
- 3d Holt-Winters implementation (that is, multiple series processing in one step)
- multi-series-model with shared trend LSTM
- additive time-series-reconstruction
- autoregressive learner
- blender module to merge predictions from multiple series
- quantile loss to get prediction intervals
- Slawek's loss function that optimises two losses: quantile loss + regularization
- compare performance on benchmark dataset
- reattempt the forex-forecasting
To replicate the results of the es-rnn on the forex dataset:
- Clone this repository to your local machine.
git clone [email protected]:mdarm/neural-networks-project.git
- Navigate to the project directory.
cd neural-networks-project/es-rnn/
- Simply run the
main.py
script.python main.py
- torch
- numpy
- pandas
- matplotlib
- A hybrid method of exponential smoothing and recurrent neural networks for time series forecasting
- The M4 Competition: Results, findings, conclusion and way forward
- M4 Competition Data
- Dilated Recurrent Neural Networks
- Residual LSTM: Design of a Deep Recurrent Architecture for Distant Speech Recognition
- A Dual-Stage Attention-Based recurrent neural network for time series prediction
- Euro foreign exchange reference rates