TimesNet:用于一般时间序列分析的时间二维变化建模
TimesNet:用于一般时间序列分析的时间二维变化建模
时间序列分析在天气预报、异常检测和动作识别等广泛应用中具有重要意义。本文关注的是时间变化建模,这是广泛分析任务中常见的关键问题。以前的方法试图直接从一维时间序列中完成这一点,由于复杂的时间模式,这是极具挑战性的。基于对时间序列多周期的观测,本文将复杂的时间变化分解为多个周期内和周期间的变化。为了解决一维时间序列在表示能力上的局限性,通过将一维时间序列转换为基于多个周期的一组二维张量,将时间变化的分析扩展到二维空间。这种变换可以将周期内和周期间的变化分别嵌入到二维张量的列和行中,使得二维变化很容易用二维核来建模。在技术上,本文提出了带有TimesBlock的TimesNet作为时间序列分析任务的通用模型。TimesBlock可以自适应地发现多周期,并通过参数有效的初始块从变换后的二维张量中提取复杂的时间变化。
方法论
1. 一维时间序列转换为二维
如图1所示,每个时间点在不同时期之间同时涉及与相邻区域和同相位的两种时间变化,即周期内变化和周期间变化。然而,这种原始的一维时间序列结构只能呈现相邻时间点之间的变化。为了解决这一限制,本文探索了时间变化的二维结构,它可以明确地表示时间段内和时间段之间的变化,从而在表示能力上更具优势,有利于后续的表示学习。
对于一个长为T、C个变量的时间序列,一维原始序列可以表示为:
表示通过FFT得到的时间序列不同频域下的振幅,Avg()表示对C个变量所得到的振幅进行平均操作。考虑到频域的稀疏性和避免无意义高频带来的噪声,只选择前k个振幅值,并获得最显著的频率:
,相应的振幅:
,和相应的周期:
。可以将上式总结为:
基于上述操作,可以将时序变换为二维空间:
其中Padding()表示将时间序列长度T扩展到能够:
,:
表示基于频率i和周期i得到的二维变换后的时间序列。
同样值得注意的是,该变换为变换后的二维张量带来了两种类型的局部,即相邻时间点(列,周期内变化)和相邻周期(行,周期间变化)之间的局部。
2. TimesBlock
TimesNet有多个TimesBlock堆叠而成,如图3所示,对于TimesNet的第l层,输入为:
,其过程可以形式化为:
对于第l个TimesBlock,整个过程包括两个连续的部分:捕获时间2D变化和自适应地聚合来自不同时期的表征。
(1) 捕获二维变化:首相通过上述操作,将一维时间序列变换到二维,然后采用多个二维卷积核获取周期内和周期间的变化:
其中,Trunc()表示上述Padding()的逆操作使二维时间序列重新转换为长为T的一维时间序列。
(2) 自适应聚合:幅值A可以反映所选频率和周期的相对重要性,从而对应每个变换后的二维张量的重要性。因此,本文基于振幅聚合了一维表示:
实验
为了验证TimesNet的通用性,本文为对五种主流分析任务进行了广泛的实验,包括短期和长期预测、插值、分类和异常检测。
1. 短期和长期预测
TimesNet在长期和短期预测都表现出很好的性能(表2-3)。具体来说,TimesNet在超过80%的长期预测案例中达到了最先进的水平(表13)。对于M4数据集,由于时间序列是从不同的来源收集的,因此时间变化可能相当多样化,这使得预测更具挑战性。我们的模型在这项任务中仍然表现最好,超过了广泛的先进的基于MLP和基于Transformer的模型。
2. 插值
由于时间点的缺失,模型需要从不规则和部分观测到的时间序列中发现潜在的时间模式。如表4所示,TimesNet在这项困难的任务中仍然达到了一致的最新水平,验证了模型从极其复杂的时间序列中捕获时间变化的能力。
3. 分类
如图5所示,TimesNet的平均准确率达到了73.6%,超过了之前最先进的经典方法Rocket(72.5%)和deep model Flowformer(73.0%)。同样值得注意的是,基于mlp的模型DLinear在该分类任务中失败(67.5%),它在一些时间序列预测数据集上表现良好。这是因为DLinear在时间维度上只采用了一层MLP模型,这种模型可能适用于一些具有固定时间依赖性的自回归任务,但在学习高级表示时会退化很多。相比之下,TimesNet将二维时空变化统一到二维空间中,便于学习二维核的信息表示,从而有利于需要分层表示的分类任务。
4. 异常检测
表5表明,TimesNet在异常检测方面仍然取得了最佳性能,优于基于变压器的先进模型FEDformer和Autoformer。规范的Transformer在此任务中表现较差(平均f1得分为76.88%)。这可能是因为异常检测需要模型找出罕见的异常时间模式,而注意机制计算每对时间点之间的相似性,这可能会被占主导地位的正常时间点分散。此外,考虑到周期性,TimesNet、FEDformer和Autoformer都取得了很好的性能。因此,这些结果也证明了周期性分析的重要性,它可以隐式地突出违反周期性的变化,进一步有利于异常检测。
结论
本文提出了时间网络作为时间序列分析的任务通用基础模型。在多周期性的驱动下,TimesNet可以通过模块化架构来解决复杂的时间变化,并通过参数有效的初始块捕获二维空间中的周期内和周期间变化。实验表明,TimesNet在五种主流分析任务中表现出良好的通用性和性能。