在近年来,时间序列预测出现新局面:海量(上千甚至是上百万)相关时间序列的预测。例如,预测城市中每户居民的用电量,大型零售商所有商品的销量等。在上述所有场景中,可以使用那些过去相似、或相关的时间序列来对单个时间序列进行建模预测。 这样做的优势是:可以拟合复杂模型而不产生过拟合,免去传统机器学习中所必须的大量人工特征制作的过程。
海量(上千甚至是上百万)相关时间序列的预测。具体的问题有:
数学语言描述:
在第 t t t时刻,对于给定的第 i i i个时间序列的值记为 z i , t z_{i,t} zi,t, 我们的目标是建立如下条件概率分布模型:
P ( z i , t 0 : T ∣ z i , 1 : t 0 − 1 , x i , 1 : T ) P(\bold{z}_{i, t_0:T}|\bold{z}_{i, 1:t_0-1}, \bold{x}_{i, 1:T}) P(zi,t0:T∣zi,1:t0−1,xi,1:T)
其中:
为了逼近目标模型,该文提出了基于RNN架构的自回归模型,如图1所示。
deepar模型数学描述如下:
Q Θ ( z i , t 0 : T ∣ z i , 1 : t 0 − 1 , x i , 1 : T ) = ∏ t = t 0 T Q Θ ( z i , t ∣ z i , 1 : t − 1 , x i , 1 : T ) = ∏ t = t 0 T l ( z i , t ∣ θ ( h i , t , Θ ) ) Q_{\Theta}(\bold{z}_{i, t_0:T}|\bold{z}_{i, 1:t_0-1}, \bold{x}_{i, 1:T})=\prod_{t=t_0}^TQ_{\Theta}(z_{i,t}|\bold{z}_{i,1:t-1}, \bold{x}_{i, 1:T})=\prod_{t=t_0}^T\mathcal{l}(z_{i,t}|\theta(\bold{h}_{i,t}, \Theta)) QΘ(zi,t0:T∣zi,1:t0−1,xi,1:T)=t=t0∏TQΘ(zi,t∣zi,1:t−1,xi,1:T)=t=t0∏Tl(zi,t∣θ(hi,t,Θ))
其中自回归神经网络的输出 h i , t \bold{h}_{i,t} hi,t:
h i , t = h ( h i , t − 1 , z i , t − 1 , x i , t , Θ ) (1) \bold{h}_{i,t}=h(\bold{h}_{i,t-1}, z_{i,t-1}, x_{i,t}, \Theta)\tag 1 hi,t=h(hi,t−1,zi,t−1,xi,t,Θ)(1)
其中, h h h是自回归神经网络中的元件。似然函数 l ( z i , t ∣ θ ( h i , t , Θ ) ) \mathcal{l}(z_{i,t}|\theta(\bold{h}_{i,t}, \Theta)) l(zi,t∣θ(hi,t,Θ))是一个固定的分布,它的参数是由网络的输出 h i , t \bold{h}_{i,t} hi,t,即函数 θ ( h i , t , Θ ) \theta(\bold{h}_{i,t}, \Theta) θ(hi,t,Θ), 决定的。
L = ∑ i = 1 N ∑ t = t 0 T log l ( z i , t ∣ θ ( h i , t ) ) (2) \mathcal{L}=\sum_{i=1}^N\sum_{t=t_0}^T\log\mathcal{l}(z_{i,t}|\theta(\bold{h}_{i,t}))\tag 2 L=i=1∑Nt=t0∑Tlogl(zi,t∣θ(hi,t))(2)
除了时间序列自身信息意外,还有其他信息能够帮助到序列预测。例如在销量预测项目中,在预测时间范围内产品的价格和促销活动等。这个信息的利用就是deepar模型中的 x i , t \bold{x}_{i,t} xi,t,对于 x i , t \bold{x}_{i,t} xi,t既可以是 item-dependent, 也可以是time-dependent,或者两者兼有。
该文使用的特征有:
针对含有较多0的销量预测,即低动销产品(Slow-moving items)和 间歇性需求产品
相关序列之间共享信息可以提高预测的准确率。
利用神经网络建模间歇性序列数据
深度状态空间法
该论文针对时间序列,提出具有RNN架构的概率分布预测模型,创新性地提出按照序列数量级缩放和采样的方法,用一个全局模型对不同数量级序列进行了建模。关于低动销和间歇性需求的产品销量预测可以结合项目持续优化。