R中prophet包说明文档(一)



名称:自动预测过程

版本:0.2.1

日期:2017-11-08

描述:实现了一个时间序列的预测过程,基于能够拟合年度、周等周期以及假期等因素的非线性趋势的加法模型。模型要求至少一年以上的周期性历史数据。prophet模型对于缺失值、趋势突变以及大量离群点的数据有较好的鲁棒性。

平台:R3.2.3以上版本),Rcpp0.12.0以上版本)

载入包: dplyr, extraDistr, ggplot2, grid,rstan, scales stats tidyr

作者: Sean Taylor [cre, aut] , BenLetham[aut]

主要联系人:Sean Taylor<[email protected]>

---------------------------------------------------------------------------------------------------------

下面是分别介绍包中方法的具体使用,共12个方法:

(一)prophet —— prophet预测器

描述:

预测器,模型生成器

用法:

prophet( df = NULL, growth ="linear", changepoints = NULL, n.changepoints = 25,

  yearly.seasonality ="auto", weekly.seasonality = "auto", daily.seasonality ="auto",

  holidays = NULL,seasonality.prior.scale = 10, holidays.prior.scale = 10,

  changepoint.prior.scale = 0.05,mcmc.samples = 0, interval.width = 0.8,

  uncertainty.samples = 1000, fit= TRUE, ... )

参数说明:

df                                       (选择项)历史数据框,必须包含列:dsdate型)、y(时间序列),当逻辑增长时,必须包含cap列指明每一个dscapacity。不提供此参数时,模型会被实例化但是不会被拟合,可以使用fit.prophet(m,df)来拟合模型。

growth                                  字符串‘linear’‘logistic’,表示线性或者逻辑增长趋势。

changepoints                       日期型向量,表示潜在的拐点,不指定时系统自动选择。

n.changepoints                    拐点数量,当changepoints有输入时不用指定,默认情况选择df$ds的前80%。

yearly.seasonality                 拟合年度季节性,可以为‘auto’TRUEFALSE,或者是一些傅里叶成分来生成。

weekly.seasonality                拟合周度季节性,可以为‘auto’TRUEFALSE,或者是一些傅里叶成分来生成。

daily.seasonality                   拟合日的季节性,可以为‘auto’TRUEFALSE,或者是一些傅里叶成分来生成。

holidays                              数据框包含holiday列(字符型)和ds列(日期型),以及可选列lower_windowupper_window表示节假日所跨度的时间段。例如lower_window=-2表示从节假日当天往前延长两天,还可以有一列可选列prior_scale指明每个节假日的现有规模。

 seasonality.prior.scale           参数用于调节季节模型的强度,较大的值允许模型适应较大的季节波动,较小的值则会抑制季节变动。可以使用add_seasonality来指定个别季节性。

holidays.prior.scale                参数用于调节节假日成分模型的强度,除非在节假日输入中被重写。

changepoint.prior.scale         参数调节自动改变点选择的灵活性,较大的值会产生较多的改变点,较小的值则产生较少的转折点。

mcmc.samples                       整型,大于0将用指定的MCMC样本进行完全贝叶斯推理,为0时则进行MAP估计(最大后验概率估计)。

interval.width                         数值型,预测的不确定性区间的宽度。

uncertainty.samples               用于估计不确定区间的模拟绘图的数量

fit                                            布尔型,FALSE时表示模型被初始化但是不进行拟合。

输出值

prophet预测模型

(二)make_future_dataframe —— 新建一个数据框包含将来需要预测的日期

描述:

新建一个数据框,指明需要预测到将来多长时间

用法:

make_future_dataframe (m, period,freq = ’day’, include_history = TRUE)

参数说明:

m                                           Prophet对象

periods                                  将来要预测时间范围,整型

freq                                    ‘day’‘week’‘month’,‘quarter’‘year’1 (1 sec)60 ( 1 minute ) or 3600 ( 1 hour )

include_history                     布尔值,是否包含历史日期

输出值

数据框,从m$history结束处延伸至需要预测时间点的周期数

(三)predict.prophet —— 使用prophet模型进行预测

描述:

使用prophet模型进行预测

用法:

## S3 method for class‘prophet’

predict (object, df = NULL, …)

参数说明:

object                                                     Prophet对象

df                                      包含预测日期(column ds),逻辑增长时需要容量(column cap),如果不指定则在历史数据基础上预测 【make_future_dataframe()返回的数据框】

输出值

预测结果数据框

(四)plot.prophet ——绘制prophet预测结果图

描述:

绘制prophet预测结果图

用法:

## S3 method for class‘prophet’

plot (x, fcst, uncertainty =True, plot_cap = TRUE, xlabel = “ds”, ylabel = “y”, …)

参数说明:

x                                           Prophet对象

fcst                                       predict(m, df)返回的数据框

uncertainty                          布尔值,指明是否画出yhat的预测区间,fcst中必须有yhat_loweryhat_upper字段

plot_cap                              布尔值,指明是否画出capacity

xlabel                                  x轴的标签

ylabel                                  y轴的标签

输出值

ggplot2

(五)plot_forecast_component —— 绘制prophet预测结果的分量图

描述:

绘制prophet预测结果分量图,包含总体趋势、节假日以及周度、年度季节因素

用法:

plot_forecast_component (fcst,name, uncertainty = True, plot_cap = TRUE)

参数说明:

fcst                                       predict(m, df)返回的数据框

name                                   字符串,fcst列的名字

uncertainty                          布尔值,指明是否画出yhat的预测区间,fcst中必须有yhat_loweryhat_upper字段

plot_cap                              布尔值,指明是否画出capacity

输出值

ggplot2

(六)prophet_plot_components —— 绘制预测结果的各个成分图

描述:
 绘制预测结果的各个成分图,输出一个ggplot2图像包括趋势、周度、年度季节以及节假日因子的图形面板。
用法:
 prophet_plot_components(m, fcst, uncertainty = TRUE, plot_cap = TRUE, weekly_start = 0, 
       yearly_start = 0)
参数说明:

m                                                   Prophet模型对象
fsct predict(m, df)返回的数据框
uncertainty 布尔型,指定是否趋势的不确定区间,即fcst数据框中的trend_lower和trend_upper列
plot_cap 布尔值,指明是否画出capacity
weekly_start 整型,指明周季节图中起始的天,0(默认)表示一周从周六开始。
yearly_start 整型,指明年度季节图中开始的天,0(默认)表示从1月1日开始。

输出值:
返回一个列表,包含绘制ggplot图像的参数。

















猜你喜欢

转载自blog.csdn.net/weixin_41577291/article/details/79151886