Prophet is a software platform created by Facebook’s core data science team as a procdeure for forecasting time series data. Prophet supports what the team calls “Analyst in the Loop Modeling,” where current business analysts have significant domain knowledge of their particular industry, but the lack training in time series forcasting.

Prophet boasts the ability to be accurate, and fast, while having the ability to produce reasonable forecasts that can out perform many traditional appraoches. Prophet is fully automatic, and it also tunable to make it more interpretable.

This is an analysis of the “Bike Sharing Dataset” from the UCI Machine Learning Repository. This dataset contains the daily count of rented bikes during 2011-2012.

As in all time series analysis, I will visualize the data to examine the patterns of the data and to note any irregularies.

First I will fit the prophet model, the create the dataframe, which creates the dates of which the predictions will be made on.

## Initial log joint probability = -49.0898
## Optimization terminated normally: 
##   Convergence detected: relative gradient magnitude is below tolerance
##           ds
## 1 2011-01-01
## 2 2011-01-02
## 3 2011-01-03
## 4 2011-01-04
## 5 2011-01-05
## 6 2011-01-06
##              ds
## 1091 2013-12-26
## 1092 2013-12-27
## 1093 2013-12-28
## 1094 2013-12-29
## 1095 2013-12-30
## 1096 2013-12-31

Next, I used the “predict” function to get the forecast, and I create a dataframe called “forecast.” The column “yhat” contains the forecast.

##              ds     yhat yhat_lower yhat_upper
## 1091 2013-12-26 5580.997   4444.814   6834.478
## 1092 2013-12-27 5604.066   4347.166   6833.899
## 1093 2013-12-28 5521.493   4255.895   6810.019
## 1094 2013-12-29 5224.803   3977.192   6390.138
## 1095 2013-12-30 5371.055   4106.784   6628.873
## 1096 2013-12-31 5587.187   4289.903   6883.783

Here I plot the forecast

The plot below shows the forecast broken down into “trend,” “Weekly Seasonality,” and “Yearly Sesonality.” This is mainly used to help the analyst understand the data.

Below is an interactive Dyplot of the forecast, which is a great tool.

The Prophet package seems to be a great tool for time series forcasting. I will continue to work with it and to learn all of the capabilities of it. I’m sure that Prophet is a great tool for certain situations.