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.
- MQN-HiTS example: produce accurate and efficient probabilistic forecasts in long-horizon settings. Outperforming
AutoARIMA
's accuracy in a fraction of the time. - N-HiTS example: load, train, and tune hyperparameter, to achieve SoTA. Outperform Transformers by 25% in 50x less time.
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).
Here is a link to the documentation.
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 conda-forge 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 .
- 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.
This project is licensed under the GPLv3 License - see the LICENSE file for details.
See CONTRIBUTING.md.
Thanks goes to these wonderful people (emoji key):
fede 💻 🐛 📖 |
Greg DeVos 🤔 |
Cristian Challu 💻 |
mergenthaler 📖 💻 |
Kin 💻 🐛 🔣 |
José Morales 💻 |
Alejandro 💻 |
stefanialvs 🎨 |
Ikko Ashimine 🐛 |
vglaucus 🐛 |
Pietro Monticone 🐛 |
This project follows the all-contributors specification. Contributions of any kind welcome!