Skip to main content

A simple yet customizable forecaster

Project description

GitHub release (latest SemVer) Pypi_Version Python Version Code style: black License

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

A Neural Network based Time-Series model, inspired by Facebook Prophet and AR-Net, built on PyTorch.

Documentation

We are currently working on an improved documentation page.

For a visual introduction to NeuralProphet, view the presentation given at the 40th International Symposium on Forecasting.

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 question or suggestion, you can participate with 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.

Please refer to our documentation page for more resources.

Minimal example

from neuralprophet import NeuralProphet

After importing the package, you can use NeuralProphet in your code:

m = NeuralProphet()
metrics = m.fit(df, freq="D")
future = m.make_future_dataframe(df, periods=30)
forecast = m.predict(future)

You can visualize your results with the inbuilt plotting functions:

fig_forecast = m.plot(forecast)
fig_components = m.plot_components(forecast)
fig_model = m.plot_parameters()

Install

You can now install neuralprophet directly with pip:

pip install neuralprophet

If you plan to use the package in a Jupyter notebook, we recommended to install the 'live' version:

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 direclty from github:

git clone <copied link from github>
cd neural_prophet
pip install .

Model features

  • Autocorrelation modelling through AR-Net
  • Piecewise linear trend with optional automatic changepoint detection
  • Fourier term Seasonality at different periods such as yearly, daily, weekly, hourly.
  • Lagged regressors (measured features, e.g temperature sensor)
  • Future regressors (in advance known features, e.g. temperature forecast)
  • Holidays & special events
  • Sparsity of coefficients through regularization
  • Plotting for forecast components, model coefficients as well as final forecasts
  • Automatic selection of training related hyperparameters

Coming up soon

For details, please view the Development Timeline.

The next versions of NeuralProphet are expected to cover a set of new exciting features:

  • Logistic growth for trend component.
  • Uncertainty estimation of individual forecast components as well as the final forecasts.
  • Support for panel data by building global forecasting models.
  • Incorporate time series featurization for improved forecast accuracy.
  • Model bias modelling
  • Unsupervised anomaly detection

For a complete list of all past and near-future changes, please refer to the changelogs.

Authors

The project effort is led by Oskar Triebe (Stanford University), advised by Nikolay Laptev (Facebook, Inc) and Ram Rajagopal (Stanford University) and has been partially funded by Total S.A. The project has been developed in close collaboration with Hansika Hewamalage, who is advised by Christoph Bergmeir (Monash University). The project has evolved into a community project, supported by 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 AR-Net Paper.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for neuralprophet, version 0.2.8
Filename, size File type Python version Upload date Hashes
Filename, size neuralprophet-0.2.8-py3-none-any.whl (55.8 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size neuralprophet-0.2.8.tar.gz (52.7 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page