Autoregressive Denoising Diffusion Models for Multivariate Probabilistic Time Series Forecasting (Paper reading)
Kashif Rasul,PMLR2021,Cited:108, Code, Paper
1. 前言
在这项工作中,我们提出了TimeGrad,这是一种用于多变量概率时间序列预测的自回归模型,它通过估计梯度来在每个时间步采样数据分布。为此,我们使用了扩散概率模型,这是一类与分数匹配和基于能量的方法密切相关的潜变量模型。我们的模型通过优化数据似然的变分下界来学习梯度,在推断时通过 Langevin 采样将白噪声转化为感兴趣分布的样本,通过实验证明,所提出的自回归去噪扩散模型是实际数据集上具有成千上万个相关维度的多变量概率预测方法的最新技术。我们希望这种方法对从业者来说是一个有用的工具,并为今后在这个领域的研究奠定了基础。
2. 训练
我们用 x i , t 0 ∈ R x^0_{i,t} ∈R xi,t0∈R 表示多变量时间序列的实体,其中 i ∈ { 1 , . . . , D } i ∈ \{1, . . . , D\} i∈{1,...,D}, t t t 是时间索引。因此,在时间 t t t 时的多变量向量表示为 x t 0 ∈ R D x^0_t ∈ R^D xt0∈RD。我们的任务是预测未来若干个给定预测时间步的多变量分布,因此在接下来的内容中,考虑具有 t ∈ [ 1 , T ] t ∈ [1, T] t∈[1,T] 的时间序列,这些时间序列是从训练数据的完整时间序列历史中采样的,我们将将这个连续序列分成一个大小为 [ 1 , t 0 ) [1, t_0) [1,t0) 的上下文窗口和一个预测间隔 [ t 0 , T ] [t_0, T] [t0,T]。
为了建模时间动态性,我们采用了自回归循环神经网络(RNN)架构,该架构利用 LSTM或 GRU来编码时间点
t
t
t 之前的时间序列序列,考虑到协变量
c
t
c_t
ct, 更新隐藏状态
h
t
h_t
ht:
h
t
=
R
N
N
θ
(
c
o
n
c
a
t
(
x
t
0
,
c
t
)
,
h
t
−
1
)
h_t = RNN_\theta(concat(x^0_t, c_t),h_{t-1})
ht=RNNθ(concat(xt0,ct),ht−1)
训练是通过从训练时间序列数据中随机抽样上下文和相邻的预测窗口来执行的,并且优化参数
θ
θ
θ,以使模型的负对数似然最小化,从初始的隐藏状态
h
t
0
−
1
h_{t_0−1}
ht0−1 开始,该隐藏状态是通过在选择的上下文窗口上运行 RNN 获得的。通过与前一节类似的推导过程,我们得到了时间步
t
t
t 和噪声索引
n
n
n 的目标函数的条件变体,如下所示,这是目标函数的简化形式:
E
x
t
0
,
ϵ
,
n
[
∣
∣
ϵ
−
ϵ
θ
(
α
ˉ
n
x
t
0
+
1
−
α
ˉ
n
ϵ
,
h
t
−
1
,
n
)
∣
∣
2
]
\mathbb{E}_{x_t^0,\epsilon,n}[||\epsilon-\epsilon_\theta(\sqrt{\bar \alpha_n}x_t^0+\sqrt{1-\bar \alpha_n}\epsilon, h_{t-1}, n)||^2]
Ext0,ϵ,n[∣∣ϵ−ϵθ(αˉnxt0+1−αˉnϵ,ht−1,n)∣∣2]
训练代码的流程图如下:
3. 采样
在训练中,我们在训练集的最后一个上下文大小窗口上运行 RNN,获得隐藏状态
h
T
h_T
hT。然后我们遵循算法 2 中的采样过程来获得下一个时间步的样本
x
T
+
1
0
x^0_{T +1}
xT+10,我们可以将自回归传递给 RNN 和协变量
c
T
+
1
c_{T +1}
cT+1 以获得下一个隐藏状态
h
T
+
1
h_{T +1}
hT+1并重复直到达到所需的预测范围。
在真实世界的数据中,不同时间序列实体的幅度可能会差异巨大。为了归一化尺度,我们在将它们输入模型之前,通过它们的上下文窗口均值(如果为零则为1)来除以每个时间序列实体。在推断时,样本然后乘以相同的均值,以匹配原始尺度。这种重新缩放技术简化了模型的问题,在实际性能上得到了显著改善。另一种方法是通过从函数逼近器的输入到输出的快捷连接来实现,就像多变量点预测方法 LSTNet中所做的那样,在这里不适用。
我们对分类特征 使用嵌入,允许在训练时间序列模型时捕获类别或其上下文中的关系。将这些嵌入作为特征相结合进行预测会产生强大的模型。我们使用的协变量 c t c_t ct 由时间相关(例如星期几、一天中的小时)和时间无关嵌入(如果适用)以及取决于我们正在训练的数据集的时频的滞后特征组成。因此,对于我们希望预测的时期,所有协变量都是已知的。
4. 实验
我们在六个真实世界的数据集上对 TimeGrad 进行benchmark测试,并针对几个竞争baselines进行评估。