diff options
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-orbit-ml.spec | 483 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 485 insertions, 0 deletions
@@ -0,0 +1 @@ +/orbit-ml-1.1.4.2.tar.gz diff --git a/python-orbit-ml.spec b/python-orbit-ml.spec new file mode 100644 index 0000000..abe1a48 --- /dev/null +++ b/python-orbit-ml.spec @@ -0,0 +1,483 @@ +%global _empty_manifest_terminate_build 0 +Name: python-orbit-ml +Version: 1.1.4.2 +Release: 1 +Summary: Orbit is a package for Bayesian time series modeling and inference. +License: Apache License 2.0 +URL: https://orbit-ml.readthedocs.io/en/stable/ +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/14/60/7ca25baa64042fa2ca90df4f4769d05f89dd9120b5497d34c1e5ae329d72/orbit-ml-1.1.4.2.tar.gz +BuildArch: noarch + + +%description +<!--- BADGES: START ---> + +[][#pypi-package] +[](https://github.com/uber/orbit/actions) +[](https://orbit-ml.readthedocs.io/en/latest/?badge=latest) +[][#pypi-package] +[](https://pepy.tech/project/orbit-ml) +[][#conda-forge-feedstock] +[][#conda-forge-package] +[][#conda-forge-package] +[][#github-license] +[#github-license]: https://github.com/uber/orbit/blob/master/LICENSE +[#pypi-package]: https://pypi.org/project/orbit-ml/ +[#conda-forge-package]: https://anaconda.org/conda-forge/orbit-ml +[#conda-forge-feedstock]: https://github.com/conda-forge/orbit-ml-feedstock +<!--- BADGES: END ---> +# User Notice +The default page of the repo is on `dev` branch. To install the dev version, please check the section `Installing from Dev Branch`. If you are looking for a **stable version**, please refer to the `master` branch [here](https://github.com/uber/orbit/tree/master). +# 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. +- requires PyStan as a system dependency. PyStan is licensed under [GPLv3](https://www.gnu.org/licenses/gpl-3.0.html), which is a free, copyleft license for software. +# Orbit: A Python Package for Bayesian Forecasting +Orbit is a Python package for Bayesian time series forecasting and inference. It provides a +familiar 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: +- HTML (stable): https://orbit-ml.readthedocs.io/en/stable/ +- HTML (latest): https://orbit-ml.readthedocs.io/en/latest/ +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 approximate + distribution +## Installation +### Installing Stable Release +Install the library either from PyPi or from the source with `pip`. +Alternatively, you can also install it from Anaconda with `conda`: +**With pip** +1. Installing from PyPI + ```sh + $ pip install orbit-ml + ``` +2. Install from source + ```sh + $ 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. +```sh +$ conda install -c conda-forge orbit-ml +``` +### Installing from Dev Branch +```sh +$ pip install git+https://github.com/uber/orbit.git@dev +``` +## Quick Start with Damped-Local-Trend (DLT) Model +### FULL Bayesian Prediction +```python +from orbit.utils.dataset import load_iclaims +from orbit.models import DLT +from orbit.diagnostics.plot import plot_predicted_data +# log-transformed data +df = load_iclaims() +# train-test split +test_size = 52 +train_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 frame +predicted_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 +) +``` + +## Demo +Nowcasting with Regression in DLT: +[](https://colab.research.google.com/github/edwinnglabs/ts-playground/blob/master/Orbit_Tutorial.ipynb) +Backtest on M3 Data: +[](https://colab.research.google.com/github/edwinnglabs/ts-playground/blob/master/orbit_m3_backtest.ipynb) +More examples can be found under [tutorials](./docs/tutorials) +and [examples](./examples). +# Contributing +We welcome community contributors to the project. Before you start, please read our +[code of conduct](CODE_OF_CONDUCT.md) and check out +[contributing guidelines](CONTRIBUTING.md) first. +# Versioning +We document versions and changes in our [changelog](./docs/changelog.rst). +# References +## Presentations +Check out the ongoing [deck](https://docs.google.com/presentation/d/1WfTtXAW3rud4TX9HtB3NkE6buDE8tWk6BKZ2hRNXjCI/edit?usp=sharing) for scope and roadmap of the project. An older deck used in the [meet-up](https://www.meetup.com/UberEvents/events/279446143/) during July 2021 can also be found [here](https://docs.google.com/presentation/d/1R0Ol8xahIE6XlrAjAi0ewu4nRxo-wQn8w6U7z-uiOzI/edit?usp=sharing). +## Citation +To cite Orbit in publications, refer to the following whitepaper: +[Orbit: Probabilistic Forecast with Exponential Smoothing](https://arxiv.org/abs/2004.08492) +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 Learning + Research, 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 +- [Pyro](https://github.com/pyro-ppl/pyro) +- [Stan](https://github.com/stan-dev/stan) +- [Rlgt](https://cran.r-project.org/web/packages/Rlgt/index.html) +- [forecast](https://github.com/robjhyndman/forecast) +- [prophet](https://facebook.github.io/prophet/) + +%package -n python3-orbit-ml +Summary: Orbit is a package for Bayesian time series modeling and inference. +Provides: python-orbit-ml +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-orbit-ml +<!--- BADGES: START ---> + +[][#pypi-package] +[](https://github.com/uber/orbit/actions) +[](https://orbit-ml.readthedocs.io/en/latest/?badge=latest) +[][#pypi-package] +[](https://pepy.tech/project/orbit-ml) +[][#conda-forge-feedstock] +[][#conda-forge-package] +[][#conda-forge-package] +[][#github-license] +[#github-license]: https://github.com/uber/orbit/blob/master/LICENSE +[#pypi-package]: https://pypi.org/project/orbit-ml/ +[#conda-forge-package]: https://anaconda.org/conda-forge/orbit-ml +[#conda-forge-feedstock]: https://github.com/conda-forge/orbit-ml-feedstock +<!--- BADGES: END ---> +# User Notice +The default page of the repo is on `dev` branch. To install the dev version, please check the section `Installing from Dev Branch`. If you are looking for a **stable version**, please refer to the `master` branch [here](https://github.com/uber/orbit/tree/master). +# 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. +- requires PyStan as a system dependency. PyStan is licensed under [GPLv3](https://www.gnu.org/licenses/gpl-3.0.html), which is a free, copyleft license for software. +# Orbit: A Python Package for Bayesian Forecasting +Orbit is a Python package for Bayesian time series forecasting and inference. It provides a +familiar 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: +- HTML (stable): https://orbit-ml.readthedocs.io/en/stable/ +- HTML (latest): https://orbit-ml.readthedocs.io/en/latest/ +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 approximate + distribution +## Installation +### Installing Stable Release +Install the library either from PyPi or from the source with `pip`. +Alternatively, you can also install it from Anaconda with `conda`: +**With pip** +1. Installing from PyPI + ```sh + $ pip install orbit-ml + ``` +2. Install from source + ```sh + $ 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. +```sh +$ conda install -c conda-forge orbit-ml +``` +### Installing from Dev Branch +```sh +$ pip install git+https://github.com/uber/orbit.git@dev +``` +## Quick Start with Damped-Local-Trend (DLT) Model +### FULL Bayesian Prediction +```python +from orbit.utils.dataset import load_iclaims +from orbit.models import DLT +from orbit.diagnostics.plot import plot_predicted_data +# log-transformed data +df = load_iclaims() +# train-test split +test_size = 52 +train_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 frame +predicted_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 +) +``` + +## Demo +Nowcasting with Regression in DLT: +[](https://colab.research.google.com/github/edwinnglabs/ts-playground/blob/master/Orbit_Tutorial.ipynb) +Backtest on M3 Data: +[](https://colab.research.google.com/github/edwinnglabs/ts-playground/blob/master/orbit_m3_backtest.ipynb) +More examples can be found under [tutorials](./docs/tutorials) +and [examples](./examples). +# Contributing +We welcome community contributors to the project. Before you start, please read our +[code of conduct](CODE_OF_CONDUCT.md) and check out +[contributing guidelines](CONTRIBUTING.md) first. +# Versioning +We document versions and changes in our [changelog](./docs/changelog.rst). +# References +## Presentations +Check out the ongoing [deck](https://docs.google.com/presentation/d/1WfTtXAW3rud4TX9HtB3NkE6buDE8tWk6BKZ2hRNXjCI/edit?usp=sharing) for scope and roadmap of the project. An older deck used in the [meet-up](https://www.meetup.com/UberEvents/events/279446143/) during July 2021 can also be found [here](https://docs.google.com/presentation/d/1R0Ol8xahIE6XlrAjAi0ewu4nRxo-wQn8w6U7z-uiOzI/edit?usp=sharing). +## Citation +To cite Orbit in publications, refer to the following whitepaper: +[Orbit: Probabilistic Forecast with Exponential Smoothing](https://arxiv.org/abs/2004.08492) +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 Learning + Research, 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 +- [Pyro](https://github.com/pyro-ppl/pyro) +- [Stan](https://github.com/stan-dev/stan) +- [Rlgt](https://cran.r-project.org/web/packages/Rlgt/index.html) +- [forecast](https://github.com/robjhyndman/forecast) +- [prophet](https://facebook.github.io/prophet/) + +%package help +Summary: Development documents and examples for orbit-ml +Provides: python3-orbit-ml-doc +%description help +<!--- BADGES: START ---> + +[][#pypi-package] +[](https://github.com/uber/orbit/actions) +[](https://orbit-ml.readthedocs.io/en/latest/?badge=latest) +[][#pypi-package] +[](https://pepy.tech/project/orbit-ml) +[][#conda-forge-feedstock] +[][#conda-forge-package] +[][#conda-forge-package] +[][#github-license] +[#github-license]: https://github.com/uber/orbit/blob/master/LICENSE +[#pypi-package]: https://pypi.org/project/orbit-ml/ +[#conda-forge-package]: https://anaconda.org/conda-forge/orbit-ml +[#conda-forge-feedstock]: https://github.com/conda-forge/orbit-ml-feedstock +<!--- BADGES: END ---> +# User Notice +The default page of the repo is on `dev` branch. To install the dev version, please check the section `Installing from Dev Branch`. If you are looking for a **stable version**, please refer to the `master` branch [here](https://github.com/uber/orbit/tree/master). +# 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. +- requires PyStan as a system dependency. PyStan is licensed under [GPLv3](https://www.gnu.org/licenses/gpl-3.0.html), which is a free, copyleft license for software. +# Orbit: A Python Package for Bayesian Forecasting +Orbit is a Python package for Bayesian time series forecasting and inference. It provides a +familiar 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: +- HTML (stable): https://orbit-ml.readthedocs.io/en/stable/ +- HTML (latest): https://orbit-ml.readthedocs.io/en/latest/ +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 approximate + distribution +## Installation +### Installing Stable Release +Install the library either from PyPi or from the source with `pip`. +Alternatively, you can also install it from Anaconda with `conda`: +**With pip** +1. Installing from PyPI + ```sh + $ pip install orbit-ml + ``` +2. Install from source + ```sh + $ 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. +```sh +$ conda install -c conda-forge orbit-ml +``` +### Installing from Dev Branch +```sh +$ pip install git+https://github.com/uber/orbit.git@dev +``` +## Quick Start with Damped-Local-Trend (DLT) Model +### FULL Bayesian Prediction +```python +from orbit.utils.dataset import load_iclaims +from orbit.models import DLT +from orbit.diagnostics.plot import plot_predicted_data +# log-transformed data +df = load_iclaims() +# train-test split +test_size = 52 +train_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 frame +predicted_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 +) +``` + +## Demo +Nowcasting with Regression in DLT: +[](https://colab.research.google.com/github/edwinnglabs/ts-playground/blob/master/Orbit_Tutorial.ipynb) +Backtest on M3 Data: +[](https://colab.research.google.com/github/edwinnglabs/ts-playground/blob/master/orbit_m3_backtest.ipynb) +More examples can be found under [tutorials](./docs/tutorials) +and [examples](./examples). +# Contributing +We welcome community contributors to the project. Before you start, please read our +[code of conduct](CODE_OF_CONDUCT.md) and check out +[contributing guidelines](CONTRIBUTING.md) first. +# Versioning +We document versions and changes in our [changelog](./docs/changelog.rst). +# References +## Presentations +Check out the ongoing [deck](https://docs.google.com/presentation/d/1WfTtXAW3rud4TX9HtB3NkE6buDE8tWk6BKZ2hRNXjCI/edit?usp=sharing) for scope and roadmap of the project. An older deck used in the [meet-up](https://www.meetup.com/UberEvents/events/279446143/) during July 2021 can also be found [here](https://docs.google.com/presentation/d/1R0Ol8xahIE6XlrAjAi0ewu4nRxo-wQn8w6U7z-uiOzI/edit?usp=sharing). +## Citation +To cite Orbit in publications, refer to the following whitepaper: +[Orbit: Probabilistic Forecast with Exponential Smoothing](https://arxiv.org/abs/2004.08492) +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 Learning + Research, 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 +- [Pyro](https://github.com/pyro-ppl/pyro) +- [Stan](https://github.com/stan-dev/stan) +- [Rlgt](https://cran.r-project.org/web/packages/Rlgt/index.html) +- [forecast](https://github.com/robjhyndman/forecast) +- [prophet](https://facebook.github.io/prophet/) + +%prep +%autosetup -n orbit-ml-1.1.4.2 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-orbit-ml -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Wed May 17 2023 Python_Bot <Python_Bot@openeuler.org> - 1.1.4.2-1 +- Package Spec generated @@ -0,0 +1 @@ +8a49278ba1ffbb6a79468ee72ae4950f orbit-ml-1.1.4.2.tar.gz |
