prophet/python
2019-06-28 11:41:20 -07:00
..
fbprophet Replace functools.reduce() with pd.concat() to concat dataframes in cross_validation 2019-06-28 11:41:20 -07:00
scripts Change to MIT license 2019-05-21 11:40:04 -07:00
stan Change to MIT license 2019-05-21 11:40:04 -07:00
LICENSE Change to MIT license 2019-05-21 11:40:04 -07:00
MANIFEST.in Post1 release + remove pyproject.toml file 2019-01-08 11:00:54 -08:00
README.md Update README with instructions to install from Makefile 2019-05-31 11:23:49 -07:00
requirements.txt Remove ipython from requirements since it would break test for python 2 2019-05-31 11:23:49 -07:00
setup.py Change to MIT license 2019-05-21 11:40:04 -07:00

Prophet: Automatic Forecasting Procedure

Prophet is a procedure for forecasting time series data based on an additive model where non-linear trends are fit with yearly, weekly, and daily seasonality, plus holiday effects. It works best with time series that have strong seasonal effects 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 released by Facebook's Core Data Science team .

Full documentation and examples available at the homepage: https://facebook.github.io/prophet/

Other forecasting packages

Installation

pip install fbprophet

Note: Installation requires PyStan, which has its own installation instructions. On Windows, PyStan requires a compiler so you'll need to follow the instructions. The key step is installing a recent C++ compiler

Installation using Docker and docker-compose (via Makefile)

Simply type make build and if everything is fine you should be able to make shell or alternative jump directly to make py-shell.

To run the tests, inside the container cd python/fbprophet and then python -m unittest

Example usage

  >>> from fbprophet import Prophet
  >>> m = Prophet()
  >>> m.fit(df)  # df is a pandas.DataFrame with 'y' and 'ds' columns
  >>> future = m.make_future_dataframe(periods=365)
  >>> m.predict(future)