一种基于时间演化和变量交互的多元时间序列预测方法
文献发布时间:2024-04-18 19:58:53
技术领域
本发明属于时间序列预测技术领域,具体涉及一种基于时间演化和变量交互的多元时间序列预测方法。
背景技术
时间序列预测在现实世界中应用很广泛,比如电力预测、天气预测、交通预测等等,其任务目标是根据过去的观测值预测未来的值,现有的研究方法主要包括:
1)基于循环神经网络的方法:循环神经网络结构天生适合处理序列数据,这类方法主要是基于循环神经网络框架做建模,比如LSTNet,LSTM等方法。
2)卷积神经网络结构:卷积神经网络具有平移不变性,利用卷积核可以很好的建模时间序列的局部特征。通过堆叠更多的卷积层扩大它的感受野,从而完成整体信息的一个抽取。卷积神经网络结构的代表性方法有TCN,通过因果卷积和膨胀卷积建模时间序列的时间特征。
3)Transformer结构:Transformer结构在自然语言处理领域处理序列数据取得了重大的发展,更进一步地,它在时间序列领域也取得了很好的效果。其核心注意力机制可以很好的建模不同时间点的全局相关性,不用堆叠很多层就可以一步建模全局信息。因为注意力机制具有二次的时间复杂度,所以也出现了很多适用于时间序列领域的更简单的注意力机制的变体。Transformer结构的代表性方法有:Informer,Autoformer,FEDformer。
4)多层感知机结构:时间序列数据作为一种不是很复杂的数据,简单的多层感知机结构也在这个领域取得了不错的进展。DLinear利用简单的时间序列分解和多层感知机就可以建模时间序列不同时间点之间的关系,证明类似Transformer模型这种复杂的架构在时间序列预测领域不一定有效。
在上述方法中,基于循环神经网络结构的方法往往无法很好的处理比较长的时间序列数据,因为它可能会存在梯度消失或梯度爆炸的问题,而且当时间序列较长时,循环神经网络结构通常需要很长的运行时间,它的效率比较低;基于卷积神经网络的方法可以比较好的建模时间序列数据的局部特征,但是受限于感受野,这些和方法想要建模序列的全局相关性往往需要堆叠很多的卷积层,这会大大增加模型的复杂度;基于Transformer的方法可以建模不同时间点数据之间的相关性,但是注意力机制具有二次时间和空间复杂度,当时间序列较长时,这些方法通常需要付出很大的时间和空间代价。同时,现有的模型都没有针对多元时间序列不同变量之间的相关性进行特定的建模,这在现实世界中的多元序列中是很有必要的,因为现实世界中不同的时间序列倾向于相互影响共同变化。
发明内容
针对现有技术中的上述不足,本发明提供的基于时间演化和变量交互的多元时间序列预测方法从时间序列内部时间依赖性和时间序列不同变量之间相关性的角度建模,在更全面建模多元时间序列特征的同时,达到更低的时间和空间复杂度,同时取得最优的效果。
为了达到上述发明目的,本发明采用的技术方案为:一种基于时间演化和变量交互的多元时间序列预测方法,包括以下步骤:
S1、对原始多元时间序列进行变量折叠,并将折叠后的多元时间序列映射到高维空间中,获得第一时间序列;
S2、利用时间演化模块捕捉第一时间序列中的时间依赖关系,获得第二时间序列;
S3、利用变量交互模块建模第二时间序列中不同变量之间的相关性,获得第三时间序列;
S4、利用通道依赖模块捕捉第三时间序列中隐藏状态不同维度之间的关系,获得第四时间序列;
S5、根据N个依次连接的时间演化模块、变量交互模块以及通道依赖模块处理后输出的第四时间序列获得多元时间序列的预测结果。
进一步地,所述步骤S1中,原始多元时间序列X∈R
所述第一时间序列表示为X
进一步地,所述步骤S2中,时间演化模块包括依次连接的第一层归一化、傅里叶变换层、线性变换层以及逆快速傅里叶变换层;
所述第二时间序列X
式中,X
进一步地,所述步骤S3中,变量交互模块包括依次连接的第二层归一化、序列分段单元、逐元素相乘单元、序列展开单元以及求和层;
所述序列分段单元包括若干序列分段层,所述逐元素相乘单元包括若干逐元素相乘层,所述序列展开单元包括若干序列展开层,每个序列分段层均有依次对应连接的逐元素相乘层及序列展开层。
进一步地,所述步骤S3具体为:
S31、将第二时间序列进行序列分段,并将每一分段序列沿隐藏维度折叠后通过线性变换隐藏状态维度,得到分段向量
S32、将各分段向量
S33、对每一个分段向量
S34、通过线性变换将各分段的相关性向量在隐藏状态维度升维,然后改变其形状到序列长度维度进行扩展;其中,升维的倍数等于分段的大小;
S35、将序列维度扩展的相关性向量恢复至折叠前的长度;
S36、将各恢复长度的相关性向量相加后展开至原维度,获得第三时间序列X
进一步地,所述步骤S4中,通道依赖模块在第三时间序列的隐藏状态维度建模通道之间的依赖性,其表达式为:
X
X
式中,Avgpool(X
进一步地,所述通道依赖模块、变量交互模块和时间演化模块中均设置有残差连接。
进一步地,所述步骤S5具体为:
S51、基于N个依次连接的时间演化模块、变量交互模块以及通道依赖模块的输出序列X
其中,输出序列X
S52、对序列X
S53、将序列X
本发明的有益效果为:
(1)本发明基于多元时间序列不同变量之间的相关性是稀疏的这一点,利用变量折叠的方法降低建模变量相关性所需要的时间和空间代价。
(2)本发明提出时间演化模块从频率的角度建模时间序列的时间依赖性,并且以频率分量的简单的线性变换达到很好的效果。
(3)提出变量交互模块以线性的时间和空间复杂度建模变量之间的全局相关性,极大的节省了空间代价和时间代价。
本发明提出的方法可以高效并全面的挖掘多元时间序列序列内部和变量之间的依赖性和相关关系,并且具有很低的时间和空间代价,对比现有方法不仅有较大的复杂度的降低,还有较高的预测效果的提升,在实际生活中具有很大的应用价值。
附图说明
图1为本发明提供的基于时间演化和变量交互的多元时间序列预测方法流程图。
图2为本发明提供的时间演化模块、变量交互模块以及通道依赖模块连接示意图。
图3为本发明提供的时间演化模块结构示意图。
图4为本发明提供的不同变量之间的时间相关性示意图。
图5为本发明提供的通道依赖模块结构示意图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
实施例1:
本发明实施例提供了一种基于时间演化和变量交互的多元时间序列预测方法,如图1所示,包括以下步骤:
S1、对原始多元时间序列进行变量折叠,并将折叠后的多元时间序列映射到高维空间中,获得第一时间序列;
S2、利用时间演化模块捕捉第一时间序列中的时间依赖关系,获得第二时间序列;
S3、利用变量交互模块建模第二时间序列中不同变量之间的相关性,获得第三时间序列;
S4、利用通道依赖模块捕捉第三时间序列中隐藏状态不同维度之间的关系,获得第四时间序列;
S5、根据N个依次连接的时间演化模块、变量交互模块以及通道依赖模块处理后输出的第四时间序列获得多元时间序列的预测结果。
在本发明实施例中步骤S1中,原始多元时间序列X∈R
在本发明实施例中步骤S1中,对折叠后的序列进行嵌入,将其映射到高维空间进行表示,获得第一时间序列表示为X
在本发明实施例的步骤S2~S4中,时间演化模块、变量交互模块以及通道依赖模块之间的连接关系如图2所示,为了防止网络可能存在的梯度消失问题,时间演化模块、变量交互模块以及通道依赖模块中均设置有残差连接。
在本发明实施例中,在时间演化模块中,将时间序列是一个不断变化的数据形式,但从另一个角度看其本质可以认为是各个频率分量的变化。因此从频率的角度捕捉时间序列的时间前后依赖性是一个很合适的选择。基于此,本实施例中的时间演化模块结构如图3所示,包括依次连接的第一层归一化、傅里叶变换层、线性变换层以及逆快速傅里叶变换层;
具体地,基于图3所示结构,对于嵌入之后的第一时间序列X
式中,X
在本发明实施例的步骤S3中,在变量交互模块中,如图4所示,将时间序列不同变量之间的相关性定义为不同变量不同时间点之间的相关性,这在现实世界中是很合理的,因为现实世界中时间序列同一时间点不同变量之间的数据总是会相互影响,下一个时间点的值是前面时间点的值相互影响相互变化得到。
因此,对于时间演化模块的输出X
在本实施例中,基于图5所示的变量交互模块结构,本实施例步骤S3具体为:
S31、将第二时间序列进行序列分段,并将每一分段序列沿隐藏维度折叠后通过线性变换隐藏状态维度,得到分段向量
S32、将各分段向量
S33、对每一个分段向量
S34、通过线性变换将各分段的相关性向量在隐藏状态维度升维,然后改变其形状到序列长度维度进行扩展;其中,升维的倍数等于分段的大小;
S35、将序列维度扩展的相关性向量恢复至折叠前的长度;
S36、将各恢复长度的相关性向量相加后展开至原维度,获得第三时间序列X
在本实施例步骤S31中,分段向量
X
式中,
在本实施例步骤S33中,在建模所有元素的相关性时,目前常用的建模所有元素全局相关性的方法是注意力机制,但是注意力机制具有二次的时间和空间复杂度,对于长度为
X′
X
在本实施例的步骤S34-S35中,在建模相关性的基础上,将分段之后的序列展开,将其还原到原来长度,此步使用的也是线性变换操作,先在隐藏状态维度进行升维,然后改变其形状到序列长度维度进行扩展,其中升维的倍数等于分段大小,在序列维度进行扩展之后序列将恢复到折叠之前的长度:其实现过程表达式为:
X″
其中X″
在本实施例步骤S36中,对于根据不同分段大小得到的不同分支,将其加起来作为求得序列不同变量相关性的最终结果,并将其展开成原来的维度,获得第四时间序列为:
X
其中X
在本实施例的步骤S4中,通道依赖模块在第三时间序列的隐藏状态维度建模通道之间的依赖性;具体地,在得到变量交互模块的X
X
X
式中,Avgpool(X
本发明实施例的步骤S5具体为:
S51、基于N个依次连接的时间演化模块、变量交互模块以及通道依赖模块的输出序列X
其中,对应短期时间序列预测任务来说,预测长度通常为{3,6,9,12};而对于长期时间序列预测任务来说,预测长度通常为{96,192,336,720};
其中,输出序列X
S52、对序列X
S53、将序列X
在发明实施例中,在实施例1中各模块组成的模型训练过程中,使用误差是均方误差(MSE),模型效果的评价标准采用原始数据和预测数据的均方误差(MSE)和平均绝对误差(MAE)。其公式为:
其中n表示所有数据量,y
基于本发明实施例提供的预测方法,针对电力变压器中采集的电力数据,在实际预测时,与现有的方法DLinear(2023),Pyraformer(2021),FEDformer(2022),Autoformer(2021),Informer(2021)相比,具体预测性能对比如下:
其中,ours表示本发明的方法,ETTh1,ETTh2,ETTm1,ETTm2为从电力变压器中采集的电力数据形成的数据集。
本发明提出的方法可以高效并全面的挖掘多元时间序列序列内部和变量之间的依赖性和相关关系,并且具有很低的时间和空间代价,对比现有方法不仅有较大的复杂度的降低,还有较高的预测效果的提升,在实际生活中具有很大的应用价值。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发明的原理,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
- 一种基于自演化预训练的多变量时间序列预测方法和设备
- 基于时间演化图建模动态交互的行为预测系统及方法