https://github.com/ourownstory/neural_prophet

NeuralProphet: A simple forecasting package

https://github.com/ourownstory/neural_prophet

Science Score: 46.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Committers with academic emails
    4 of 56 committers (7.1%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.6%) to scientific vocabulary

Keywords

artificial-intelligence autoregression deep-learning fbprophet forecast forecasting forecasting-algorithm forecasting-model machine-learning neural neural-network neuralprophet prediction prophet python pytorch seasonality time-series timeseries trend

Keywords from Contributors

transformers distributed agents embedded parallel baselines observability hierarchical-forecasting hint interactive
Last synced: 5 months ago · JSON representation

Repository

NeuralProphet: A simple forecasting package

Basic Info
  • Host: GitHub
  • Owner: ourownstory
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage: https://neuralprophet.com
  • Size: 214 MB
Statistics
  • Stars: 4,096
  • Watchers: 58
  • Forks: 501
  • Open Issues: 81
  • Releases: 36
Topics
artificial-intelligence autoregression deep-learning fbprophet forecast forecasting forecasting-algorithm forecasting-model machine-learning neural neural-network neuralprophet prediction prophet python pytorch seasonality time-series timeseries trend
Created almost 6 years ago · Last pushed about 1 year ago
Metadata Files
Readme Contributing License Code of conduct Security

README.md

GitHub release (latest SemVer) Pypi_Version Python Version Code style: black License Tests codecov Slack Downloads

NP-logo-wide_cut

Please note that the project is still in beta phase. Please report any issues you encounter or suggestions you have. We will do our best to address them quickly. Contributions are very welcome!

NeuralProphet: human-centered forecasting

NeuralProphet is an easy to learn framework for interpretable time series forecasting. NeuralProphet is built on PyTorch and combines Neural Networks and traditional time-series algorithms, inspired by Facebook Prophet and AR-Net. - With a few lines of code, you can define, customize, visualize, and evaluate your own forecasting models. - It is designed for iterative human-in-the-loop model building. That means that you can build a first model quickly, interpret the results, improve, repeat. Due to the focus on interpretability and customization-ability, NeuralProphet may not be the most accurate model out-of-the-box; so, don't hesitate to adjust and iterate until you like your results. - NeuralProphet is best suited for time series data that is of higher-frequency (sub-daily) and longer duration (at least two full periods/years).

Documentation

The documentation page may not be entirely up to date. Docstrings should be reliable, please refer to those when in doubt. We are working on an improved documentation. We appreciate any help to improve and update the docs.

For a visual introduction to NeuralProphet, view this presentation.

Contribute

We compiled a Contributing to NeuralProphet page with practical instructions and further resources to help you become part of the family.

Community

Discussion and Help

If you have any questions or suggestion, you can participate in our community right here on Github

Slack Chat

We also have an active Slack community. Come and join the conversation!

Tutorials

Open All Collab

There are several example notebooks to help you get started.

You can find the datasets used in the tutorials, including data preprocessing examples, in our neuralprophet-data repository.

Please refer to our documentation page for more resources.

Minimal example

python from neuralprophet import NeuralProphet After importing the package, you can use NeuralProphet in your code: python m = NeuralProphet() metrics = m.fit(df) forecast = m.predict(df) You can visualize your results with the inbuilt plotting functions: python fig_forecast = m.plot(forecast) fig_components = m.plot_components(forecast) fig_model = m.plot_parameters() If you want to forecast into the unknown future, extend the dataframe before predicting: python m = NeuralProphet().fit(df, freq="D") df_future = m.make_future_dataframe(df, periods=30) forecast = m.predict(df_future) fig_forecast = m.plot(forecast)

Install

You can now install neuralprophet directly with pip: shell pip install neuralprophet

Install options

If you plan to use the package in a Jupyter notebook, we recommended to install the 'live' version: shell pip install neuralprophet[live] This will allow you to enable plot_live_loss in the fit function to get a live plot of train (and validation) loss.

If you would like the most up to date version, you can instead install directly from github: shell git clone <copied link from github> cd neural_prophet pip install .

Note for Windows users: Please use WSL2.

Features

