新智元报道
编辑:LRS 好困
【新智元导读】时间序列分析在现实世界中的应用非常广泛,覆盖气象、工业、医疗等众多领域。近期,清华大学软件学院机器学习实验室提出了时序基础模型TimesNet,在长时、短时预测、缺失值填补、异常检测、分类五大任务上实现了全面领先。
实现任务通用是深度学习基础模型研究的核心问题,也是近期大模型方向的主要关注点之一。
然而,在时间序列领域,各类分析任务的差别较大,既有需要细粒度建模的预测任务,也有需要提取高层语义信息的分类任务。如何构建统一的深度基础模型高效地完成各类时序分析任务,此前尚未有成型方案。
为此,来自清华大学软件学院的团队围绕时序变化建模这一基本问题展开研究,提出了任务通用的时序基础模型TimesNet,论文被ICLR 2023接收。
作者列表:吴海旭*,胡腾戈*,刘雍*,周航,王建民,龙明盛
链接:https://openreview.net/pdf?id=ju_Uqw384Oq
代码:https://github.com/thuml/TimesNet
时序算法库:https://github.com/thuml/Time-Series-Library
TimesNet在长时、短时预测、缺失值填补、异常检测、分类五大任务上实现了全面领先。
1 问题分析
不同于自然语言、视频等序列数据,时间序列中单个时刻仅保存了一些标量,其关键信息更多地被蕴含在时序变化(Temporal Variation)中。
因此,建模时序变化是各类时序分析任务共同的核心问题。
近年来,各类深度模型被广泛用于时序分析任务中,例如循环神经网络(RNN)、时序卷积网络(TCN)和变换器网络(Transformer)。
然而,前两类方法主要关注捕捉临近时刻之间的变化,在长期依赖上建模能力不足。
Transformer虽然在建模长期依赖上具有天然优势,但是由于现实世界的时序变化极其复杂,仅仅依靠离散时间点之间的注意力(Attention)难以挖掘出可靠的时序依赖。
为此,本文从一个全新的多周期(Multi-periodicity)视角对时序变化进行了分析,如下图所示。我们观察到:
- 时间序列天然具有多周期性。
现实世界的时序数据往往是不同周期过程的相互叠加,例如交通数据在短期内的以日为周期变化,而长期则以星期为周期变化。这些不同周期的数据互相叠加、互相干扰,给时间序列分析带来了极大挑战。
- 时间序列呈现周期内与周期间两种时序变化。
具体地,对于某一特定周期的过程,每个时间点的变化既与临近时刻有关,也与临近周期的相似过程高度相关。其中周期内变化对应着短期过程,周期间变化则可以反应连续周期间的长期趋势。注:如果时间序列没有明显周期性,则等价于周期无限长的情况。
2 设计思路
基于以上两点观察,我们对TimesNet的结构作出了如下设计:
- 时间序列的多周期性自然地启发了一个模块化(Modular)的设计思路,即一个模块捕捉由某一特定周期主导的时序变化。这种模块化的设计思路可以将复杂的时间变化解耦,从而有利于后续建模。
- 对于时间序列的周期内与周期间变化,本文创新性地提出将一维时序数据扩展至二维空间进行分析。如上图所示,将一维时间序列基于多个周期进行折叠,可以得到多个二维张量(2D tensors),每个二维张量的列和行分别反应了周期内与周期间的时序变化,即得到了二维时序变化(Temporal 2D-variations)。
上图示例展示了将一维时序数据折叠至二维空间的可视化效果。此处,Period方向反应周期内变化,而Frequency方向代表周期间变化。我们可以看出转化至二维空间的时序数据具有明显的二维局部性(2D locality)。
因此,在折叠时序数据后,我们可以直接采用先进的视觉骨干网络对时序数据进行特征提取,例如Swin Transformer、ResNeXt、ConvNeXt等。这种设计也使得时序分析任务可以直接受益于蓬勃发展的计算机视觉领域。