README.md (prophet-0.7) | : | README.md (prophet-1.0) | ||
---|---|---|---|---|
# Prophet: Automatic Forecasting Procedure | # Prophet: Automatic Forecasting Procedure | |||
[](http |  | |||
s://travis-ci.com/facebook/prophet) | [](https://pypi.python | |||
[](https://pypi.pyth | .org/pypi/prophet) | |||
on.org/pypi/fbprophet) | []( | |||
[ | https://anaconda.org/conda-forge/prophet/) | |||
](https://anaconda.org/conda-forge/fbprophet/) | ||||
Prophet is a procedure for forecasting time series data based on an additive mod el where non-linear trends are fit with yearly, weekly, and daily seasonality, p lus holiday effects. It works best with time series that have strong seasonal ef fects and several seasons of historical data. Prophet is robust to missing data and shifts in the trend, and typically handles outliers well. | Prophet is a procedure for forecasting time series data based on an additive mod el where non-linear trends are fit with yearly, weekly, and daily seasonality, p lus holiday effects. It works best with time series that have strong seasonal ef fects and several seasons of historical data. Prophet is robust to missing data and shifts in the trend, and typically handles outliers well. | |||
Prophet is [open source software](https://code.facebook.com/projects/) released by Facebook's [Core Data Science team](https://research.fb.com/category/data-sci ence/). It is available for download on [CRAN](https://cran.r-project.org/packag e=prophet) and [PyPI](https://pypi.python.org/pypi/fbprophet/). | Prophet is [open source software](https://code.facebook.com/projects/) released by Facebook's [Core Data Science team](https://research.fb.com/category/data-sci ence/). It is available for download on [CRAN](https://cran.r-project.org/packag e=prophet) and [PyPI](https://pypi.python.org/pypi/prophet/). | |||
## Important links | ## Important links | |||
- Homepage: https://facebook.github.io/prophet/ | - Homepage: https://facebook.github.io/prophet/ | |||
- HTML documentation: https://facebook.github.io/prophet/docs/quick_start.html | - HTML documentation: https://facebook.github.io/prophet/docs/quick_start.html | |||
- Issue tracker: https://github.com/facebook/prophet/issues | - Issue tracker: https://github.com/facebook/prophet/issues | |||
- Source code repository: https://github.com/facebook/prophet | - Source code repository: https://github.com/facebook/prophet | |||
- Contributing: https://facebook.github.io/prophet/docs/contributing.html | ||||
- Prophet R package: https://cran.r-project.org/package=prophet | - Prophet R package: https://cran.r-project.org/package=prophet | |||
- Prophet Python package: https://pypi.python.org/pypi/fbprophet/ | - Prophet Python package: https://pypi.python.org/pypi/prophet/ | |||
- Release blogpost: https://research.fb.com/prophet-forecasting-at-scale/ | - Release blogpost: https://research.fb.com/prophet-forecasting-at-scale/ | |||
- Prophet paper: Sean J. Taylor, Benjamin Letham (2018) Forecasting at scale. Th e American Statistician 72(1):37-45 (https://peerj.com/preprints/3190.pdf). | - Prophet paper: Sean J. Taylor, Benjamin Letham (2018) Forecasting at scale. Th e American Statistician 72(1):37-45 (https://peerj.com/preprints/3190.pdf). | |||
## Installation in R | ## Installation in R | |||
Prophet is a [CRAN package](https://cran.r-project.org/package=prophet) so you c an use `install.packages`. | Prophet is a [CRAN package](https://cran.r-project.org/package=prophet) so you c an use `install.packages`. | |||
```R | ```R | |||
install.packages('prophet') | install.packages('prophet') | |||
``` | ``` | |||
skipping to change at line 40 | skipping to change at line 41 | |||
After installation, you can [get started!](https://facebook.github.io/prophet/do cs/quick_start.html#r-api) | After installation, you can [get started!](https://facebook.github.io/prophet/do cs/quick_start.html#r-api) | |||
### Windows | ### Windows | |||
On Windows, R requires a compiler so you'll need to [follow the instructions](ht tps://github.com/stan-dev/rstan/wiki/RStan-Getting-Started) provided by `rstan`. The key step is installing [Rtools](http://cran.r-project.org/bin/windows/Rtool s/) before attempting to install the package. | On Windows, R requires a compiler so you'll need to [follow the instructions](ht tps://github.com/stan-dev/rstan/wiki/RStan-Getting-Started) provided by `rstan`. The key step is installing [Rtools](http://cran.r-project.org/bin/windows/Rtool s/) before attempting to install the package. | |||
If you have custom Stan compiler settings, install from source rather than the C RAN binary. | If you have custom Stan compiler settings, install from source rather than the C RAN binary. | |||
## Installation in Python | ## Installation in Python | |||
Prophet is on PyPI, so you can use `pip` to install it. From v0.6 onwards, Pytho n 2 is no longer supported. | Prophet is on PyPI, so you can use `pip` to install it. From v0.6 onwards, Pytho n 2 is no longer supported. As of v1.0, the package name on PyPI is "prophet"; p rior to v1.0 it was "fbprophet". | |||
```bash | ```bash | |||
# Install pystan with pip before using pip to install fbprophet | # Install pystan with pip before using pip to install prophet | |||
pip install pystan | pip install pystan | |||
pip install fbprophet | pip install prophet | |||
``` | ``` | |||
The default dependency that Prophet has is `pystan`. PyStan has its own [install ation instructions](http://pystan.readthedocs.io/en/latest/installation_beginner .html). Install pystan with pip before using pip to install fbprophet. | The default dependency that Prophet has is `pystan`. PyStan has its own [install ation instructions](http://pystan.readthedocs.io/en/latest/installation_beginner .html). Install pystan with pip before using pip to install prophet. | |||
You can also choose a (more experimental) alternative stan backend called `cmdst anpy`. It requires the [CmdStan](https://mc-stan.org/users/interfaces/cmdstan) c ommand line interface and you will have to specify the environment variable `STA N_BACKEND` pointing to it, for example: | You can also choose a (more experimental) alternative stan backend called `cmdst anpy`. It requires the [CmdStan](https://mc-stan.org/users/interfaces/cmdstan) c ommand line interface and you will have to specify the environment variable `STA N_BACKEND` pointing to it, for example: | |||
``` | ``` | |||
# bash | # bash | |||
$ CMDSTAN=/tmp/cmdstan-2.22.1 STAN_BACKEND=CMDSTANPY pip install fbprophet | $ CMDSTAN=/tmp/cmdstan-2.22.1 STAN_BACKEND=CMDSTANPY pip install prophet | |||
``` | ``` | |||
Note that the `CMDSTAN` variable is directly related to `cmdstanpy` module and c an be omitted if your CmdStan binaries are in your `$PATH`. | Note that the `CMDSTAN` variable is directly related to `cmdstanpy` module and c an be omitted if your CmdStan binaries are in your `$PATH`. | |||
It is also possible to install Prophet with two backends: | It is also possible to install Prophet with two backends: | |||
``` | ``` | |||
# bash | # bash | |||
$ CMDSTAN=/tmp/cmdstan-2.22.1 STAN_BACKEND=PYSTAN,CMDSTANPY pip install fbprophe t | $ CMDSTAN=/tmp/cmdstan-2.22.1 STAN_BACKEND=PYSTAN,CMDSTANPY pip install prophet | |||
``` | ``` | |||
After installation, you can [get started!](https://facebook.github.io/prophet/do cs/quick_start.html#python-api) | After installation, you can [get started!](https://facebook.github.io/prophet/do cs/quick_start.html#python-api) | |||
If you upgrade the version of PyStan installed on your system, you may need to r einstall fbprophet ([see here](https://github.com/facebook/prophet/issues/324)). | If you upgrade the version of PyStan installed on your system, you may need to r einstall prophet ([see here](https://github.com/facebook/prophet/issues/324)). | |||
### Anaconda | ### Anaconda | |||
Use `conda install gcc` to set up gcc. The easiest way to install Prophet is thr ough conda-forge: `conda install -c conda-forge fbprophet`. | Use `conda install gcc` to set up gcc. The easiest way to install Prophet is thr ough conda-forge: `conda install -c conda-forge prophet`. | |||
### Windows | ### Windows | |||
On Windows, PyStan requires a compiler so you'll need to [follow the instruction s](http://pystan.readthedocs.io/en/latest/windows.html). The easiest way to inst all Prophet in Windows is in Anaconda. | On Windows, PyStan requires a compiler so you'll need to [follow the instruction s](http://pystan.readthedocs.io/en/latest/windows.html). The easiest way to inst all Prophet in Windows is in Anaconda. | |||
### Linux | ### Linux | |||
Make sure compilers (gcc, g++, build-essential) and Python development tools (py thon-dev, python3-dev) are installed. In Red Hat systems, install the packages g cc64 and gcc64-c++. If you are using a VM, be aware that you will need at least 4GB of memory to install fbprophet, and at least 2GB of memory to use fbprophet. | Make sure compilers (gcc, g++, build-essential) and Python development tools (py thon-dev, python3-dev) are installed. In Red Hat systems, install the packages g cc64 and gcc64-c++. If you are using a VM, be aware that you will need at least 4GB of memory to install prophet, and at least 2GB of memory to use prophet. | |||
## Changelog | ## Changelog | |||
### Version 0.6 (2020.03.03) | ### Version 0.6 (2020.03.03) | |||
- Fix bugs related to upstream changes in `holidays` and `pandas` packages. | - Fix bugs related to upstream changes in `holidays` and `pandas` packages. | |||
- Compile model during first use, not during install (to comply with CRAN policy ) | - Compile model during first use, not during install (to comply with CRAN policy ) | |||
- `cmdstanpy` backend now available in Python | - `cmdstanpy` backend now available in Python | |||
- Python 2 no longer supported | - Python 2 no longer supported | |||
skipping to change at line 138 | skipping to change at line 139 | |||
- Bugfixes | - Bugfixes | |||
- New options for detecting yearly and weekly seasonality (now the default) | - New options for detecting yearly and weekly seasonality (now the default) | |||
### Version 0.1 (2017.02.23) | ### Version 0.1 (2017.02.23) | |||
- Initial release | - Initial release | |||
## License | ## License | |||
Prophet is licensed under the [MIT license](LICENSE.md). | Prophet is licensed under the [MIT license](LICENSE). | |||
End of changes. 14 change blocks. | ||||
17 lines changed or deleted | 17 lines changed or added |