Model components

  • Autoregression: Autocorrelation modelling - linear or NN (AR-Net).
  • Trend: Piecewise linear trend with optional automatic changepoint detection.
  • Seasonality: Fourier terms at different periods such as yearly, daily, weekly, hourly.
  • Lagged regressors: Lagged observations (e.g temperature sensor) - linear or NN.
  • Future regressors: In advance known features (e.g. temperature forecast) - linear or NN.
  • Events: Country holidays & recurring custom events.
  • Global Modeling: Components can be local, global or 'glocal' (global + regularized local)

Framework features

  • Multiple time series: Fit a global/glocal model with (partially) shared model parameters.
  • Uncertainty: Estimate values of specific quantiles - Quantile Regression.
  • Regularize modelling components.
  • Plotting of forecast components, model coefficients and more.
  • Time series crossvalidation utility.
  • Model checkpointing and validation.

Coming soon:tm:

  • Cross-relation of lagged regressors.
  • Static metadata regression for multiple series
  • Logistic growth for trend component.

For a list of past changes, please refer to the releases page.

Cite

Please cite NeuralProphet in your publications if it helps your research: @misc{triebe2021neuralprophet, title={NeuralProphet: Explainable Forecasting at Scale}, author={Oskar Triebe and Hansika Hewamalage and Polina Pilyugina and Nikolay Laptev and Christoph Bergmeir and Ram Rajagopal}, year={2021}, eprint={2111.15397}, archivePrefix={arXiv}, primaryClass={cs.LG} }

Many Thanks To Our Contributors:

About

NeuralProphet is an open-source community project, supported by awesome people like you. If you are interested in joining the project, please feel free to reach out to me (Oskar) - you can find my email on the NeuralProphet Paper.

Owner

  • Name: Oskar Triebe
  • Login: ourownstory
  • Kind: user
  • Location: Palo Alto
  • Company: Stanford University

GitHub Events

Total
  • Issues event: 20
  • Watch event: 309
  • Issue comment event: 20
  • Pull request event: 7
  • Fork event: 37
  • Create event: 5
Last Year
  • Issues event: 20
  • Watch event: 309
  • Issue comment event: 20
  • Pull request event: 7
  • Fork event: 37
  • Create event: 5

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 1,319
  • Total Committers: 56
  • Avg Commits per committer: 23.554
  • Development Distribution Score (DDS): 0.507
Past Year
  • Commits: 40
  • Committers: 4
  • Avg Commits per committer: 10.0
  • Development Distribution Score (DDS): 0.4
Top Committers
Name Email Commits
Oskar Triebe o****y 650
Richard Stromer n****n 108
Oskar Triebe o****e@m****m 86
karl-richter k****r@t****e 82
Hansika Hewamalage h****e@m****u 74
leoniewgnr 4****r 42
alfonsogarciadecorral a****l@g****m 38
Júlio Arend 8****i 35
berni 5****r 29
LeonieFreisinger 7****r 27
Kevin Chen 1****0 26
Mateus Gheorghe m****r@g****m 23
Maisa Ben Salah 7****l 14
Simon Alexander Wittner 1****r 9
dependabot[bot] 4****] 7
Riley d****9@g****m 7
Gonzague Henri g****i@g****m 5
christymctse 1****e 5
Nikolay Pavlovich Laptev n****v@f****m 3
Korbinian Koch k****h@w****e 3
FubonChu 8****u 3
Ziqin Xiong z****g@c****i 2
Dhruv Kapoor k****2@h****m 2
Hong Xiang Yue 4****1 2
Ikko Eltociear Ashimine e****r@g****m 2
JSarsfield j****d@g****m 2
Rodrigo Rivera r****a@y****e 2
Saumya 7****n 2
SharkFin-top 5****p 2
Nishai Kooverjee 3****i 1
and 26 more...
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 162
  • Total pull requests: 314
  • Average time to close issues: 5 months
  • Average time to close pull requests: 27 days
  • Total issue authors: 88
  • Total pull request authors: 37
  • Average comments per issue: 1.86
  • Average comments per pull request: 1.84
  • Merged pull requests: 212
  • Bot issues: 0
  • Bot pull requests: 42
Past Year
  • Issues: 26
  • Pull requests: 20
  • Average time to close issues: about 10 hours
  • Average time to close pull requests: about 8 hours
  • Issue authors: 22
  • Pull request authors: 4
  • Average comments per issue: 0.12
  • Average comments per pull request: 0.3
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 9
Top Authors
Issue Authors
  • ourownstory (29)
  • noxan (11)
  • Aaron1993 (8)
  • quant-exchange (5)
  • leoniewgnr (5)
  • MaiBe-ctrl (4)
  • LeonieFreisinger (3)
  • mixcheck (3)
  • landkwon94 (3)
  • aravindravva (3)
  • Kevin-Chen0 (3)
  • rizal-mujahiddan69 (2)
  • webcoderz (2)
  • frankelau (2)
  • kkckk1110 (2)
