时间序列模型-Temporal Fusion Transformer
1. TFT 简介
Temporal Fusion Transformer(TFT)模型是一种专为时间序列预测设计的高级深度学习模型。它结合了神经网络的多种机制处理时间序列数据中的复杂关系。TFT 由 Lim et al. 于 2019年提出,旨在处理时间序列中的不确定性和多尺度的依赖关系。
TFT引入了多个新颖的理念,具体包括:
- 静态协变量编码器,为网络其他部分的使用对上下文向量进行编码
- 贯穿始终的门控机制和依赖样本的变量选择,以最小化无关输入的影响
- 一个序列到序列层,对已知和观测到的输入进行局部处理
- 一个时间自注意力解码器,用于学习数据集中存在的任何长期依赖关系
上述专门组件的使用有助于实现可解释性,帮助用户识别:预测问题中的全局重要的变量、持续的时间模式、重大事件
2. TFT 模型的优势
- 动态特征选择:TFT 动态地为每个时间步选择最重要的特征,这使得模型在处理高维输入和噪声数据时更具鲁棒性。
- 多尺度时间依赖:通过结合 LSTM 编码器/解码器和自注意力机制,TFT 能够捕获不同时间尺度上的依赖关系。
- 可解释性:相比于传统的黑箱模型,TFT 通过变量选择网络和注意力机制提供了一定程度的模型解释性,帮助理解模型的决策过程。
- 灵活性:TFT 可用于处理多种类型的时间序列数据,包括但不限于多变量、多步预测和带有缺失值的序列。
3. TFT的核心功能

- 输入层和嵌入层:
- 输入层:处理不同类型的输入,包括时间序列输入(历史和未来)和静态输入(不随时间变化的特征)。
- 嵌入层(Embedding Layer):对分类特征进行嵌入映射,使其转化为可供模型使用的连续特征表示。
- ** Variable Selection Network(变量选择网络)**:
- 目的:动态选择最相关的输入特征。时间序列数据往往包含大量的特征,TFT 通过变量选择网络为每个时间步动态地选择最重要的特征。
- 实现:通过门控残差网络(GRN, Gated Residual Network)对每个输入特征单独处理,计算特征的重要性权重。
- LSTM编码器/解码器:
- 目的:学习时间序列数据的顺序信息和长期依赖关系。
- 实现:使用双向长短期记忆网络(BiLSTM)进行编码,通过捕获前后信息来增强特征表达;解码器则采用单向LSTM来预测未来的时间步。
- 自注意力机制(Self-Attention Mechanism):
- 目的:捕获时间序列中的长期依赖和全局关系。
- 实现:引入多头自注意力机制(Multi-Head Self-Attention),使模型能够关注不同时间步之间的关系和模式,而不仅仅是局部的时间依赖性。
- Gated Residual Network(门控残差网络):
- 目的:通过残差连接学习复杂的特征关系,同时利用门控机制控制信息流动。
- 实现:GRN 包含了全连接层、非线性激活函数(如 smish)、门控机制(GLU)和层归一化等,可以学习更深层次的特征模式。
- 解释性模块:
- 目的:TFT 还包含解释性模块,能够输出每个特征的重要性权重,以解释模型的预测决策。
- 实现:通过整合变量选择权重和自注意力权重,提供特征的时间依赖性解释和静态特征的重要性。
4. TFT的应用
TFT模型广泛应用于各种需要时间序列预测的领域,包括但不限于:
- 金融预测:如股票价格预测、风险管理等。
- 能源预测:如电力需求预测、能源生产调度等。
- 销售预测:预测产品销售量,库存管理等。
- 医疗健康:如病患监测和疾病进展预测。
5. TFT实战案例
- notebook记录 Temporal Fusion Transformer 如何实现时间序列预测任务。
- 为什么需要更加现代的时间序列模型??
- 专门为单个时间序列(无论是多变量还是单变量)创建模型的情况现在已经很少见了。现在的时间序列研究方向都是多元的,并且具有各种分布,其中包含更多探索因素,包括:缺失数据、趋势、季节性、波动性、漂移和罕见事件等等
- 通过直接预测目标变量往往是不够的,另外还希望模型能够生成预测的预测区间,显示预测的不确定性程度。并且除了历史数据外,所有的变量都应该考虑在内,这样可以建立一个在预测能力方面具有竞争力的模型
- 所有时间序列模型应该考虑以下几点:
- 模型应该考虑多个时间序列,理想情况下应该考虑数千个时间序列
- 模型中应该使用单维或者多维序列
- 除了时态数据外,模型还应该能够使用过去数据。这个限制影响了所有的自回归技术(ARIMA模型),包括亚马逊的 DeepAR
- 非时间的外部静态因素也应该加以考虑
- 模型需要具有高度适应性。即使时间序列比较复杂或包含一些噪声,模型也可以使用季节性 “朴素” 预测器预测,并且应该能够区分这些实例
- 如果可以的话,模型可以进行多步预测功能
- 直接对目标变量预测是不够的,模型能够产生预测区间,这样显示预测的不确定性程度。
- 生产环境应该能够顺利地进行集成最优模型,该模型也应该易于使用和理解
- 介绍什么是Temporal Fusion Transformer (TFT)??
- TFT 是一个基于注意力的深度神经网络,它优化了性能和可解释性
- TFT 架构的优点:
- 能够使用丰富的特征:TFT 支持三种不同类型的特征,外生类别/静态特征、具有已知输入到未来的时态数据(仅到目前已知的时态数据)、具有未知输入的未来时态数据。
- 区间预测:TFT 使用分位数损失来产生除实际预测之外的预测区间
- 异构时间序列:允许训练具有不同分布的多个时间序列。TFT设计将处理分为两个部分:局部处理集中于特定事件的特征,而全局处理记录所有时间序列的一版特征
- 可解释性:TFT 的核心是基于 Transformer 的体系结构,该模型引入的多头注意力机制,在需要对模型进行解释时提供了关于特征重要性的额外知识。另外一个性能良好的 DNN 实现是 Mulit-Horizon Quantile Recurrent Forecaster (MQRNN)。但是它没有提供如何解释这些特征重要程度的指导
- 性能:在测试中,TFT 优于 DNN 的模型,如 DeepAR、MQRNN 和深度状态空间模型(Deep Space-state Models)以及传统统计模型(ARIMA、DSSM等)
- 与传统方法不同,TFT的多头注意力提供了特征可解释性。通过TFT的多头注意力天健一个新的矩阵或分组,允许不同的头共享一些权重,然后可以根据季节性分析来解释这些全红的含义
- 本案例在一个非常小的数据集上训练 TFT 模型,以证明其甚至在仅 20k 的样本上也能很好的工作
- 参考链接:

浙公网安备 33010602011771号