Prophet paper: Sean J. Taylor, Benjamin Letham (2018) Forecasting at scale. The American Statistician 72(1):37-45 (https://facebook.github.io/prophet/).
镜像地址 pdf
时间序列预测可以用于 capacity planning, goal setting, and anomaly detection,所以挺重要,这篇论文提出了一个模型。
business forecast有两种主要方法completely automatic forecasting techniques 缺点是不灵活,且不能加入专家知识。
analysts 往往缺乏 series forecasting 方面的知识
核心公式还是加法公式
g是趋势性
s是周期性(周、年等)
h是holiday,特点是不规律,可能持续一天或数天
模型优点:Flexibility:可以轻松调整周期和趋势
不需要均匀采样(对比ARIMA)
拟合较快
每个参数都有意义,都可理解
模型进行如下改进:
capacity C 是变化的(例如FaceBook的用户数量,上限是网民人数,但网民人数在变化)替换为C(T)C(T)
增长率k也是变化的。原文用了3个式子去描述,就不摘抄了。描述一下就是,增长率是分段的,然后为了函数连续,m也需要分段进行调整。
就是一个线性模型,
,然后用上面写的方法进行分段。
上文涉及到分割点,如何计算呢:分析师根据经验去定义。
按月按年等,等分
随机选取分割间隔,分割间隔服从拉普拉斯分布
(我额外加一句,拉普拉斯分布比较像正态分布)
P = 365.25 for yearly data or P = 7 for weekly data
先定义一个N,然后拟合 ai,biai,bi (共2N个)
可以使用AIC准则来计算N
For each holiday i, let
be the set of past and future dates for that holiday. 例如,用1代表圣诞节,2代表感恩节…,那么
就是圣诞节集合,
是感恩节集合。
如果总共L种节日,那么Z(t)Z(t)是L阶向量
原文没写太清楚,但h(t)h(t)应该是Z(t)Z(t)的各元素加权和,权重就是待解参数。
周期项和节日项产生了多维feature,类似多维回归,优化算法选择L-BFGSCapacities
Changepoints
seasonality
Holidays
smoothing parameter整个模型实际上还是时间序列分析中的加法模型,
加法每一项都做了巧妙但不难的设计,保证一定的复杂度的同时,可解释性、可操作性都极强。
很漂亮的模型。