# 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!