Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
/orbitPublic

A Python package for Bayesian forecasting with object-oriented design and probabilistic models under the hood.

License

NotificationsYou must be signed in to change notification settings

uber/orbit

Repository files navigation

Join Slack   |  Documentation   |  Blog - Intro   |  Blog - v1.1

Orbit banner


GitHub release (latest SemVer)PyPIBuild and TestDocumentation StatusPyPI - Python VersionDownloadsConda RecipeConda - PlatformConda (channel only)PyPI - License

User Notice

The default page of the repo is ondev branch. To install the dev version, please check the sectionInstalling from Dev Branch. If you are looking for astable version, please refer to themaster branchhere.

Disclaimer

This project

  • is stable and being incubated for long-term support. It may contain new experimental code, for which APIs are subject to change.
  • requirescmdstanpy as one of the core dependencies for Bayesian sampling.

Orbit: A Python Package for Bayesian Forecasting

Orbit is a Python package for Bayesian time series forecasting and inference. It provides afamiliar and intuitive initialize-fit-predict interface for time series tasks, while utilizing probabilistic programming languages under the hood.

For details, check out our documentation and tutorials:

Currently, it supports concrete implementations for the following models:

  • Exponential Smoothing (ETS)
  • Local Global Trend (LGT)
  • Damped Local Trend (DLT)
  • Kernel Time-based Regression (KTR)

It also supports the following sampling/optimization methods for model estimation/inferences:

  • Markov-Chain Monte Carlo (MCMC) as a full sampling method
  • Maximum a Posteriori (MAP) as a point estimate method
  • Variational Inference (VI) as a hybrid-sampling method on approximatedistribution

Installation

Installing Stable Release

Install the library either from PyPi or from the source withpip.Alternatively, you can also install it from Anaconda withconda:

With pip

  1. Installing from PyPI

    $ pip install orbit-ml
  2. Install from source

    $ git clone https://github.com/uber/orbit.git$cd orbit$ pip install -r requirements.txt$ pip install.

With conda

The library can be installed from the conda-forge channel using conda.

$ conda install -c conda-forge orbit-ml

Installing from Dev Branch

$ pip install git+https://github.com/uber/orbit.git@dev

Quick Start with Damped-Local-Trend (DLT) Model

FULL Bayesian Prediction

fromorbit.utils.datasetimportload_iclaimsfromorbit.modelsimportDLTfromorbit.diagnostics.plotimportplot_predicted_data# log-transformed datadf=load_iclaims()# train-test splittest_size=52train_df=df[:-test_size]test_df=df[-test_size:]dlt=DLT(response_col='claims',date_col='week',regressor_col=['trend.unemploy','trend.filling','trend.job'],seasonality=52,)dlt.fit(df=train_df)# outcomes data framepredicted_df=dlt.predict(df=test_df)plot_predicted_data(training_actual_df=train_df,predicted_df=predicted_df,date_col=dlt.date_col,actual_col=dlt.response_col,test_actual_df=test_df)

full-pred

Demo

Nowcasting with Regression in DLT:

Open All Collab

Backtest on M3 Data:

Open All Collab

More examples can be found undertutorialsandexamples.

Contributing

We welcome community contributors to the project. Before you start, please read ourcode of conduct and check outcontributing guidelines first.

Versioning

We document versions and changes in ourchangelog.

References

Presentations

Check out the ongoingdeck for scope and roadmap of the project. An older deck used in themeet-up during July 2021 can also be foundhere.

Citation

To cite Orbit in publications, refer to the following whitepaper:

Orbit: Probabilistic Forecast with Exponential Smoothing

Bibtex:

@misc{    ng2020orbit,    title={Orbit: Probabilistic Forecast with Exponential Smoothing},    author={Edwin Ng,        Zhishi Wang,        Huigang Chen,        Steve Yang,        Slawek Smyl},    year={2020}, eprint={2004.08492}, archivePrefix={arXiv}, primaryClass={stat.CO}}

Papers

  • Bingham, E., Chen, J. P., Jankowiak, M., Obermeyer, F., Pradhan, N., Karaletsos, T., Singh, R., Szerlip,P., Horsfall, P., and Goodman, N. D. Pyro: Deep universal probabilistic programming. The Journal of Machine LearningResearch, 20(1):973–978, 2019.
  • Hoffman, M.D. and Gelman, A. The No-U-Turn sampler: adaptively setting path lengths in Hamiltonian Monte Carlo.J. Mach. Learn. Res., 15(1), pp.1593-1623, 2014.
  • Hyndman, R., Koehler, A. B., Ord, J. K., and Snyder, R. D. Forecasting with exponential smoothing:the state space approach. Springer Science & Business Media, 2008.
  • Smyl, S. Zhang, Q. Fitting and Extending Exponential Smoothing Models with Stan.International Symposium on Forecasting, 2015.

Related projects

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp