所有文章 > AI驱动 > Transformer时间序列预测!

Transformer时间序列预测!

1.介绍 

    预测是时间序列分析中的关键任务之一。随着深度学习模型的迅速发展,有关时间序列预测的研究也大大增加。深度模型不仅在预测任务中表现出色,而且在表征学习方面也表现出优异的性能。它能够提取抽象的表征,并将其转移到各种下游任务中,如分类和异常检测,以达到SOTA的精确度。

    在深度学习模型中,Transformer得益于其注意力机制,可以自动学习序列中元素之间的关联,因此成为序列建模任务的理想选择。在这篇文章中,作者提出了一种基于Transformer设计的有效模型,用于多变量时间序列预测和自监督表征学习。该模型基于两个关键部分:

    (1)Patching:将时间序列分割成子序列级patch,作为Transformer的输入token。其优势在于:

  • 保留局部语义信息。时间序列预测的目的是了解不同时间步的数据之间的相关性,但是单个时间步的数据并不像句子中的一个单词那样具有语义信息,因此提取局部语义信息对于分析它们之间的关联至关重要。
  • 关注更长的历史信息。以前的工作大多是将每个时间步的数据输入模型,这种方式在序列比较长的时候运行效率太低,导致无法引入更长的历史序列信息,而patch操作可以在输入token数量相同的情况下获得更长的回视窗口。
  • 降低模型计算量和内存使用量。原始Transformer在时间和空间上的复杂度为  ,其中N为输入token的数量。如果不进行预处理,N将与输入序列长度L具有相同的值。通过应用patch,可以将N缩小(N≈L/S,S为步长)。

    (2)Channel-independence:多变量时间序列是一个多通道信号,模型的输入token可以由来自单通道或多通道的数据表示。Channel-independence意味着每个通道仅包含一个单变量时间序列,它们共享相同的嵌入和Transformer权重。这已被证明适用于CNN和线性模型,但尚未应用于基于Transformer的模型中。

2.方法

    考虑以下问题:给定一个多变量时间序列样本集合:  ,回视窗口长度为L,其中每个  是对应于时间步t的M维向量,想要预测未来T个值  。

2.1 模型结构

  文章提出的PatchTST(Patch Time Series Transformer)结构图如下所示,其中模型使用了Transformer编码器作为其核心结构。


2.2 时序预测


2.3 自监督表征学习

    自监督表征学习目前已成为一种从无标签数据中提取高级抽象表征的流行方法。作者在这里利用掩码自编码器(Masked AutoEncoder,MAE)技术,基于PatchTST模型来获得多变量时间序列的有用表示,并将其应用到预测任务中,如上图(c)所示。MAE技术在概念上很简单:有意地随机删除输入序列的一部分,然后训练模型来恢复丢失的内容。

    具体来说,文章采用随机mask的方式,对patch进行零值掩码。然后利用MSE损失对模型进行训练,以还原被mask掉的patch。与预测任务不同的是,在表征学习阶段,patch的划分只能是无重叠的,以防止信息的泄露。

    之前基于Transformer的表征学习方法,大都是在单个时间步级别上应用mask。但是,单个时间步的masked值可以很容易地根据相邻点插值来推断,而不需要对整个序列有高层次的理解,这影响了预训练阶段的学习能力。文章在patch级别上应用mask,是一个更困难的任务,可以让模型更好地进行表征学习。

3.实验 

3.1 实验设置

  • 数据集

   天气、交通、电力、ILI和4个ETT数据集(ETTh1、ETTh2、ETTm1、ETTm2)

  • 基线

  FEDformer、Autoformer、Informer、Pyraformer、LogTrans,以及非基于Transformer的DLinear模型

  • 评估指标

     MSE(均方误差)、MAE(平均绝对误差)

  • 模型变体

     PatchTST/64:输入patch的数量为64,回视窗口长度L = 512

     PatchTST/42:输入patch的数量为42,默认回视窗口L = 336

     两者均使用patch长度P = 16,步长S = 8

3.2 多变量长期预测实验结果

  • 与基于Transformer的模型所能提供的最佳结果相比:PatchTST/64在MSE上总体降低了21.0%,在MAE上降低了16.7%;PatchTST/42在MSE上总体降低了20.2%,在MAE上总体降低了16.4%。
  • 与线性模型DLinear相比:PatchTST在总体上仍然优于它,特别是在大型数据集(天气、交通、电力)和ILI数据集上。
  • 此外,使用更长的历史序列信息也会提升预测效果。

3.3 掩码自监督学习实验结果

高掩码率:40%的patch被mask为零值

Fine-tuning:端到端微调

Lin. Prob.:线性层微调

Sup.:监督学习

根据实验结果,模型取得了出色的微调性能:

  • 通过对模型头进行微调(线性层微调),预测性能已经可以与从头开始监督训练整个网络相媲美,并且优于DLinear模型。
  • 通过端到端微调可以观察到最好的结果。

3.4 消融实验

P:patching

CI:Channel-independence

实验结果表明:patching和Channel-independence都是提高预测性能的重要因素。

4.总结

该文通过引入两个关键部分:Patching和Channel-independence,提出了一种有效的基于Transformer时间序列预测模型。与以前的工作相比,它可以捕捉局部语义信息,并从更长的回视窗口中受益。文章不仅证明了PatchTST模型在监督学习方面优于其他基线,而且还证明了它在自监督表征学习方面的良好能力。

文章转自微信公众号@算法进阶