文章信息
论文题目为《TIMESNET: TEMPORAL 2D-VARIATION MODELING FOR GENERAL TIME SERIES ANALYSIS》,该文于2023年发表于ICLR会议。
摘要
时间序列分析在天气预报、异常检测和动作识别等广泛应用中具有重要意义。本文关注的是时间变化建模,这是广泛分析任务中常见的关键问题。以前的方法试图直接从一维时间序列中完成这一点,由于复杂的时间模式,这是极具挑战性的。基于对时间序列多周期的观测,本文将复杂的时间变化分解为多个周期内和周期间的变化。为了解决一维时间序列在表示能力上的局限性,通过将一维时间序列转换为基于多个周期的一组二维张量,将时间变化的分析扩展到二维空间。这种变换可以将周期内和周期间的变化分别嵌入到二维张量的列和行中,使得二维变化很容易用二维核来建模。在技术上,本文提出了带有TimesBlock的TimesNet作为时间序列分析任务的通用模型。TimesBlock可以自适应地发现多周期,并通过参数有效的初始块从变换后的二维张量中提取复杂的时间变化。
介绍
与语言、视频等其他类型的序列数据不同,时间序列是连续记录的,每个时间点只保存一些标量。由于单个时间点通常无法提供足够的语义信息进行分析,因此许多研究都将重点放在时间变化上,时间变化信息量更大,更能反映时间序列的连续性、周期性、趋势性等固有属性。然而,现实世界时间序列的变化总是涉及复杂的时间模式,其中多种变化(如上升、下降、波动等)相互混合和重叠,使得时间变化建模极具挑战性。为了解决复杂的时间变化问题,本文从多周期的新维度对时间序列进行了分析。首先,观察到现实世界的时间序列通常呈现多周期性,例如天气观测的日和年变化,电力消耗的周和季度变化。这些多周期相互重叠、相互影响,使得变量建模变得难以处理。其次,对于每个时段,本文发现每个时间点的变化不仅受到相邻时间段的影响,而且与其相邻时段的变化高度相关。为清楚起见,我们将这两种类型的时间变化分别命名为周期内变化和周期间变化。前者表示一个时期内的短期时间模式。后者可以反映连续不同时期的长期趋势。注意,对于没有明显周期性的时间序列,其变化将以周期内变化为主,与无限周期长度的时间序列相当。由于不同的周期将导致不同的周期内和周期间变化,多周期可以自然地推导出时间变化建模的模块化体系结构,可以在一个模块中捕获特定周期产生的变化。此外,该设计将复杂的时间模式解耦,有利于时间变化建模。然而,值得注意的是,一维时间序列很难同时显式地呈现两种不同类型的变化。为了解决这一障碍,本文将时间变化的分析扩展到二维空间。具体而言,如图1所示,可以将一维时间序列重塑为二维张量,其中每一列包含一个时间段内的时间点,每一行包含不同时间段内同一相位的时间点。
因此,通过将一维时间序列转换为一组二维张量,可以打破原始一维空间中表示能力的瓶颈,成功地将二维空间中的周期内和周期间变化统一起来,得到时间上的二维变化。在技术上,基于以上动机,我们超越了以往的骨架,提出了TimesNet作为时间序列分析的一种新的任务通用模型。借助TimesBlock, TimesNet可以发现时间序列的多周期性,并在模块化架构中捕获相应的时间变化。具体而言,TimesBlock可以根据学习周期自适应地将一维时间序列转换为一组二维张量,并通过参数有效的初始块进一步捕获二维空间中的周期内和周期间变化。在实验上,TimesNet在短期和长期预测、插值、分类和异常检测等五个主流分析任务中达到了一致的最优水平。本文的贡献可以概括为三个方面:
(1)基于多周期和周期内与周期间复杂的相互作用,本文找到了一种模块化的时间变化建模方法。通过将一维时间序列转换为二维空间,可以同时表示周期内和周期间的变化。
(2)本文提出了带有TimesBlock的TimesNet,通过参数有效的初始块来发现多个周期并捕获转换后的2D张量的时间变化。
(3)作为一种任务通用基础模型,TimesNet在五种主流时间序列分析任务中达到了一致的最新水平。包括详细和富有洞察力的可视化。
方法论
如上所述,基于时间序列的多周期性,本文提出了一个模块化架构的TimesNet来捕获不同时期的时间模式。对于每个周期,为了捕获相应的周期内和周期间变化,在TimesNet中设计了一个TimesBlock,它可以将1D时间序列转换为2D空间,并通过参数有效的初始块同时对两种类型的变化进行建模。
1.一维时间序列转换为二维
如图1所示,每个时间点在不同时期之间同时涉及与相邻区域和同相位的两种时间变化,即周期内变化和周期间变化。然而,这种原始的一维时间序列结构只能呈现相邻时间点之间的变化。为了解决这一限制,本文探索了时间变化的二维结构,它可以明确地表示时间段内和时间段之间的变化,从而在表示能力上更具优势,有利于后续的表示学习。
对于一个长为T、C个变量的时间序列,一维原始序列可以表示为,为了捕获周期间的变化,本文采用了快速傅里叶变换(FFT)在频域分析时间序列:
表示通过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在五种主流分析任务中表现出良好的通用性和性能。