Neural Time Series Anaylsis is an attempt to provide an easy to use interface to modern time-series research from the machine learning community. The library features several models, for 1d time-series regression that have been collected thanks to researchers that published their code and hackers that tried to reproduce them.
- Recurrent models can use the Input Attention mechanism as developed in the DARNN paper, to increate interpretability in case of high-dimensional feature space.
- (Conditional) Neural Processes in the regression setting, can provide mean and variance for each estimate.
- Soft Dynamic Time Warping for time-series alignment
This library comes with the following datasets:
- SML 2010
- NASDAQ 100
- [BTC]
Pickle file can be found here.
To adapt a new dataset, please check utils.dataset_utils.py.
- Dense
- RNN
- Seq2seq
- DARNN
- Neural Process
- Conditional Neural Process
- Soft Dynamic Time Warping
For Pip users:
git clone github.com/d3sm0/ntsa.git
cd ntsa
pip install -r requirements.txt
This library also requires to install the soft-dtw loss function.
If you are used to docker than maybe this can work better:
make docker
make dev
python main.py --model seq2seq --loss sdtw --mode train --data_path data/
This repo is still under refinement and I'm planning to move to eager mode in the upcoming weeks. Nevertheless is usable for early experiments, there for Fork it and hack with it :) Pull request are welcome, and if you need help in making it work, just open an issue.
I warmly advice to read the original paper of the model or loss function that you are planning to use, before moving in the experimental part.