Transformer 如何应用于时间序列预测一直是近期探讨的一个核心问题,涉及多变量建模的处理方式、Transformer 的架构设计等。在 DLinear 研究中,提出了用线性模型打败 Transformer 模型的假设;而在后续的 PatchTST 等工作中,又验证了 Transformer 的有效性。那么,到底如何使用 Transformer 进行时间序列预测效果最好呢?华南理工大学近期发表了 PETFormer 论文,主要从两个角度探索了 Transformer 在时间序列预测中的应用:一方面是 Transformer 的结构上,提出了 Placeholder-enhanced 结构;另一方面是多变量关系建模上,探索了最有效的建模方式。
本文标题:PETformer: Long-term Time Series Forecasting via Placeholder-enhanced Transformer 论文地址:https://arxiv.org/pdf/2308.04791v1.pdf
1. 输入数据构造
时间序列数据与自然语言处理(NLP)中的文本数据存在显著差异。在 NLP 中,每个 token 通常具有明确的语义含义,而时间序列中的每个数据点本身并没有独立的明确含义,需要结合上下文信息才能体现其趋势或模式。因此,PETFormer 沿用了 PatchTST 的方式,将时间序列分割成多个 patch,每个 patch 分别生成 embedding。
与 PatchTST 的主要区别在于,PETFormer 使用了更大的子序列长度。这样做一方面可以提升运算效率,减少计算复杂度;另一方面,让每个 patch 包含更多的时间步,使得每个 patch 的语义信息更加明确和丰富,有助于模型捕捉更长期的依赖关系。
此外,文中还采用了 RevIN(Reversible Instance Normalization)的方式,对输入序列进行了归一化处理。RevIN 是一种可逆的归一化方法,能够在训练时标准化输入,并在预测时还原分布,有效解决了非平稳时间序列带来的分布偏移问题,提升了模型的泛化能力。

2. Transformer 结构设计
在传统的 Transformer 结构中,通常采用 Encoder-Decoder 架构。预测序列和历史序列被分割成两个部分,分别由 Encoder 和 Decoder 建模,再通过 cross-attention 建立联系。然而,这种分离式的设计会导致历史序列的信息在传递过程中出现损失,无法完美地应用到 Decoder 中进行预测。
为了解决这个问题,PETFormer 采用了 Placeholder-enhanced 的方式。具体而言,在 Decoder 部分使用几个可学习的向量作为输入占位符,不再严格区分 Encoder 和 Decoder,而是将这些占位符拼接到历史序列的 token 上,一起输入到统一的 Transformer 编码器中。这种方式让待预测部分可以更自然地获取历史序列的全局信息,减少了信息瓶颈。

在 Attention 的计算方式上,文中尝试了如下 4 种不同的策略,以分析不同注意力机制对预测性能的影响:
- Full attention:每个节点做双向 attention,允许所有 token 之间相互关注。
- No inter-future attention:未来序列部分内部不做 attention,防止模型直接'偷看'未来的标签信息。
- No inter-history attention:历史序列部分不做 attention,相当于未来序列和历史序列每个 token 独立进行 attention,仅保留跨序列的关注。
- Only future focuses on history:只有未来序列和历史序列做 attention,未来序列和历史序列内部都不做 attention,强制模型聚焦于从历史推导未来。