Pull Request Authors
  • ourownstory (98)
  • dependabot[bot] (42)
  • leoniewgnr (35)
  • MaiBe-ctrl (29)
  • noxan (21)
  • SimonWittner (18)
  • LeonieFreisinger (13)
  • karl-richter (9)
  • judussoari (5)
  • kneureither (4)
  • hxyue1 (4)
  • Constantin343 (3)
  • McOffsky (2)
  • c3-ziqin (2)
  • JordiBForgeFlow (2)
Top Labels
Issue Labels
bug (16) task (16) P2 (12) P3 (12) P1 (8) epic (7) good first issue (6) feature request (6) docs (5) type:bug (3) status:awaiting-user-response (2) ver:0.9.0 (2) performance (2) ver:1.0.0rc.x (1)
Pull Request Labels
status: needs review (48) dependencies (42) status: ready (21) status: in development (16) docs (8) bug (7) status: needs update (7) status: blocked (3) P2 (2) github_actions (2) wontfix (1) P1 (1) type:bug (1) python (1)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 75,243 last-month
  • Total docker downloads: 486
  • Total dependent packages: 4
    (may contain duplicates)
  • Total dependent repositories: 69
    (may contain duplicates)
  • Total versions: 36
  • Total maintainers: 2
pypi.org: neuralprophet

NeuralProphet is an easy to learn framework for interpretable time series forecasting.

  • Versions: 33
  • Dependent Packages: 4
  • Dependent Repositories: 69
  • Downloads: 75,243 Last month
  • Docker Downloads: 486
Rankings
Downloads: 1.3%
Dependent repos count: 1.8%
Dependent packages count: 1.9%
Average: 1.9%
Docker downloads count: 2.6%
Maintainers (2)
Last synced: 6 months ago
anaconda.org: neuralprophet

NeuralProphet is an easy to learn framework for interpretable time series forecasting. NeuralProphet is built on PyTorch and combines Neural Networks and traditional time-series algorithms, inspired by Facebook Prophet and AR-Net.

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Stargazers count: 14.5%
Forks count: 16.3%
Average: 32.1%
Dependent packages count: 39.8%
Dependent repos count: 57.7%
Last synced: 6 months ago

Dependencies

.github/workflows/codeql-analysis.yml actions
  • actions/checkout v3 composite
  • github/codeql-action/analyze v2 composite
  • github/codeql-action/autobuild v2 composite
  • github/codeql-action/init v2 composite
.github/workflows/linters.yml actions
  • actions/cache v3 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • chartboost/ruff-action v1 composite
  • jakebailey/pyright-action v1 composite
  • liskin/gh-problem-matcher-wrap v2 composite
  • psf/black stable composite
  • snok/install-poetry v1 composite
.github/workflows/metrics.yml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
  • dawidd6/action-download-artifact v2 composite
.github/workflows/website.yml actions
  • actions/checkout v3 composite
  • actions/configure-pages v2 composite
  • actions/deploy-pages v1 composite
  • actions/setup-python v4 composite
  • actions/upload-pages-artifact v1 composite
  • r-lib/actions/setup-pandoc v2 composite
  • snok/install-poetry v1 composite
poetry.lock pypi
  • 190 dependencies
pyproject.toml pypi
  • captum ^0.6.0
  • holidays ^0.21
  • kaleido 0.2.1
  • livelossplot ^0.5.5
  • matplotlib ^3.5.3
  • nbformat >=4.2.0
  • numpy ^1.22.0
  • pandas ^1.3.5
  • plotly ^5.13.1
  • plotly-resampler ^0.8.3.1
  • python >=3.8,<3.11
  • pytorch-lightning ^1.9.4
  • tensorboard ^2.11.2
  • torch 2.0.0
  • torchmetrics ^0.11.3
  • typing-extensions ^4.5.0
.github/workflows/test-docs.yml actions
  • abatilo/actions-poetry v2 composite
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • r-lib/actions/setup-pandoc v2 composite
.github/workflows/tests.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • codecov/codecov-action v3 composite
  • snok/install-poetry v1 composite