Nixtla
🧠
Forecast
Neural Deep Learning for time series
State-of-the-art time series forecasting for PyTorch.
NeuralForecast
is a Python library for time series forecasting with deep learning models. It includes benchmark datasets, data-loading utilities, evaluation functions, statistical tests, univariate model benchmarks and SOTA models implemented in PyTorch and PyTorchLightning.
⚡
Why?
Accuracy:
- Global model is fitted simultaneously for several time series.
- Shared information helps with highly parametrized and flexible models.
- Useful for items/skus that have little to no history available.
Efficiency:
- Automatic featurization processes.
- Fast computations (GPU or TPU).
📖
Documentation
Here is a link to the documentation.
🧬
Getting Started
💻
Installation
PyPI
You can install the released version of NeuralForecast
from the Python package index with:
pip install neuralforecast
(Installing inside a python virtualenvironment or a conda environment is recommended.)
Conda
Also you can install the released version of NeuralForecast
from conda with:
conda install -c nixtla neuralforecast
(Installing inside a python virtualenvironment or a conda environment is recommended.)
Dev Mode
If you want to make some modifications to the code and see the effects in real time (without reinstalling), follow the steps below:git clone https://github.com/Nixtla/neuralforecast.git
cd neuralforecast
pip install -e .
Forecasting models
- Neural Hierarchical Interpolation for Time Series Forecasting (N-HiTS: A new model for long-horizon forecasting which incorporates novel hierarchical interpolation and multi-rate data sampling techniques to specialize blocks of its architecture to different frequency band of the time-series signal. It achieves SoTA performance on several benchmark datasets, outperforming current Transformer-based models by more than 25%.
- Exponential Smoothing Recurrent Neural Network (ES-RNN): A hybrid model that combines the expressivity of non linear models to capture the trends while it normalizes using a Holt-Winters inspired model for the levels and seasonals. This model is the winner of the M4 forecasting competition.
- Neural Basis Expansion Analysis (N-BEATS): A model from Element-AI (Yoshua Bengio’s lab) that has proven to achieve state-of-the-art performance on benchmark large scale forecasting datasets like Tourism, M3, and M4. The model is fast to train and has an interpretable configuration.
- Neural Basis Expansion Analysis with Exogenous Variables (N-BEATSx): The neural basis expansion with exogenous variables is an extension to the original N-BEATS that allows it to include time dependent covariates.
- Transformer-Based Models: Transformer-based framework for unsupervised representation learning of multivariate time series.
- Autoformer: Encoder-decoder model with decomposition capabilities and an approximation to attention based on Fourier transform.
- Informer: Transformer with MLP based multi-step prediction strategy, that approximates self-attention with sparsity.
- Transformer: Classical vanilla Transformer.
📃
License
This project is licensed under the GPLv3 License - see the LICENSE file for details.
🔨
How to contribute
See CONTRIBUTING.md.
✨
Contributors Thanks goes to these wonderful people (emoji key):
fede |
Greg DeVos |
Cristian Challu |
mergenthaler |
Kin |
José Morales |
Alejandro |
stefanialvs |
Ikko Ashimine |
This project follows the all-contributors specification. Contributions of any kind welcome!