Autoregressive Denoising Diffusion Models for Multivariate Probabilistic Time Series Forecasting

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,t0R 表示多变量时间序列的实体,其中 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 xt0RD。我们的任务是预测未来若干个给定预测时间步的多变量分布,因此在接下来的内容中,考虑具有 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),ht1)
训练是通过从训练时间序列数据中随机抽样上下文和相邻的预测窗口来执行的,并且优化参数 θ θ θ,以使模型的负对数似然最小化,从初始的隐藏状态 h t 0 − 1 h_{t_0−1} ht01 开始,该隐藏状态是通过在选择的上下文窗口上运行 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[∣∣ϵϵθ(αˉn xt0+1αˉn ϵ,ht1,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进行评估。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值