当前位置: 首页 > 科技观察

五角大楼勇士队的时序分析!清华提出TimesNet:Prediction,filling,classification,anddetectionallleading

时间:2023-03-13 17:17:28 科技观察

实现任务普适性是深度学习基础模型研究的核心问题,也是近期大模型主要关注的方向之一。然而,在时间序列领域,各种分析任务有很大的不同,包括需要细粒度建模的预测任务,以及需要提取高层语义信息的分类任务。如何构建统一的深度基础模型,高效完成各种时序分析任务,目前还没有形成。为此,清华大学软件学院团队针对时序变化建模的基础问题进行了研究,提出了通用时序模型TimesNet。论文被ICLR2023录用。作者名单:吴海旭*、胡腾阁*、刘勇*、周航、王建民、龙明生链接:https://openreview.net/pdf?id=ju_Uqw384Oq代码:https://github.com/thuml/TimesNet时序算法库:https://github.com/thuml/Time-Series-LibraryTimesNet在长期和短期预测、缺失值等5大任务上实现了全面领先填充、异常检测和分类。1问题分析与自然语言、视频等序列数据不同,时间序列在单个时刻只保存一些标量,其关键信息更多地包含在时间变化(TemporalVariation)中。因此,对时序变化进行建模是各种时序分析任务共同的核心问题。近年来,各种深度模型被广泛应用于时间序列分析任务,如递归神经网络(RNN)、时间序列卷积网络(TCN)和变压器网络(Transformer)。然而,前两类方法主要侧重于捕捉邻近时刻之间的变化,缺乏对长期依赖性进行建模的能力。尽管Transformer在建模长期依赖方面具有天然优势,但由于现实世界中时序变化极其复杂,仅靠离散时间点之间的注意力很难挖掘出可靠的时序依赖。为此,本文从新的多周期性角度分析时序变化,如下图所示。我们观察到时间序列本质上是多周期的。现实世界中的时间序列数据往往是不同周期过程的叠加。例如,流量数据在短期内以日为周期变化,长期以周为周期变化。这些不同时期的数据相互叠加、相互干扰,给时间序列分析带来了极大的挑战。时间序列呈现周期内和周期间两种时序变化。具体来说,对于某一时期的过程,每个时间点的变化不仅与附近时刻有关,而且与附近时期的相似过程高度相关。周期内变化对应的是短期过程,而周期间变化可以反映连续周期之间的长期趋势。注:如果时间序列没有明显的周期性,则相当于周期无限长的情况。2设计思路基于以上两点观察,我们对TimesNet的结构做了如下设计:时间序列的多周期性自然而然地激发了模块化(Modular)的设计思路,即一个模块捕捉某个主导的趋势期间时间变化。这种模块化的设计思想可以解耦复杂的时间变化,有利于后续建模。针对时间序列的周期内和周期间变化,本文创新性地提出将一维时间序列数据扩展到二维空间进行分析。如上图所示,通过将一个一维时间序列基于多个循环进行折叠,可以得到多个二维张量(2D张量)。每个二维张量的列和行分别反映了一个周期内和周期之间的时间。变化,即二维时间变化(Temporal2D-variations)。上面的例子展示了将一维时间序列数据折叠到二维空间的可视化效果。这里,Period方向反映的是一个周期内的变化,而Frequency方向代表的是周期之间的变化。我们可以看到,时间序列数据转化为二维空间后,具有明显的二维局部性(2Dlocality)。因此,在对时序数据进行折叠后,我们可以直接使用先进的视觉骨干网络对时序数据进行特征提取,如SwinTransformer、ResNeXt、ConvNeXt等。这种设计也让时序分析任务直接受益于计算机视觉的新兴领域。3TimesNet基于以上思路,我们提出了TimesNet模型,将复杂的时序变化通过模块化结构分解为不同的周期,通过将原始的一维时间序列转化为周期内和周期间变化,实现统一建模二维空间。在本节中,我们将首先介绍将时间序列数据扩展到二维空间的方法,然后介绍模型的整体架构。3.1时间序列变化:1D->2D时间序列折叠的过程如上图所示,主要分为以下两个步骤:(1)循环抽取对于一个时间长度为的一维时间序列,傅里叶变换(FFT)的一个通道维度直接提取周期信息,即其中,表示中各频率分量的强度,强度最大的频率对应最显着的周期长度。(2)序列折叠1D->2D对于选中的周期,分别对原来的一维时间序列进行折叠。这个过程可以形式化为:其中,在序列的末尾添加0,使得序列长度可以整除。通过以上操作,我们得到一组二维张量,对应周期为的二维时间序列变化。3.2模型设计TimesNet的整体架构如图所示:总体而言,TimesNet由堆叠的TimesBlocks组成。输入序列首先经过嵌入层以获得深层特征。对于第一层TimesBlock,输入为输出为:具体如下图,每个TimesBlock包含以下子流程:(1)折叠时间序列(1D->2D):TimesBlock首先分析输入一维时间序列特征提取周期,然后将其转化为二维时间序列变化,也就是上一节涉及的内容:(2)提取二维时间序列变化表示(2DRepresentation):如上分析,转换后的二维时间序列变化具有2DLocality,因此可以直接使用2D卷积提取特征。这里,我们选择经典的Inception模型,即:值得注意的是,由于我们将1D时间特征转换为2D空间,因此我们还可以使用计算机视觉领域的许多前沿模型,例如ResNeXt、ConvNeXt和Attention基于TheSwinTransformer等。这使得时间序列分析能够与视觉骨干网络齐头并进。(3)展开时间序列(2D->1D):对于后续的多周期融合,我们将二维时间序列的变化表示展开到一维空间:Trunc(?)表示Padding(?)步骤(1)中的操作补充0去除。(4)自适应融合(1DAggregation):为了融合多周期信息,我们对提取的二维时间序列表示进行加权求和,选择的求和权重为步骤(1)中得到的对应频率强度:通过在将1D时间序列转化为2D空间的设计中,TimesNet实现了“多周期提取二维时间序列变化,然后进行自适应融合”的时间序列变化建模过程。4实验我们针对长期预测、短期预测、缺失值填充、异常检测和分类五个任务进行了实验,涵盖了36个数据集和81个不同的实验设置。同时对比了19种不同的深度方法,包括基于RNN、CNN、MLP、Transformer的最新模型,如N-BEATS(2019)、Autoformer(2021)、LSSL(2022)、N-Hits(2022),FEDformer(2022),Dlinear(2023)等。4.1总体结果如开篇雷达图所示,TimesNet在五项任务上都达到了SOTA。(1)长期预测:TimesNet在这项备受关注的任务上超越了先进的Transformer和基于MLP的模型。(2)短期预测:本次实验使用的M4数据集包含6个不同采样频率的子数据集,共计10万多条数据。TimesNet在这种复杂的数据分布情况下仍然取得了最好的结果,验证了模型对时间序列变化建模的能力。(3)分类任务:在这个任务上,TimesNet超越了经典的Rocket算法和前沿的深度学习模型Flowformer。有关更多任务的比较,请参阅论文。4.2视觉骨干网络的泛化我们用不同的视觉骨干网络替换TimesNet中的Inception网络,例如ResNet、ConvNext、SwinTransformer等。如下图所示,更高级的视觉骨干网络可以带来更好的结果。这也意味着在TimesNet的框架下,时间序列分析可以直接受益于视觉骨干网络领域的进步。4.3表征分析为了进一步探究TimesNet效应的来源,我们展示了“模型bottom-top表征之间的CKA相似性”与“模型效应”之间的关系。其中,CKA相似度越低,表示模型底层和顶层的表示差异越大,即表示越有层次。从上面的可视化,我们可以观察到,在预测和异常检测任务中,模型越好,bottom-top表示之间的相似度越高,表明该任务需要较低层次的表示;在缺失值填充任务中,模型越好,底层和顶层的相似度越低,说明该任务需要分层表示(hierarchicalrepresentation),即更好的全局特征提取能力。得益于二维空间的卷积运算,TimesNet可以根据不同的任务学习合适的表征。例如,在预测和异常检测任务中,学习低级表示;在分类和缺失值填充任务中,学习了层次抽象。特征。这进一步证明了TimesNet作为基础模型的任务泛化能力。同时,上述表征分析也为特定任务的深度模型提供了设计思路。例如,对于预测任务,我们应该关注底层细粒度特征的提取,而对于填充任务,我们需要进一步考虑全局表示的学习。5总结受时间序列多周期性的启发,本文提出了时间序列分析的基本模型——TimesNet。该模型创新性地将一维时间序列折叠到二维空间,利用2D卷积获取时间序列特征。这一创新使时间分析任务能够直接受益于蓬勃发展的视觉骨干网络,这对后续研究具有指导意义。同时,TimesNet在长期、短期预测、缺失值填充、异常检测、分类等5个主流时间序列分析任务上取得了全面领先,具有卓越的应用价值。