论文名称:Temporal Fusion Transformers for interpretable multi-horizon time series forecasting 论文下载:https://www.sciencedirect.com/science/article/pii/S0169207021000637 论文年份:2021 93(2022/05/01) 论文代码:https://github.com/greatwhiz/tft_tf2
Abstract
often contains a complex mix of inputs – including static (i.e. time-invariant) covariates, known future inputs, and other – without any prior information on how they interact with the target. Several deep learning methods have been proposed, but they are typically ‘black-box’ models that do not shed light on how they use the full range of inputs present in practical scenarios. In this paper, we introduce the Temporal Fusion Transformer (TFT) – a novel attention-based architecture that combines high-performance multi-horizon forecasting with interpretable insights into temporal dynamics. To learn temporal relationships at different scales, TFT uses recurrent layers for local processing and interpretable self-attention layers for long-term dependencies. TFT utilizes specialized components to select relevant features and a series of gating layers to suppress unnecessary components, enabling high performance in a wide range of scenarios. On a variety of real-world datasets, we demonstrate significant performance improvements over existing benchmarks, and highlight three practical interpretability use cases of TFT.
多范围预测(Multi-horizon forecasting)通常包括复杂的输入组合-包括、以及——。已经提出了几种深度学习方法,但它们通常是黑盒子模型,没有澄清它们如何使用实际场景中的所有输入。在本文中,我们介绍了它——基于注意力的新颖结构。学习不同尺度的时间关系,TFT 局部处理采用循环层,长期依赖可解释的自注意层。 。在各种现实世界的数据集上,我们展示了比现有基准测试显着的性能改进,并强调了 TFT 三个实际可解释用例。
1. Introduction
,即,它是时间序列机器学习中的一个关键问题。与一步一步的预测相比,(比如零售商在即将到来的季节优化库存,或者临床医生优化病人的治疗计划)。零售预测范围广(B?se et al., 2017; Courty & Li, 1999),医疗保健(Lim, Alaa, & van der Schaar, 2018; Zhang & Nawata, 2018)和经济学(Capistran, Constandse, & RamosFrancia, 2010)-对现有方法的性能改进具有重要价值。 实际的多范围预测应用程序通常是,如图 1 所示,包括
- (比如即将到来的假期日)
- (exogenous time series,例如,历史客户流量)
- (static metadata,例如,商店的位置)
。。
研究中存在的问题
深度神经网络 (DNN) 与传统时间序列模型相比,越来越多地用于多范围预测,表现出强大的性能改进(Alaa & van der Schaar, 2019; Makridakis, Spiliotis, & Assimakopoulos, 2020; Rangapuram et al., 2018)。尽管许多架构都专注于循环神经网络 (RNN) 架构的变体(Rangapuram et al., 2018; Salinas, Flunkert, Gasthaus, & Januschowski, 2019; Wen et al., 2017),但最近的改进也被使用了(Fan et al., 2019年-基于Transformer的模型(Li et al., 2019年)。然而,这些通常是(Li et al., 2019; Rangapuram et al., 2018; Salinas et al., 2018年)-自回归模型的常见问题-或 (Wen et al., 2017)——它们。最近时间序列模型的许多改进来自于架构与独特数据特征的一致性(Koutník, Greff, Gomez, & Schmidhuber, 2014; Neil et al., 2016)。我们论证和证明,。
除了不考虑常见的多范围预测此外,目前大多数架构都是,预测由许多参数之间复杂的非线性相互控制。这使得很难解释模型是如何得出预测结果的,反过来又使用户难以信任模型的输出和模型构建者对其进行调试。不幸的是,DNN 常用的可解释性方法不适用于时间序列。。。这种方法会导致解释质量差,因为。另一方面,提出了一些建议,它们,例如 Transformer 结构。应用它们的基本警告是,。这些们的传统形式中,这些架构可以提供对多范围预测相关时间步长的洞察,但它们
【本文的解决方案】
在本文中,我们提出了
- 1)
编码上下文的静态协变量 编码器用于网络其他部分的向量 - 2)
贯穿始终的门控机制和样本相关变量选择,以最小化不相关输入的贡献 - 3)
用于局部处理已知和观察到的输入的序列到序列层 - 4)
一个时间自注意力解码器,用于学习数据集中存在的任何长期依赖关系
使用这些专门的组件也有助于解释性;特别是,我们展示了 TFT 支持三个有价值的可解释性用例:帮助用户识别 (i) 预测问题的全局重要变量,(ii) 持久的时间模式,以及 (iii) 重要事件。在各种现实世界的数据集上,我们展示了如何实际应用 TFT,以及它提供的见解和好处。
2. Related work
用于多范围预测的 DNN:与传统的多范围预测方法类似(Marcellino, Stock, & Watson, 2006; Taieb, Sorjamaa, & Bontempi, 2010),最近的深度学习方法可以分类为
-
Deep AR (Salinas et al., 2019),它
使用堆叠的 LSTM 层来生成单步高斯预测的参数分布 。 -
深度状态空间模型 (DSSM) (Rangapuram et al., 2018) 采用了类似的方法,
利用 LSTM 生成预定义线性状态空间模型的参数,该模型具有通过卡尔曼滤波产生的预测分布 ——扩展了多变量时间序列数据 Wang et al. (2019)。
最近,
相比之下,
-
Multi-horizon Quantile Recurrent Forecaster (MQRNN) (Wen et al., 2017)
使用 LSTM 或卷积编码器生成上下文向量,这些上下文向量被馈送到每个层的多层感知器 (MLP)。 -
Fan et al. (2019) 多模态注意机制与 LSTM 编码器一起使用,为双向 LSTM 解码器构建上下文向量。尽管性能优于基于 LSTM 的迭代方法,但对于此类标准直接方法而言,可解释性仍然具有挑战性。
相比之下,我们表明,
-
事后解释方法,例如LIME (Ribeiro et al., 2016)、SHAP (Lundberg & Lee, 2017) 和 RL-LIM (Yoon et al., 2019) 应用于预训练的黑盒模型,通常
基于提炼成可解释的代理模型,或分解为特征属性 。它们的设计并未考虑输入的时间顺序,从而限制了它们对复杂时间序列数据的使用 。 -
固有的可解释建模方法将用于特征选择的组件直接构建到架构中 。特别是对于时间序列预测,它们基于明确量化时间相关变量的贡献。例如,Interpretable Multi-Variable LSTM (Guo et al., 2019) 对隐藏状态进行分区,使每个变量对其自己的内存段做出唯一贡献,并对内存段进行加权以确定变量的贡献 。 Choi 等人 (2016) 也考虑了结合时间重要性和变量选择的方法,它根据每个人的注意力权重计算单个贡献系数。然而,除了仅建模一步超前预测的缺点之外,现有方法还专注于注意力权重的实例特定(即样本特定)解释,而没有提供对全局时间动态的洞察 。
相比之下,第 7 节中的用例表明
注:查阅资料可知,regime 亦即 state (状态)
3. Multi-horizon forecasting
让给定的时间序列数据集中有唯一的实体(entities)——例如零售中的不同商店或医疗保健中的患者。每个实体 i i i 与一组静态协变量 s i ∈ R m s s_i ∈ \R^{m_s} si∈Rms 以及输入 χ i , t ∈ R m χ χ_{i,t} ∈ R^{m_χ} χi,t∈Rmχ 和标量目标 y i , t ∈ R y_{i,t} ∈ \R yi,t∈R 在每个时间步 t ∈ [ 0 , T i ] t ∈ [0, T_i] t∈[0,Ti] 相关联。与时间相关的输入特征被细分为两类 χ i , t = [ z i , t T , x i , t T ] T χ_{i,t} = [z^T_{i,t}, x^T_{i,t}]^T χi,t=[zi,tT,xi,tT]T ——观察到的输入 z i , t ∈ R ( m z ) z_{i,t} ∈ \R^{(m_z)} zi,t∈R(mz) 只能在每一步测量并且事先未知,已知输入 χ i , t ∈ R m χ χ_{i,t} ∈ R^{m_χ} χi,t∈Rmχ 可以预先确定(例如,时间 t t t 的星期几)。
-
直到并包括预测开始时间 t 的
目标和已知输入 ,即 y i , t − k : t = { y i , t − k , . . . , y i , t } y_{i,t−k:t} = \{y_{i,t−k}, ..., y_{i,t} \} yi,t−k:t={ yi,t−k,...,yi,t} -
整个范围内的已知输入 ,即 x i , t − k : t + τ = { x i , t − k , . . . , x i , t , . . . , x i , t + τ } x_{i,t−k:t+τ} = \{x_{i,t−k}, . . ., x_{i,t}, . . . , x_{i,t+τ} \} xi,t−k:t+τ={ xi,t−k,...,xi,t,...,xi,t+τ}
4. Model architecture
我们将 TFT 设计为
门控机制 :跳过架构中任何未使用的组件,提供自适应深度和网络复杂性以适应广泛的数据集和场景。变量选择网络 :在每个时间步选择相关的输入变量。静态协变量编码器 :将静态特征集成到网络中,通过上下文向量的编码来调节时间动态 。时间处理 :从观察到的和已知的随时间变化的输入中学习长期和短期时间关系。序列到序列层用于局部处理 ,而长期依赖关系使用新颖的可解释多头注意力块捕获 。通过分位数预测的预测区间 ,以确定每个预测范围内可能的目标值的范围。
图 2 显示了 Temporal Fusion Transformer (TFT) 的高级架构,后续部分将详细介绍各个组件。
4.1. Gating mechanisms
4.2. Variable selection networks
虽然可能有多个变量可用,但
4.3. Static covariate encoders
与其他时间序列预测架构相比,TFT 经过精心设计以
- 1)时间变量选择 (cs)
- 2)时间特征 (cc, ch) 的局部处理
- 3)使用静态信息 (ce) 丰富时间特征的上下文
例如,将 ζ ζ ζ 作为静态变量选择网络的输出,时间变量选择的上下文将根据 c s = G R N c s ( ζ ) c_s = GRN_{c_s}(ζ) cs=GRNcs(ζ) 进行编码。
4.4. Interpretable multi-head attention
为了提高标准注意力机制的学习能力,Vaswani et al., (2017) 提出了
4.5. Temporal fusion decoder
时间融合解码器使用下面描述的一系列层来学习数据集中存在的时间关系:
4.5.1. Locality enhancement with sequence-to-sequence layer
因此,我们建议
4.5.2. Static enrichment layer
由于静态协变量通常对时间动态有显着影响(例如疾病风险的遗传信息),我们引入了一个
4.5.3. Temporal self-attention layer
在静态丰富之后,我们接下来应用自注意力层。
4.5.4. Position-wise feed-forward layer
我们