{"id":15037450,"url":"https://github.com/nixtla/neuralforecast","last_synced_at":"2025-05-16T18:03:35.349Z","repository":{"id":37487534,"uuid":"361568869","full_name":"Nixtla/neuralforecast","owner":"Nixtla","description":"Scalable and user friendly neural :brain: forecasting algorithms.","archived":false,"fork":false,"pushed_at":"2025-05-06T10:35:31.000Z","size":146046,"stargazers_count":3492,"open_issues_count":112,"forks_count":402,"subscribers_count":36,"default_branch":"main","last_synced_at":"2025-05-08T20:55:45.409Z","etag":null,"topics":["baselines","baselines-zoo","deep-learning","deep-neural-networks","deepar","esrnn","forecasting","hierarchical-forecasting","hint","machine-learning","nbeats","nbeatsx","neural-network","nhits","probabilistic-forecasting","pytorch","robust-regression","tft","time-series","transformer"],"latest_commit_sha":null,"homepage":"https://nixtlaverse.nixtla.io/neuralforecast","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Nixtla.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2021-04-26T00:15:19.000Z","updated_at":"2025-05-08T12:29:17.000Z","dependencies_parsed_at":"2022-07-11T22:31:08.477Z","dependency_job_id":"0c0b3770-b2bf-4aca-a846-81055d3d3634","html_url":"https://github.com/Nixtla/neuralforecast","commit_stats":{"total_commits":740,"total_committers":22,"mean_commits":33.63636363636363,"dds":0.5094594594594595,"last_synced_commit":"7233b6cdff6954baa3c2f02d169bc580763fa961"},"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nixtla%2Fneuralforecast","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nixtla%2Fneuralforecast/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nixtla%2Fneuralforecast/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Nixtla%2Fneuralforecast/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Nixtla","download_url":"https://codeload.github.com/Nixtla/neuralforecast/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253156698,"owners_count":21862986,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["baselines","baselines-zoo","deep-learning","deep-neural-networks","deepar","esrnn","forecasting","hierarchical-forecasting","hint","machine-learning","nbeats","nbeatsx","neural-network","nhits","probabilistic-forecasting","pytorch","robust-regression","tft","time-series","transformer"],"created_at":"2024-09-24T20:34:39.144Z","updated_at":"2025-05-08T22:26:17.654Z","avatar_url":"https://github.com/Nixtla.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nixtla \u0026nbsp; [![Tweet](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=Statistical%20Forecasting%20Algorithms%20by%20Nixtla%20\u0026url=https://github.com/Nixtla/neuralforecast\u0026via=nixtlainc\u0026hashtags=StatisticalModels,TimeSeries,Forecasting) \u0026nbsp;[![Slack](https://img.shields.io/badge/Slack-4A154B?\u0026logo=slack\u0026logoColor=white)](https://join.slack.com/t/nixtlacommunity/shared_invite/zt-1pmhan9j5-F54XR20edHk0UtYAPcW4KQ)\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/Nixtla/neuralforecast/main/nbs/imgs_indx/logo_new.png\"\u003e\n\u003ch1 align=\"center\"\u003eNeural 🧠 Forecast\u003c/h1\u003e\n\u003ch3 align=\"center\"\u003eUser friendly state-of-the-art neural forecasting models\u003c/h3\u003e\n\n[![CI](https://github.com/Nixtla/neuralforecast/actions/workflows/ci.yaml/badge.svg?branch=main)](https://github.com/Nixtla/neuralforecast/actions/workflows/ci.yaml)\n[![Python](https://img.shields.io/pypi/pyversions/neuralforecast)](https://pypi.org/project/neuralforecast/)\n[![PyPi](https://img.shields.io/pypi/v/neuralforecast?color=blue)](https://pypi.org/project/neuralforecast/)\n[![conda-nixtla](https://img.shields.io/conda/vn/conda-forge/neuralforecast?color=seagreen\u0026label=conda)](https://anaconda.org/conda-forge/neuralforecast)\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](https://github.com/Nixtla/neuralforecast/blob/main/LICENSE)\n[![docs](https://img.shields.io/website-up-down-green-red/http/nixtla.github.io/neuralforecast.svg?label=docs)](https://nixtla.github.io/neuralforecast/)  \n\u003c!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --\u003e\n[![All Contributors](https://img.shields.io/badge/all_contributors-11-orange.svg?style=flat-square)](#contributors-)\n\u003c!-- ALL-CONTRIBUTORS-BADGE:END --\u003e\n\n**NeuralForecast** offers a large collection of neural forecasting models focusing on their performance, usability, and robustness. The models range from classic networks like RNNs to the latest transformers: `MLP`, `LSTM`, `GRU`, `RNN`, `TCN`, `TimesNet`, `BiTCN`, `DeepAR`, `NBEATS`, `NBEATSx`, `NHITS`, `TiDE`, `DeepNPTS`, `TSMixer`, `TSMixerx`, `MLPMultivariate`, `DLinear`, `NLinear`, `TFT`, `Informer`, `AutoFormer`, `FedFormer`, `PatchTST`, `iTransformer`, `StemGNN`, and `TimeLLM`.\n\u003c/div\u003e\n\n## Installation\n\nYou can install `NeuralForecast` with:\n\n```python\npip install neuralforecast\n```\n\nor \n\n```python\nconda install -c conda-forge neuralforecast\n``` \nVist our [Installation Guide](https://nixtlaverse.nixtla.io/neuralforecast/docs/getting-started/installation.html) for further details.\n\n## Quick Start\n\n**Minimal Example**\n\n```python\nfrom neuralforecast import NeuralForecast\nfrom neuralforecast.models import NBEATS\nfrom neuralforecast.utils import AirPassengersDF\n\nnf = NeuralForecast(\n    models = [NBEATS(input_size=24, h=12, max_steps=100)],\n    freq = 'ME'\n)\n\nnf.fit(df=AirPassengersDF)\nnf.predict()\n```\n\n**Get Started with this [quick guide](https://nixtlaverse.nixtla.io/neuralforecast/docs/getting-started/quickstart.html).**\n\n## Why? \n\nThere is a shared belief in Neural forecasting methods' capacity to improve forecasting pipeline's accuracy and efficiency.\n\nUnfortunately, available implementations and published research are yet to realize neural networks' potential. They are hard to use and continuously fail to improve over statistical methods while being computationally prohibitive. For this reason, we created `NeuralForecast`, a library favoring proven accurate and efficient models focusing on their usability.\n\n## Features \n\n* Fast and accurate implementations of more than 30 state-of-the-art models. See the entire [collection here](https://nixtlaverse.nixtla.io/neuralforecast/docs/capabilities/overview.html).\n* Support for exogenous variables and static covariates.\n* Interpretability methods for trend, seasonality and exogenous components.\n* Probabilistic Forecasting with adapters for quantile losses and parametric distributions.\n* Train and Evaluation Losses with scale-dependent, percentage and scale independent errors, and parametric likelihoods.\n* Automatic Model Selection with distributed automatic hyperparameter tuning.\n* Familiar sklearn syntax: `.fit` and `.predict`.\n\n## Highlights\n\n* Official `NHITS` implementation, published at AAAI 2023. See [paper](https://ojs.aaai.org/index.php/AAAI/article/view/25854) and [experiments](./experiments/).\n* Official `NBEATSx` implementation, published at the International Journal of Forecasting. See [paper](https://www.sciencedirect.com/science/article/pii/S0169207022000413).\n* Unified with`StatsForecast`, `MLForecast`, and `HierarchicalForecast` interface `NeuralForecast().fit(Y_df).predict()`, inputs and outputs.\n* Built-in integrations with `utilsforecast` and `coreforecast` for visualization and data-wrangling efficient methods.\n* Integrations with `Ray` and `Optuna` for automatic hyperparameter optimization.\n* Predict with little to no history using Transfer learning. Check the experiments [here](https://github.com/Nixtla/transfer-learning-time-series).\n\nMissing something? Please open an issue or write us in [![Slack](https://img.shields.io/badge/Slack-4A154B?\u0026logo=slack\u0026logoColor=white)](https://join.slack.com/t/nixtlaworkspace/shared_invite/zt-135dssye9-fWTzMpv2WBthq8NK0Yvu6A)\n\n## Examples and Guides\n\nThe [documentation page](https://nixtlaverse.nixtla.io/neuralforecast/docs/getting-started/introduction.html) contains all the examples and tutorials.\n\n📈 [Automatic Hyperparameter Optimization](https://nixtlaverse.nixtla.io/neuralforecast/docs/capabilities/hyperparameter_tuning.html): Easy and Scalable Automatic Hyperparameter Optimization with `Auto` models on `Ray` or `Optuna`.\n\n🌡️ [Exogenous Regressors](https://nixtlaverse.nixtla.io/neuralforecast/docs/capabilities/exogenous_variables.html): How to incorporate static or temporal exogenous covariates like weather or prices.\n\n🔌 [Transformer Models](https://nixtlaverse.nixtla.io/neuralforecast/docs/tutorials/longhorizon_transformers.html): Learn how to forecast with many state-of-the-art Transformers models.\n\n👑 [Hierarchical Forecasting](https://nixtlaverse.nixtla.io/neuralforecast/docs/tutorials/hierarchical_forecasting.html): forecast series with very few non-zero observations. \n\n👩‍🔬 [Add Your Own Model](https://nixtlaverse.nixtla.io/neuralforecast/docs/tutorials/adding_models.html): Learn how to add a new model to the library.\n\n## Models\n\nSee the entire [collection here](https://nixtlaverse.nixtla.io/neuralforecast/docs/capabilities/overview.html).\n\nMissing a model? Please open an issue or write us in [![Slack](https://img.shields.io/badge/Slack-4A154B?\u0026logo=slack\u0026logoColor=white)](https://join.slack.com/t/nixtlaworkspace/shared_invite/zt-135dssye9-fWTzMpv2WBthq8NK0Yvu6A)\n\n## How to contribute\nIf you wish to contribute to the project, please refer to our [contribution guidelines](https://github.com/Nixtla/neuralforecast/blob/main/CONTRIBUTING.md).\n\n## References\nThis work is highly influenced by the fantastic work of previous contributors and other scholars on the neural forecasting methods presented here. We want to highlight the work of [Boris Oreshkin](https://arxiv.org/abs/1905.10437), [Slawek Smyl](https://www.sciencedirect.com/science/article/pii/S0169207019301153), [Bryan Lim](https://www.sciencedirect.com/science/article/pii/S0169207021000637), and [David Salinas](https://arxiv.org/abs/1704.04110). We refer to [Benidis et al.](https://arxiv.org/abs/2004.10240) for a comprehensive survey of neural forecasting methods.\n\n## 🙏 How to cite\nIf you enjoy or benefit from using these Python implementations, a citation to the repository will be greatly appreciated.\n\n```bibtex\n@misc{olivares2022library_neuralforecast,\n    author={Kin G. Olivares and\n            Cristian Challú and\n            Azul Garza and\n            Max Mergenthaler Canseco and\n            Artur Dubrawski},\n    title = {{NeuralForecast}: User friendly state-of-the-art neural forecasting models.},\n    year={2022},\n    howpublished={{PyCon} Salt Lake City, Utah, US 2022},\n    url={https://github.com/Nixtla/neuralforecast}\n}\n```\n\n## Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctbody\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/AzulGarza\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/10517170?v=4?s=100\" width=\"100px;\" alt=\"azul\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eazul\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Nixtla/neuralforecast/commits?author=AzulGarza\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#maintenance-AzulGarza\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/cchallu\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/31133398?v=4?s=100\" width=\"100px;\" alt=\"Cristian Challu\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eCristian Challu\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Nixtla/neuralforecast/commits?author=cchallu\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#maintenance-cchallu\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/jmoralez\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/8473587?v=4?s=100\" width=\"100px;\" alt=\"José Morales\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eJosé Morales\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Nixtla/neuralforecast/commits?author=jmoralez\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"#maintenance-jmoralez\" title=\"Maintenance\"\u003e🚧\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/mergenthaler\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/4086186?v=4?s=100\" width=\"100px;\" alt=\"mergenthaler\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003emergenthaler\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Nixtla/neuralforecast/commits?author=mergenthaler\" title=\"Documentation\"\u003e📖\u003c/a\u003e \u003ca href=\"https://github.com/Nixtla/neuralforecast/commits?author=mergenthaler\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/kdgutier\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/19935241?v=4?s=100\" width=\"100px;\" alt=\"Kin\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eKin\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Nixtla/neuralforecast/commits?author=kdgutier\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/Nixtla/neuralforecast/issues?q=author%3Akdgutier\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"#data-kdgutier\" title=\"Data\"\u003e🔣\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/gdevos010\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/15316026?v=4?s=100\" width=\"100px;\" alt=\"Greg DeVos\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eGreg DeVos\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#ideas-gdevos010\" title=\"Ideas, Planning, \u0026 Feedback\"\u003e🤔\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/alejandroxag\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/64334543?v=4?s=100\" width=\"100px;\" alt=\"Alejandro\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eAlejandro\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Nixtla/neuralforecast/commits?author=alejandroxag\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"http://lavattiata.com\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/48966177?v=4?s=100\" width=\"100px;\" alt=\"stefanialvs\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003estefanialvs\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"#design-stefanialvs\" title=\"Design\"\u003e🎨\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://bandism.net/\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/22633385?v=4?s=100\" width=\"100px;\" alt=\"Ikko Ashimine\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eIkko Ashimine\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Nixtla/neuralforecast/issues?q=author%3Aeltociear\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/vglaucus\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/75549033?v=4?s=100\" width=\"100px;\" alt=\"vglaucus\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003evglaucus\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Nixtla/neuralforecast/issues?q=author%3Avglaucus\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n      \u003ctd align=\"center\" valign=\"top\" width=\"14.28%\"\u003e\u003ca href=\"https://github.com/pitmonticone\"\u003e\u003cimg src=\"https://avatars.githubusercontent.com/u/38562595?v=4?s=100\" width=\"100px;\" alt=\"Pietro Monticone\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003ePietro Monticone\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/Nixtla/neuralforecast/issues?q=author%3Apitmonticone\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n  \u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-restore --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnixtla%2Fneuralforecast","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnixtla%2Fneuralforecast","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnixtla%2Fneuralforecast/lists"}