The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
This document provides a very brief introduction to the Prophet API. For a detailed guide on using Prophet, please visit the main site at https://facebook.github.io/prophet/.
Prophet uses the normal model fitting API. We provide a prophet
function that performs fitting and returns a model object. You can then call predict
and plot
on this model object.
First we read in the data and create the outcome variable.
library(readr)
df <- read_csv('../tests/testthat/data.csv')
#> Parsed with column specification:
#> cols(
#> ds = col_date(format = ""),
#> y = col_double()
#> )
We call the prophet
function to fit the model. The first argument is the historical dataframe. Additional arguments control how Prophet fits the data.
m <- prophet(df)
#> Disabling daily seasonality. Run prophet with daily.seasonality=TRUE to override this.
We need to construct a dataframe for prediction. The make_future_dataframe
function takes the model object and a number of periods to forecast:
future <- make_future_dataframe(m, periods = 365)
head(future)
#> ds
#> 1 2012-05-18
#> 2 2012-05-21
#> 3 2012-05-22
#> 4 2012-05-23
#> 5 2012-05-24
#> 6 2012-05-25
As with most modeling procedures in R, we use the generic predict
function to get our forecast:
forecast <- predict(m, future)
head(forecast)
#> ds trend additive_terms additive_terms_lower additive_terms_upper
#> 1 2012-05-18 40.50193 -4.547887 -4.547887 -4.547887
#> 2 2012-05-21 40.01455 -5.467254 -5.467254 -5.467254
#> 3 2012-05-22 39.85209 -5.609274 -5.609274 -5.609274
#> 4 2012-05-23 39.68963 -5.724989 -5.724989 -5.724989
#> 5 2012-05-24 39.52717 -5.806214 -5.806214 -5.806214
#> 6 2012-05-25 39.36471 -6.155667 -6.155667 -6.155667
#> weekly weekly_lower weekly_upper yearly yearly_lower yearly_upper
#> 1 0.5681288 0.5681288 0.5681288 -5.116016 -5.116016 -5.116016
#> 2 0.3000873 0.3000873 0.3000873 -5.767341 -5.767341 -5.767341
#> 3 0.3905757 0.3905757 0.3905757 -5.999850 -5.999850 -5.999850
#> 4 0.5129521 0.5129521 0.5129521 -6.237941 -6.237941 -6.237941
#> 5 0.6736987 0.6736987 0.6736987 -6.479913 -6.479913 -6.479913
#> 6 0.5681288 0.5681288 0.5681288 -6.723796 -6.723796 -6.723796
#> multiplicative_terms multiplicative_terms_lower multiplicative_terms_upper
#> 1 0 0 0
#> 2 0 0 0
#> 3 0 0 0
#> 4 0 0 0
#> 5 0 0 0
#> 6 0 0 0
#> yhat_lower yhat_upper trend_lower trend_upper yhat
#> 1 32.36049 39.19215 40.50193 40.50193 35.95404
#> 2 31.12032 38.10306 40.01455 40.01455 34.54730
#> 3 30.70133 37.79524 39.85209 39.85209 34.24282
#> 4 30.54989 37.46622 39.68963 39.68963 33.96464
#> 5 30.13145 36.89207 39.52717 39.52717 33.72096
#> 6 29.46769 36.58290 39.36471 39.36471 33.20905
You can use the generic plot
function to plot the forecast, but you must also pass the model in to be plotted:
plot(m, forecast)
You can plot the components of the forecast using the prophet_plot_components
function:
prophet_plot_components(m, forecast)
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.