融合分解与转置策略的多变量时问序列预测模型

2025-01-22 00:00:00张金涛程明月刘芷町
南京大学学报(自然科学版) 2025年1期
关键词:深度学习

关键词:时间序列预测,多变量时间序列,深度学习,时间序列分解

中图分类号:TP391 文献标志码:A

时间序列是一种按照时间顺序排列的数据,通常具有等间距的采样间隔. 多变量时间序列是在同一时间点上记录多个变量数据的时间序列,多变量时间序列预测是一种重要的数据挖掘技术.

多变量时间序列预测在经济学[1]、气象学[2]、工程学[3]以及医疗保健等多个领域中发挥着至关重要的作用[4]. 例如,雾作为一种主要的天气现象,造成能见度降低,使驾车行驶和户外工作变得极其危险,采用雾预报系统[5]可以提前针对雾的浓度进行预报,保障用户的生命财产安全. 时间序列预测利用历史数据来预测未来的数值,为支持决策和资源优化提供关键的依据. 现实中,大多数的时间序列是多变量时间序列,其预测结果受多种变量的共同影响,因此,多变量时间序列预测面临更高的要求. 通过分析和挖掘多变量时间序列数据间的潜在规律,可以更深入地理解数据的演变趋势.

自回归(Autoregressive Model,AR)[6]和自回归整合移动平均(Autoregressive Integrated Mov⁃ing Average Model,ARIMA)[7]等统计类方法在时间序列预测问题中长期发挥着重要作用,然而,统计类方法对单一变量平稳时间序列预测的表现比较有效,但在处理多变量时间序列数据时,其预测效果不佳. 同时,基于线性的统计学方法往往无法在多变量时间序列中达到预期的预测效果.随着众多机器学习方法的提出,如支持向量机[8]、决策树等方法可以提取多变量时间序列中的特征,通过特征来进行预测,推动了多变量时间序列预测的发展. 近年来,随着深度学习技术的发展,卷积神经网络、循环神经网络(Recurrent NeuralNetwork,RNN)[9]、Transformer[10]等技术相继出现. 随着数据量的增加,通过学习和捕捉数据中的非线性关系和复杂模式可以提升多变量时间序列预测的准确性,这不仅为该领域带来了诸多机遇,也带来了挑战,深入分析和理解这些复杂模式,有助于更全面地把握数据的演变趋势.

Transformer 是一种从序列到序列的预测方法,具备高效的并行计算能力、对位置信息的处理能力和全局感知的能力,是多变量时间序列预测中一种重要的方法. 在基于Transformer 的多变量时间序列预测模型中,常见做法是将同一时间点对应的多个变量进行嵌入并输入相同的通道,然后利用注意力机制来捕捉时间序列在时间维度上的依赖关系. 然而,使用Transformer 进行多变量时间序列预测面临以下挑战.(1)直接使用原始的Transformer 框架结构,在预测序列的长度增加时,其预测精度将会大幅下降. 同时,直接对同一时间点的多个变量进行嵌入会导致通道中信息的混淆,影响后续注意力计算的区分度,降低了多变量时间序列预测的精度.(2)Transformer 模型的注意力机制在处理长序列时计算复杂度较高.在标准的Transformer 中,长度为N 的序列,计算注意力的复杂度为O (N2 ),限制了模型在长序列上的应用. 时间序列长度的增加使注意力计算的复杂度呈二次增长,导致模型在处理长序列时的计算成本急剧上升.

针对上述挑战,本文构建了DItrans( Decom⁃position Invert Transformer)模型,引入转置策略,将时间序列的时间维度和变量维度进行转置后进行嵌入(简称转置嵌入). 利用传统Transformer的编码器(TRM)和本文提出的一种新型的高效Transformer 编码器(eTRM)对嵌入表征进行学习,eTRM 的学习方式可以降低时间复杂度. 同时,直接从长时间序列中挖掘时间维度的依赖关系比较困难,因为复杂的时间模式可能会掩盖这种依赖关系. 为了更好地捕获时间维度的关系,引入时间序列分解方法,利用时间序列分解方法将时间序列分解为趋势项、周期项和残差项再进行学习. 通过融合分解与转置策略,DItrans 模型可以更好地捕获时间序列的潜在特征,提高模型预测性能. 本文的贡献如下.

(1)基于Transformer 模块建立一种结合转置策略、时间序列预测分解等方法的DItrans 模型.

本文首次融合了时间序列分解与转置策略,还提供了一种在深度学习过程将时间序列分解为趋势项、周期项和残差项的方法.

(2)提出一种新的编码器eTRM,利用可调节维度的可学习矩阵,针对不同的应用场景进行调整,以学习更丰富的时序特征. 该方法不仅适用于时间序列数据,还为其他领域的模型提供了一种有效的编码器学习策略.

(3)实验发现,通过结合转置、时间序列预测分解以及优化的编码器结构,DItrans 模型在多个数据集上取得了最优的预测结果,证实了DItrans模型的有效性. 该方法为时间序列多变量预测研究提供了有效的思路.

1 相关工作

1. 1时间序列分解 趋势项、周期项和残差项的分解在传统的时间序列预测中对于模型的预测具有重要作用,可以更好地捕捉时间序列数据中的趋势和变化[11-13]. 分解方法可以采用加法模型和乘法模型,加法模型的计算如下:

Yt = Tt + St + Rt (1)

其中,Yt 为原始的时间序列;Tt 为趋势项,可以利用移动平均、指数平滑或回归分析等方法对其进行提取;周期项St 是所有固定时间间隔位置对应的原始实际序列与趋势项之间的偏差值的平均,反映了时间序列在去除趋势项后的周期情况. 最后,从原始时间序列中去除趋势项和周期项,就得到残差项.

时间序列分解的乘法模型如下:

Yt = Tt × St × Rt (2)

研究适合于深度学习方法的时间序列分解方法对于充分挖掘时间序列中的潜在特征和提升模型的预测能力非常重要. Wu et al[14]提出Auto⁃former,设计了一种具有自动相关性机制的新型分解架构,利用趋势项和残差项建模取得了更好的预测效果. Tong et al[15]提出一种具有概率分解表示的分层Transformer,为时间序列的分层和可分解预测提供一个灵活的框架. 现有的工作通常将时间序列分解为趋势项和季节项,然而,受到传统时间序列方法的启发,时间序列经过合理的函数变换,可以分解为趋势项、周期项和残差项,因此,开发一种适合深度学习的趋势项、周期项和残差项分解的方法十分重要.

1. 2多变量时间序列预测方法 为了提升多变量时间序列预测模型效能,学者提出并改良了很多的多变量时间序列预测模型. 传统的时间序列预测算法,如AR[6]、移动平均模型(Moving Aver⁃age Model,MA)和ARIMA[7]等统计类方法,长期以来在该领域中发挥着关键作用,但它们对时间序列的平稳性有特定要求,所以其适用性受到了限制. 同时,在进行多变量预测时,传统的时间序列预测方法一般将多变量时间序列数据拆分为单变量时间序列数据,分别对每个变量的数据进行预测,无法充分利用变量之间的相关性.

为了弥补传统的统计方法模型的缺陷,机器学习的方法已广泛应用于各个领域,如将支持向量机[8]、决策树、随机森林等机器学习模型应用于多变量时间序列预测. 通过数据驱动的方式,机器学习模型能学习并识别时间序列中的模式和特征,进而建立历史数据与未来数据之间的映射关系,更好地适用于多变量预测研究,和传统的统计方法相比,取得了良好的效果,但在时间序列预测应用中,过拟合是机器学习方法常见的问题.

深度学习模型可以更好地捕捉数据中的非线性关系和复杂模式,尤其是复杂的时序模式和变量之间的依赖关系[16],目前出现了众多基于深度学习的多变量时间序列预测框架. 最早用于时间序列预测的深度学习框架是全连接神经网络[17],能捕捉多变量时间序列中的复杂模式和变量之间的关联. 接着是RNN[9],其具有记忆功能,能捕捉序列中的长期依赖关系. 为了缓解RNN 的梯度消失[18]问题,学者们提出基于门控机制的LongShort ⁃ Term Memory (LSTM)[19] 网络架构.LSTM 是一种常用的RNN 变体,已被广泛应用于处理序列数据,其门控机制能有效地捕捉序列中的长期依赖关系,在各种时间序列建模任务中均表现出显著效果[20]. LSTM 还有多种变体,如GRU( Gated Recurrent Unit)[21],phi⁃LSTM[22]等.

近年来,随着自然语言处理和计算机视觉领域的发展,学者们提出了Transformer[10],该模型的依赖性建模的优势使其成为时间序列建模领域的研究热点[23-25]. 但Transformer 处理长距离时间序列预测的能力有限,为此学者们提出了多种变体[26-30]. Zhou et al[26]的Informer 利用稀疏注意力机制来降低注意力时间复杂度与内存使用率.Zhou et al[27]的FEDformer 在频域中应用了注意力操作,主要涉及组件的调整,特别是用于时间依赖建模的注意力模块和对长序列复杂性的优化.随着线性预测器的发展[28],Transformer 对不同时间步间注意力机制的计算受到了挑战,现有工作更加关注时间序列的固有处理. Nie et al[29]的PatchTST 利用独立通道的设计,其中每个通道包含单个单变量时间序列,在所有序列中共享相同的嵌入,并将时间序列分割为块来进行嵌入.Liu et al[30]利用非稳态变压器作为一个通用框架,通过级数稳态化和去稳态注意力两个相互依赖的模块来进行预测,效果良好. 上述Transformer 变体在处理时间序列数据时展现了强大的表现力和灵活性,能够捕捉序列中复杂的时序模式和变量间的关系,为时间序列预测任务带来了新的突破和可能性. 其优异的性能使它们在时间序列预测时的误差更微小,为实现更准确、更有效的时间序列预测提供了有力支持.

关注变量间的依赖性对于多变量的预测具有重要意义. 目前,大部分基于Transformer 的改良模型主要集中于对时间依赖性进行建模,但忽略了变量间的依赖性. Zhang and Yan[31]的Cross⁃former 通过改进的注意力机制和架构,明确捕捉跨时间和跨变量的依赖关系,在捕捉多变量间的时间和变量关系时取得了良好的效果. Liu etal[32]的iTransformer,对输入的时间序列数据矩阵进行转置,在不修改Transformer 组件的情况下取得良好的预测结果.

降低Transformer 模型的计算复杂度是研究中的另一个重要问题,有大量的工作致力于降低时间复杂度[33],目前主要的方法聚集于改变注意力计算方法,但优化Transformer 模块结构也同样重要.

2. 2 时间序列分解 在多变量时间序列预测中,对时间维度的依赖关系至关重要. 充分挖掘不同时间步的相关性,能提高模型对多变量时间序列的预测性能. 为了有效利用该相关性,首先利用移动平均得到趋势项的分解策略. 如图2 所示,将时间序列分解为趋势项和剩余项两个部分,剩余项代表时间序列周期项和残差项的和,如式(4)和式(5)所示:

ETT 数据集(https://github. com/zhouhaoyi/ETDataset)[26]是从电力变压器中收集的数据,包括2016 年7 月至2018 年7 月记录的负荷和油温数据,分别包含时间间隔粒度为1 h 的数据集ETTH1,ETTH2 和时间间隔粒度为15 min 的数据集ETTM1,ETTM2. ETTH 数据集中的每个变量有17420 个时间步,ETTM 数据集中的每个变量有69680 个时间步.

Electricity数据集( https://archive. ics. uci. edu/ml/datasets/ElectricityLoadDiagrams20112014)收集了2012年到2014年321位客户的每小时用电量数据,对于电力系统的规划和管理至关重要,对于了解电力消费的模式和趋势也有重要作用.

Weather 数据集(https://www. bgc-jena.mpg. de/wetter/)是2020年从马克斯·普朗克生物地球化学研究所气象站每10 min 采集的21 个气象因素,对于气象学、气候学以及各个与天气相关领域的研究具有重要的研究和应用价值.

3. 2对比算法与评估指标

3. 2. 1对比算法 将提出的方法与多个算法进行对比实验,以验证DItrans 模型的性能.

Informer[26]是基于Transformer 的方法,利用稀疏注意力机制来降低注意力时间复杂度与内存使用率,是一种有效的优化效率的方法.

Autoformer[14]具有自动相关性机制的新型分解架构,其利用趋势项和残差项建模取得了更好的效果,提供了一种良好的时间序列分解方法.

DLinear[28]是一种用于多变量时间序列预测的线性模型,结构简单而误差较低,对于在变量维度上进行时间序列预测研究提供了良好的思路.

Crossformer[31]在建模时考虑了不同变量之间的关系,而不仅仅是时间上的依赖关系,通过时间依赖性和变量依赖性的建模方法,在多变量预测中取得了良好的效果.

iTransformer[34]通过转置时间步和变量的维度进行建模,在不修改Transformer 组件的同时对变量间的依赖关系进行建模,提高了模型对多变量之间关系的理解能力,取得了良好的效果.

3. 2. 2损失函数和评估指标 在训练过程中采用均方误差(Mean Squared Error,MSE)作为损失函数,评估模型性能时采用MSE 和平均绝对误差(Mean Absolute Error,MAE)作为评估指标.MSE 和MAE 越小,表示模型的预测误差越小,即模型的预测能力越强. 针对第i个实例,MSE(i) 和MAE(i) 的计算如下所示:

3. 3 实验设置

3. 3. 1实验平台 物理机包括Intel Xeon Plati⁃num 8352V的CPU以及一个显存24GB 的RTX4090 的GPU. 使用PyTorch 深度学习框架搭建网络结构进行实验.

3. 3. 2训练和超参数设置 采用EarlyStopping机制,当验证集的表现连续若干轮次未见提升时训练终止,以防止模型过拟合,提高其泛化能力.使用Adam[36]优化器,选择MSE 作为损失函数.

实验的重要超参数设置如表2所示,其中,dff为编码器中前馈神经网络的隐层维度,e为可学习矩阵的维度,Sl 为片段数.

实验中若无特殊说明,设置观察序列长度X为96,预测序列长度Y 分别为96,192,336,720.设置平均核长度K = 5,以此来提取趋势项,得到剩余项,再在剩余项中提取周期项和残差项.

3. 4实验结果

3. 4. 1多变量时间序列预测结果 将DItrans模型与对比算法的预测结果进行比较,如表3 所示,表中黑体字表示性能最优. 由表可见,DItrans 模型表现出良好的多变量时间序列预测性能. 与对比算法相比,DItrans 的MSE 下降了1. 71%~79. 28%,MAE 下降了0. 72%~57. 52%.

在ETTH1,ETTH2与Electricity 数据集上,DItrans 模型展现了更优异的性能,证明其独特的编码器、融合嵌入和分解方法更适合捕捉这些数据集的特征. 因为对于小时级别这种采样间隔较大的时间序列数据,DItrans 能够更有效地捕获并处理,从而实现更精准的预测. 此外,在ETTM2数据集上DItrans 的表现同样出色,说明它在采样粒度较小的时间序列数据中也能取得良好效果.然而,对于ETTM1 数据集,DLinear 模型表现最佳,表明在此数据集中,除了考虑变量间的依赖关系,还需要重视不同时间步之间关系的捕捉. 在Weather 数据集中,DItrans,iTransformer,Cross⁃former 表现效果较佳,说明对于Weather 这种变量间具有高度依赖性关系的数据,采用转置嵌入方法可以实现更好的预测效果.

此外,在预测序列长度为96时,DItrans 模型在各个数据集上的性能均为最优,说明其拥有较强的短期预测能力. 同时,模型的预测序列长度Y 不同时,各个数据集上的MSE 和MAE 的变化较小,证明该模型能够有效地捕捉时间序列数据的趋势、周期等关系,并在长时间序列预测中展现出良好的鲁棒性.

3. 4. 2编码器和嵌入方法对比实验 为了验证不同编码器的学习效果和对比使用不同的嵌入方法,进行了对比实验.

版本1:保持其他结构不变,去除时间序列分解过程,直接针对原始的时间序列经过归一化后再进行转置嵌入,并使用eTRM 编码器结构,再经过线性层和反归一化得到预测结果.

版本2:未进行时间序列分解,并在学习表征时使用原始的eTRM 编码器结构.

版本3:进行趋势项、周期项和残差项的分解,针对三项学习表征,均使用原始的TRM 编码器结构.

版本4:进行趋势项、周期项和残差项的分解,针对三项学习表征,均使用eTRM 编码器结构.

版本5:对时间序列进行趋势项、周期项和残差项的分解,在嵌入时不针对时间序列进行转置,而直接使用线性层进行嵌入;针对趋势项利用TRM 编码器学习表征,而针对周期项和残差项利用eTRM编码器学习表征,最后的线性层将学习得到的表征映射为预测的结果Ŷ ∈R S × N.

由于ETT数据集没有很强的周期性,而Elec⁃tricity数据集周期性较强,因此选择在ETTH1和Electricitiy数据集上进行对比实验.

对比实验的结果如表4 所示,表中黑体字表示性能最优. 由表可见,在周期性不是很强的ETT 数据集中,版本1 的预测精度优于版本2,说明该编码器的学习方式更适合捕获不具备明显周期性特征的数据. 同时,版本1 的MAE 和MSE的均值均小于版本2,说明改进的eTRM 编码器结构能减小时间复杂度,预测也更准确. DItrans模型的预测精度表现最佳,超过版本3 和版本4,证明两种编码器的组合更有利于学习当前时间序列分解的趋势项、周期项和残差项. 版本5 的实验结果证明了转置嵌入方法对本文模型的有效性.

3. 4. 3分解方法对比实验 合适的时间序列分解方法对于模型的预测性能十分重要,为了验证时间序列分解的作用,对比了不同的分解方式对模型的影响.

表5 展示了时间序列分解对比实验的结果,表中黑体字表示结果最优. 由表可见,将时间序列分解为趋势项、周期项和残差项再分别进行学习的方法,总体上优于只分解为趋势项和剩余项的方法,验证了本文分解方法的优势. 同时,DI⁃trans 模型在大多数情况下MSE 均为最优. 但由于模型的训练目标是最小化MSE 损失,这使模型在训练过程中更倾向于降低MSE,而在某些情况下忽略了对MAE 的优化,所以在某些情况下MAE 表现稍差. 因此,在结合时间序列分解方法的同时,合理选择和组合训练损失函数十分重要,以便在优化MSE 的同时兼顾MAE,从而提高模型的整体预测性能.

3. 4. 4编码器维度e 灵敏度实验 为了进一步提升模型的实用性,调整可学习矩阵维度e 来验证其对模型的影响. 使用MSE 的平均值来评估模型的准确性,使用吞吐量来衡量模型的计算速度. 发现在e 不同时,MSE 的变化幅度有限,并且模型的计算效率显著提升,可为模型在实际的多变量时间序列预测应用过程中提供有效的策略.此实验有助于在实际应用中选取最合适的e,在保证模型精度的同时提高了其计算效率. 在ETTH1,Electricity 和Weather 数据集上进行了对比实验,设置预测序列长度Y = 96.

图5展示了预测序列长度Y =96时,在不同数据集上可学习矩阵维度e 对模型的MSE 和吞吐量的影响. 在ETTH1数据集上,e较高时模型的预测精度较高,且吞吐量较大,所以应当选取较高的e;在Electricity 和Weather 数据集上,e较高模型的预测精度更高,e较低时模型的吞吐量更大. 所以,针对不同的数据集和实验设置,应综合考虑预测精度和吞吐量,选择合适的e 至关重要.

3. 4. 5片段数Sl 的灵敏度实验 为了更好地进行周期项和残差项分解,在ETTH1数据集上通过实验来寻找合适的片段数Sl,设置预测序列长度分别为96,192,336,720. 表6 展示了实验结果,由表可见,Sl = 4 时模型的预测效果较好. 由于ETTH 实际的采样粒度是1 h,针对ETTH1 数据集进行周期长度为24 h 的划分具有更好的预测能力.

3. 4. 6预测实例分析 将多种模型与DItrans 模型进行预测效果的可视化对比,图6 展示了在三个数据集上的预测实例分析结果,实例由以下模型提供:iTransformer[34],Crossformer[31],Dlinear[28],Autoformer[14],Informer[26]. 由图可见,本文提出的DItrans 模型取得了最优的效果. 特别是针对Weather 数据集的实例,其他对比算法对该实例进行预测时,对趋势的预测出现了较大的偏差,而DItrans 模型可以较好地捕获趋势特征,从而拥有良好的预测性能.

4 结论

时间序列预测是一项重要且具有挑战性的任务,在许多领域均有广泛的应用. 随着深度学习方法的发展,针对多变量时间序列预测的研究受到广泛关注[32,37-41]. 本文提出一种融合趋势项、周期项和残差分解和转置策略的模型DItrans,并引入了新的编码器结构. 通过趋势项、周期项和残差项的分解,再进行转置嵌入,最后利用不同的编码器结构进行学习,使得模型在保证预测准确性的同时降低了时间复杂度. 转置嵌入的方法有助于研究变量之间的相关性,而趋势项、周期项和残差项的分解有助于捕获时间维度的依赖关系,DI⁃trans 为同时研究变量和时间维度的特征提供了一种新的思路.

在三个真实数据集上对DItrans 模型进行了性能评估,结果表明,其MSE 和MAE 均为最佳.和对比算法相比,其MSE 下降1. 71%~79. 28%,MAE 下降0. 72%~57. 52%,说明DItrans 模型在多变量时间序列预测任务中表现良好.

未来考虑提高模型的性能和效率,尝试更精确的时间序列分解方法或其他的时间序列特征提取方法,还考虑将该模型应用到更多的领域和实际问题中,以验证其在不同场景下的通用性和实用性. 随着深度学习技术的不断发展,融合时间序列分解与转置策略的多变量时间序列预测模型将在时间序列预测领域发挥更重要的作用.

(责任编辑 杨可盛)

猜你喜欢
深度学习
从合坐走向合学:浅议新学习模式的构建
面向大数据远程开放实验平台构建研究
基于自动智能分类器的图书馆乱架图书检测
搭建深度学习的三级阶梯
有体验的学习才是有意义的学习
电子商务中基于深度学习的虚假交易识别研究
现代情报(2016年10期)2016-12-15 11:50:53
利用网络技术促进学生深度学习的几大策略
考试周刊(2016年94期)2016-12-12 12:15:04
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
深度学习算法应用于岩石图像处理的可行性研究
软件导刊(2016年9期)2016-11-07 22:20:49