适用于周期性较强的序列
多个特征序列拟合,然后累加生成的,分别是季节项St,趋势项Tt,节假日项Ht,剩余项e
多重强季节性、趋势变化、假日效应,异常值。
论文描述
weekly and yearly cycles, and a pronounced dip around Christmas and New Year.
These types of seasonal effects naturally arise and can be expected in time series generated
by human actions
周周期和年周期,以及圣诞节和新年前后的明显下降。这些类型的季节性效应自然产生,并且可以在人类活动产生的时间序列中预期
相关模型介绍
arima,适用于一系列arima模型,并自动选择最佳模型;
ets,适用于一系列指数平滑模型,并选择最佳
Snave,一种随机游走模型,每周进行一次季节性预测(季节性天真);
TBATS,一种具有每周和每年季节性的TBATS模型
Prophet
现在,我们描述一个时间序列预测模型,该模型旨在处理业务时间序列的常见特征,
我们的实现以Python和R的开源软件Prophet的形式提供
我们使用了一个可分解的时间序列模型(Harvey& Peters 1990),该模型由三个主要模型组成:趋势、季节性和假日。它们组合在以下等式中:
y(t) =g(t) +s(t) +h(t) + .
g(t)是趋势函数,用于模拟时间序列值的非周期性变化,
s(t)表示周期性变化(例如,每周和每年的季节性),
h(t)表示在一天或几天内可能不规则的日程上出现的假期的影响。
误差项表示模型无法适应的任何特殊变化;稍后我们将进行参数化假设,它是 正态分布的。
本规范类似于广义加性模型(GAM)(Hastine& Tibshirani 1987),这是一类回归模型,其潜在非线性平滑器应用于回归器。在这里,我们只使用时间作为回归变量,但可能使用时间的若干线性和非线性函数作为分量。将季节性建模为加性成分与指数平滑(Gardner 1985)采用的方法相同。乘性季节性,其中季节效应是乘以g(t)的一个因子,可以通过对数变换实现。
GAM公式的优点是易于分解,并在必要时容纳新的成分,例如,当确定新的季节性来源时。GAM也可以非常快速地拟合,可以使用回填或L-BFGS(Byrd等人,1995)(我们更喜欢后者),以便用户可以交互地更改模型参数。
实际上,我们将预测问题定义为一个曲线拟合练习,这与明确说明数据中时间依赖结构的时间序列模型有本质的不同。虽然我们放弃了使用生成模型(如ARIMA)的一些重要推理优势,但该公式提供了许多实际优势:
我们的方法是由我们在Facebook上预测的时间序列的性质(分段趋势、多个季节性、浮动假日)以及大规模预测所涉及的挑战驱动的。
趋势
我们已经实现了两个涵盖许多Facebook应用程序的趋势模型:饱和增长模型和分段线性模型。
原理
非线性饱和生长
对于增长预测而言,数据生成过程的核心组成部分是人口如何增长以及预期人口如何继续增长的模型。Facebook上的增长建模通常类似于自然生态系统中的人口增长(例如,Hutchinson 1978),在自然生态系统中,非线性增长在承载能力上达到饱和。例如,特定地区Facebook用户数量的承载能力可能是能够访问互联网的人数。这类增长通常使用逻辑增长模型进行建模,逻辑增长模型最基本的形式是通过C承载能力、K增长率和MAN补偿参数。