时间序列,特点是数据点按离散时间顺序排列,在现实应用中无处不在。与其他模态不同,时间序列因其复杂和动态特性,包括非线性模式和时间变化趋势的纠缠,而呈现出独特的挑战。在现实场景中分析时间序列数据具有重要意义,几个世纪以来已经被广泛研究。近年来,时间序列领域见证了显著的突破,技术从传统的统计方法转向先进的深度学习模型。
在本文中,我们深入探讨了深度时间序列模型在各种分析任务中的设计,并从基本模块和模型架构两个角度回顾了现有文献。此外,我们开发并发布了时间序列库(TSLib),作为多种分析任务的深度时间序列模型的公平基准测试,TSLib实现了24个主流模型,涵盖了来自不同领域的30个数据集,并支持五个常见的分析任务。基于TSLib,我们对12个先进的深度时间序列模型在不同任务上进行了全面评估。实证结果表明,具有特定结构的模型非常适合于特定的分析任务,这为深度时间序列模型的研究和应用提供了见解。代码可在https://github.com/thuml/Time-Series-Library获取。
时间序列是指以离散时间顺序索引的一系列数据点[1],[2],在现实应用中无处不在,如金融风险评估、能源可持续性和天气预报。随着各种领域大量时间序列数据的日益增多,时间序列分析领域见证了巨大的进步。相比于具有客观规定语法或直观模式的图像和文本数据,时间序列数据的语义信息主要来自时间变化[3]。这在理解数据方面带来了重大挑战,例如识别顺序依赖性、趋势、季节性模式和复杂的动态性。因此,分析时间序列数据需要复杂的方法来捕捉和利用这些复杂的时间表示。
鉴于时间序列数据在现实应用中的关键作用[4],[5],[6],时间序列分析一直是一个长期的研究方向。时间序列分析包括分析时间变化以理解时间序列数据并做出准确预测和明智决策的过程。时间序列分析的一个重要基石是发现时间序列数据中的潜在模式,这涉及数据内在的复杂时间依赖性和变量相关性。通过捕捉这些复杂的依赖性,时间序列模型可以有效地揭示潜在的动态,并促进各种下游任务,包括预测、分类、插补和异常检测。
传统的时间序列方法,如自回归积分滑动平均(ARIMA)[1]、指数平滑和谱分析[7],长期以来一直是时间序列分析中的坚实工具。这些基于统计方法的模型在发现时间变化中的模式、趋势和季节性方面发挥了重要作用。然而,由于无法捕捉真实世界时间序列数据中存在的复杂非线性关系和长期依赖性,它们的能力受到限制。传统模型所依据的线性和平稳性的严格假设限制了它们对事件丰富和不断演变的数据流的适应性。
深度模型在各个领域引起了极大关注,并在自然语言处理(NLP)[16],[17]、计算机视觉(CV)[18],[19]和推荐系统[20]等领域取得了显著的性能。近年来,深度学习模型[3],[21],[22],[23],[24]展示了捕捉时间序列数据中复杂依赖性的能力,使其成为比传统统计方法更强大的时间序列分析工具。最近,最初为自然语言处理任务开发的具有注意力机制的Transformer模型在处理大规模数据方面展示了惊人的能力[17],并且也被改编用于学习时间序列数据。这些架构的优势在于可以选择性地关注输入序列的不同部分,从而更细致地发现时间序列中的时间和变量依赖性。
相关综述 尽管近年来出现了为不同分析任务设计的各种时间序列模型,但缺乏对现有方法的全面概述,涵盖任务和模型。以前的综述专注于特定模型架构或分析任务。例如,[8],[9],[10],[11]综述了用于特定时间序列分析任务的深度学习方法,但未能包括诸如Transformer等先进架构。几篇综述[12],[13]提供了针对特定深度学习架构(如图神经网络和Transformer)的最新时间序列分析综述。最近,BasicTS [14]和TFB [15]引入了预测基准,使得对现有方法的无偏评估成为可能,但没有提供这些深度模型架构设计的概述。
在本次综述中,我们为研究人员和从业者提供了深度时间序列模型的全面回顾,从基本模块到现代架构。为了促进实际应用,提供了一个时间序列基准,用于公平评估和识别现有模型的有效范围。我们的综述组织如下。第2部分介绍了时间序列分析的背景概念。第3部分介绍了在流行的深度时间序列模型中广泛使用的基本模块。第4部分从架构设计的角度回顾了现有的深度时间序列模型。第5部分介绍了提议的开源基准——时间序列库(TSLib),并展示了详细分析的广泛实验比较。第6部分简要讨论了未来的研究方向,第7部分总结了本次综述。
方法
时间序列模型需要揭示观察数据中内在的时间依赖性和变量相关性。在本节中,我们对现有的深度时间序列模型进行技术综述。正如图3所示,现有工作可以根据其主干架构分为五类,即基于MLP(多层感知机)、基于RNN(递归神经网络)、基于CNN(卷积神经网络)、基于GNN(图神经网络)和基于Transformer的模型。
时间序列库 时间序列分析已成为一个重要的研究领域,吸引了学术界和工业界的广泛关注。最近,基于深度学习的方法在时间序列分析中的广泛探索带来了显著的进展。然而,公平基准测试的问题在这一领域中提出了一个紧迫的挑战。缺乏公平、合理和全面的基准可能导致不同方法之间的比较出现偏差,阻碍其有效性的准确评估,可能会夸大领域的进展或阻碍实际应用。这对理解进展和促进该领域的稳健发展构成了重大障碍。
在时间序列分析领域,已经提出了几个基准,例如DGCRN [160]、LibCity [161]、DL-Traff [162]、TS-bench [163]和BasicTS [14]。更具体地说,Autoformer [22] 提出了一个涵盖不同实际应用的标准长期预测基准。为了验证不同时间序列分析模型的通用性,TimesNet [3] 建立了一个更全面的模型通用性基准,涵盖了五个主流的时间序列分析任务。然而,这些基准通常存在一些局限性。当前时间序列基准的一个问题是它们对时间序列分析任务和特定领域的覆盖范围有限,这限制了其实际应用。此外,这些基准往往缺乏对任务类型、模型架构和具体基线方法的详细讨论和全面总结。因此,它们未能有效指导更高效的时间序列分析方法的设计,也未能推动该领域的进一步发展。
为有效解决这些问题,我们引入并实现了时间序列库(TSLib),这是一个公平和全面的基准,用于比较和评估深度时间序列模型在各种时间序列分析任务中的表现。如图9所示,TSLib包含统一的模型实验管道、标准化的评估协议、广泛而多样的真实世界数据集、主流和先进的时间序列分析模型,以及统一的实验验证和分析过程。
在我们的时间序列库中,我们精心遵循官方代码,实施了24种广泛使用的先进深度时间序列分析模型。这些模型源自四个典型的深度学习架构。用户可以根据其具体的实际使用场景从这些模型中进行选择。代码可在https://github.com/thuml/Time-Series-Library 获得。
接下来,我们将详细描述我们的TSLib,包括设计和实现原则(第5.1节)、评估协议和指标(第5.2节)、数据集描述(第5.3节)以及不同架构模型的主要结果(第5.4节)。
结论
在本综述中,我们系统地回顾了时间序列分析中的深度模型,并引入了时间序列库(TSLib)作为各种分析任务中深度时间序列模型的公平基准。与以往关注特定分析任务或模型架构的综述相比,本文提供了一个全面的综述和对现有时间序列分析深度模型的概览,涵盖了预测、分类、填补和异常检测。我们首先详细回顾了时间序列模型中广泛使用的通用模块,包括归一化、分解和傅里叶分析。接下来,我们从骨干架构的角度总结了现有的深度时间序列模型。基于对现有文献的回顾,我们引入了一个实用的开源库——时间序列库(TSLib),其中包含了具有代表性的深度时间序列模型,可以作为时间序列分析领域的公平评估基准。最后,我们基于AI社区的最新发展和时间序列分析在实际应用中的需求,讨论了深度时间序列模型的未来研究方向。
链接:https://github.com/thuml/Time-Series-Library