Learn R Programming

prophet (version 1.0)

Automatic Forecasting Procedure

Description

Implements 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.

Copy Link

Version

Install

install.packages('prophet')

Monthly Downloads

19,884

Version

1.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Last Published

March 30th, 2021

Functions in prophet (1.0)

get_holiday_names

Return all possible holiday names of given country
make_seasonality_features

Data frame with seasonality features.
make_holidays_df

Make dataframe of holidays for given years and countries
mae

Mean absolute error
plot_seasonality

Plot a custom seasonal component.
fit.prophet

Fit the prophet model.
dyplot.prophet

Plot the prophet forecast.
linear_growth_init

Initialize constant growth.
plot_weekly

Plot the weekly component of the forecast.
logistic_growth_init

Initialize logistic growth.
make_all_seasonality_features

Dataframe with seasonality features. Includes seasonality features, holiday features, and added regressors.
performance_metrics

Compute performance metrics from cross-validation results.
initialize_scales_fn

Initialize model scales.
set_date

Convert date vector
flat_trend

Evaluate the flat trend function.
mse

Mean squared error
flat_growth_init

Initialize flat growth.
plot_cross_validation_metric

Plot a performance metric vs. forecast horizon from cross validation. Cross validation produces a collection of out-of-sample model predictions that can be compared to actual values, at a range of different horizons (distance from the cutoff). This computes a specified performance metric for each prediction, and aggregated over a rolling window with horizon.
plot_forecast_component

Plot a particular component of the forecast.
mdape

Median absolute percent error
mape

Mean absolute percent error
predict_uncertainty

Prophet uncertainty intervals for yhat and trend
predictive_samples

Sample from the posterior predictive distribution.
sample_model

Simulate observations from the extrapolated generative model.
piecewise_linear

Evaluate the piecewise linear function.
sample_posterior_predictive

Prophet posterior predictive samples.
setup_dataframe

Prepare dataframe for fitting or predicting.
single_cutoff_forecast

Forecast for a single cutoff. Used in cross_validation function when evaluating for multiple cutoffs.
fourier_series

Provides Fourier series components with the specified frequency and order.
piecewise_logistic

Evaluate the piecewise logistic function.
generated_holidays

holidays table
generate_cutoffs

Generate cutoff dates
make_future_dataframe

Make dataframe with future dates for forecasting.
prophet_plot_components

Plot the components of a prophet forecast. Prints a ggplot2 with whichever are available of: trend, holidays, weekly seasonality, yearly seasonality, and additive and multiplicative extra regressors.
make_holiday_features

Construct a matrix of holiday features.
plot.prophet

Plot the prophet forecast.
regressor_column_matrix

Dataframe indicating which columns of the feature matrix correspond to which seasonality/regressor components.
validate_inputs

Validates the inputs to Prophet.
predict.prophet

Predict using the prophet model.
rolling_mean_by_h

Compute a rolling mean of x, after first aggregating by h
prophet

Prophet forecaster.
prophet_copy

Copy Prophet object.
plot_yearly

Plot the yearly component of the forecast.
rolling_median_by_h

Compute a rolling median of x, after first aggregating by h
sample_predictive_trend

Simulate the trend using the extrapolated generative model.
regressor_coefficients

Summarise the coefficients of the extra regressors used in the model. For additive regressors, the coefficient represents the incremental impact on y of a unit increase in the regressor. For multiplicative regressors, the incremental impact is equal to trend(t) multiplied by the coefficient.
rmse

Root mean squared error
predict_trend

Predict trend using the prophet model.
parse_seasonality_args

Get number of Fourier components for built-in seasonalities.
predict_seasonal_components

Predict seasonality components, holidays, and added regressors.
set_auto_seasonalities

Set seasonalities that were left on auto.
seasonality_plot_df

Prepare dataframe for plotting seasonal components.
validate_column_name

Validates the name of a seasonality, holiday, or regressor.
time_diff

Time difference between datetimes
smape

Symmetric mean absolute percentage error based on Chen and Yang (2004) formula
set_changepoints

Set changepoints
add_regressor

Add an additional regressor to be used for fitting and predicting.
add_changepoints_to_plot

Get layers to overlay significant changepoints on prophet forecast plot.
add_country_holidays

Add in built-in holidays for the specified country.
cross_validation

Cross-validation for time series.
df_for_plotting

Merge history and forecast for plotting.
add_seasonality

Add a seasonal component with specified period, number of Fourier components, and prior scale.
coverage

Coverage
add_group_component

Adds a component with given name that contains all of the components in group.
construct_holiday_dataframe

Construct a dataframe of holiday dates.