基于图卷机网络的多元时间序列预测模型及方法

未命名 07-29 阅读:144 评论:0


1.本发明属于多元时间序列预测研究技术领域,涉及一种基于图卷机网络的多元时间序列预测模型及方法。


背景技术:

2.在我们的日常生活中,多元时间序列数据无处不在,涉及交通、能源、金融等领域。多变量时间序列预测具有非常重要的应用价值。例如,对未来交通状况的准确预测,为实现城市资源的合理调度提供了重要参考;对股票的准确预测则会产生直接的收益。多变量时间序列预测也面临着一些挑战。一方面,多元时间序列的每一条时间序列在时间尺度上内都具有复杂的模式,例如多周期性;另一方面,在不同序列之间还存在着不同的潜在依赖关系,不同的时间序列可以相互影响,从而使得演化过程更加复杂。预测的准确性不仅取决于对每个时间序列在时间尺度上的模式分析,还取决于如何利用好时间序列之间的关联关系。循环神经网络(rnn)是多变量时间序列预测的普适方法,但是rnn有梯度消失的问题。在rnn基础上进行改进的长短时记忆网络(lstm)和门控循环网络(gru)等方案只是减轻了这个问题,而没有解决它。即使利用注意力机制将注意力集中在最重要的信息上,rnn仍难以捕捉足够数量的历史信息来进行高准确度的预测。此外rnn不支持并行计算,从而难以提升预测速度。为了解决这个问题,可以使用支持并行计算的时间卷积网络(tcn),时空图神经网络(spatial-temporal graph neuralnetworks,stgnns)最近引起了越来越多的关注。最具代表性的两个作品是dcrnn和graph wavenet。dcrnn将图卷积网络集成到循环神经网络(recurrent neural network,rnn)中。graph wavenet使用扩张卷积神经网络和扩散图卷积来实现更高的效率和性能。得益于对空间和时间模式的联合建模,stgnn实现了最先进的预测性能。此外,最近越来越多的工作正在进一步探索图结构和stgnn的联合学习,这是因为由先验知识手工定义的时间序列之间的依赖图,通常是有偏差的和不正确的。


技术实现要素:

3.针对上述多元时间序列预测问题中不同负载序列间依赖关系复杂,难以准确预测的问题,本发明的目的在于,提供一种基于图卷机网络的多元时间序列预测模型及方法,能够同时捕捉时间和空间尺度上的依赖关系用于预测,提高了预测准确性。
4.为了实现上述目的,本发明所采用的技术方案如下:
5.一方面,本发明提供一种基于图卷机网络的多元时间序列预测模型,包括依次相连接的相关性层、图滤波层、时序处理层和预测层;
6.所述相关性层包括依次相连接的gru模块、attention模块、laplace模块和cheb模块,用于将输入的原始多元时间序列x进行处理后得到图滤波器h;
7.所述图滤波层包括图滤波模块,用于根据输入原始多元时间序列x和相关性层的cheb模块得到的图滤波器h,计算得到其中,θ是一个可学习参数;
8.所述双重时序处理层包括堆叠的两个时序处理层,第一个时序处理层的输入是图
滤波层的图滤波模块的输出第二个时序处理层的输入是第一个时序处理层的输出数据和原始时间序列x的差两个时序处理层之间设有残差链接,最终双重时序处理层的输出数据
9.所述预测层用于对双重时序处理层的输出数据采用全连接神经网络进行处理,得到预测层的输出y。
10.进一步的,所述相关性层中,所述gru模块用于将输入的原始多元时间序列x=[x1…
xn]经过一个单层gru网络进行处理,输出o=[o1…on
]
t
,其中,n是时间序列的数量,是第i个时间序列的列向量,1≤i≤n,t是时间步长;
[0011]
所述attention模块用于将gru模块的输出通过公式所述attention模块用于将gru模块的输出通过公式计算得到时间序列的关系矩阵a,其中wq和wk是两个可学习参数,维度为t
×
d,其中d选取到t之间的整数;
[0012]
所述laplace模块用于根据attention模块的输出a获得的拉普拉斯矩阵l,l=i-a,i是单位阵;
[0013]
所述cheb模块用于将laplace模块输出的拉普拉斯矩阵l进行如下式的计算,得到图滤波器h:
[0014]
t2(l)=2lt1(l)-t0(l),t0=i,t1=l;
[0015]
h=[t
0 t
1 t2]。
[0016]
进一步的,所述双重时序处理层中的两个时序处理层的结构相同,每个时序处理层包括如下模块:
[0017]
fft模块,用于采用快速傅立叶变换对输入的数据在时间维度上进行快速傅立叶变换,输出在频域的数据;
[0018]
linear1模块,用于对当前时序处理层中的fft模块的输出数据采用全连接神经网络进行时序特征处理,得到处理后的数据
[0019]
glu模块,用于对linear1模块处理后的数据进行非线性映射处理,计算公式:其中θ1和θ2是一维卷积,是哈达玛积,σ是sigmoid激活函数;
[0020]
ifft模块,用于对当前时序处理层的glu模块的输出进行快速傅立叶逆变换,得到时域上的数据;
[0021]
rebuild模块,用于对当前时序处理层的ifft模块的输出数据与一个可学习参数进行进行矩阵乘法;
[0022]
linear2模块,用于采用全连接神经网络对当前时序处理层的rebuild模块输出的数据进行时序特征处理,得到输出数据i代表时序处理层的层数,i取1或2。
[0023]
进一步的,所述linear1模块的全连接神经网络中,隐藏层节点个数为3t、输出层节点个数为15t,激活函数为sigmoid。
[0024]
进一步的,所述linear2模块的全连接神经网络中,隐藏层节点个数为3t、输出层节点个数为15t,激活函数sigmoid。
[0025]
进一步的,所述预测层的全连接神经网络中,隐藏层节点个数为t、输出层节点个数为k、激活函数leakyrelu,其输出y即为预测结果。
[0026]
另一方面,本发明提供一种基于图卷机网络的多元时间序列预测方法,包括如下步骤:
[0027]
步骤1,对cluster-trace-v2018数据集进行预处理,得到预处理后的数据集;
[0028]
步骤2,构建如权利要求1或2所述的基于图卷机网络的多元时间序列预测模型;
[0029]
步骤3,将步骤1预处理后的数据集输入步骤2构建得到的多元时间序列预测模型进行训练,损失函数为平均绝对误差损失函数,得到训练好的多元时间序列预测模型;
[0030]
步骤4,将待预测的数据先进行预处理,然后将预处理后的数据输入训练好的多元时间序列预测模型,得到预测结果。
[0031]
进一步的,所述预处理包括对数据缺失值的填充、最大最小值归一化。
[0032]
本发明提出了一个泛化性强的基于图卷机网络的多元时间序列预测模型及方法,其不依赖于某个具体的图结构,能同时处理多个时间序列并输出预测结果,这得益于相关性层的gru模块;学习到的图结构用于构建一个图滤波器,图滤波器用于对多元时间序列进行信息聚合,这种考虑不同序列间关系的处理方式为提升最终的预测精度做了有益贡献。
附图说明
[0033]
图1为本发明的基于图卷机网络的多元时间序列预测方法的构建示意图。
[0034]
以下结合实施例对本发明的具体内容作进一步详细解释说明。
具体实施方式
[0035]
以下给出本发明的具体实施例,需要说明的是本发明并不局限于以下具体实施例,凡在本技术技术方案基础上做的等同变换均落入本发明的保护范围。
[0036]
实施例1:
[0037]
本实施例给出了一种基于图卷机网络的多元时间序列预测模型,如图1所示,包括依次相连接的相关性层(correlation layer)、图滤波层(filtering layer)、时序处理层(timing layers)和预测层(forcast layer)。
[0038]
1、相关性层(correlation layer),包括依次相连接的gru模块、attention模块、laplace模块和cheb模块这四个模块。具体如下:
[0039]
1)gru模块,用于将输入的原始多元时间序列x=[x1ꢀ…ꢀ
xn]经过一个单层gru网络(gru网络的隐藏层维度等于时间序列的数量n)进行处理,输出o=[o1ꢀ…ꢀon
]
t
。其中,n是时间序列的数量,是第i个时间序列的列向量,1≤i≤n,t是时间步长;
[0040]
2)attention模块,用于将gru模块的输出通过公式2)attention模块,用于将gru模块的输出通过公式计算得到时间序列的关系矩阵a。其中wq和wk是两个可学习参数,维度为t
×
d,其中d选取到t之间的整数。该模块用于提取空间注意力。
[0041]
3)laplace模块,用于根据attention模块的输出a获得的拉普拉斯矩阵l。具体计算公式为l=i-a,i是单位阵。
[0042]
4)cheb模块,用于将laplace模块输出的拉普拉斯矩阵l进行如下式的计算得到图滤波器h。
[0043]
t2(l)=2lt1(l)-t0(l),t0=i,t1=l。
[0044]
h=[t
0 t
1 t2]
[0045]
2、图滤波层(filtering layer)
[0046]
图滤波层包括图滤波模块,用于根据输入原始多元时间序列x和相关性层的cheb模块得到的图滤波器h,计算得到其中,θ是一个可学习参数。这一层旨在使用图滤波器对原始时间序列x进行滤波,捕捉有用信息。
[0047]
3、双重时序处理层(timing layers)包括堆叠的两个时序处理层,第一个时序处理层的输入是图滤波层的图滤波模块的输出第二个时序处理层的输入是第一个时序处理层的输出数据和原始时间序列x的差两个时序处理层之间设有残差链接,最终双重时序处理层的输出数据
[0048]
具体的,两个时序处理层的结构相同,每个时序处理层包括六个模块:
[0049]
1)fft模块,用于快速傅立叶变换。
[0050]
fft模块采用快速傅立叶变换对输入的数据在时间维度上进行快速傅立叶变换,输出在频域的数据。该模块旨在为之后的模块提供原始时间序列在频域上的表示。
[0051]
2)linear1模块,用于对当前时序处理层中的fft模块的输出数据采用全连接神经网络进行时序特征处理,得到处理后的数据
[0052]
全连接神经网络中隐藏层节点个数为3t、输出层节点个数为15t,激活函数sigmoid。
[0053]
3)glu模块(门控线性激活单元),用于对linear1模块处理后的数据进行非线性映射处理,计算公式如下:
[0054]
其中θ1和θ2是一维卷积,是哈达玛(hadamard)积,即矩阵对应元素相乘,σ是sigmoid激活函数。
[0055]
4)ifft模块,用于对当前时序处理层的glu模块的输出进行快速傅立叶逆变换,得到时域上的数据。
[0056]
5)rebuild模块,用于对当前时序处理层的ifft模块的输出数据与一个可学习参数进行进行矩阵乘法。
[0057]
6)linear2模块,用于采用全连接神经网络对当前时序处理层的rebuild模块输出的数据进行时序特征处理,得到输出数据i代表时序处理层的层数,i取1或2。
[0058]
该全连接神经网络中,隐藏层节点个数为3t、输出层节点个数为15t,激活函数sigmoid。
[0059]
4、预测层(forcast layer)用于对双重时序处理层的输出数据采用全连
接神经网络进行处理,得到预测层的输出y。
[0060]
全连接神经网络中,隐藏层节点个数为t、输出层节点个数为k(设置的预测步长)、激活函数leakyrelu,其输出y即为预测结果。
[0061]
实施例2:
[0062]
本实施例给出了一种基于图卷机网络的多元时间序列预测方法,该方法的输入是多元时间序列,时间序列的个数是可选的,可以同时接受多个时间序列进行处理得到预测结果。
[0063]
包括如下步骤:
[0064]
步骤1,对现有cluster-trace-v2018数据集进行预处理,得到预处理后的数据集;具体的,预处理包括对数据缺失值的填充(均值填充)、最大最小值归一化。
[0065]
步骤2,构建基于图卷机网络的多元时间序列预测模型。
[0066]
该模型采用上述本发明的基于图卷机网络的多元时间序列预测模型,此处不再赘述。
[0067]
步骤3,训练模型。
[0068]
将步骤1预处理后的数据集输入步骤2构建得到的多元时间序列预测模型进行训练,损失函数为平均绝对误差损失函数,得到训练好的多元时间序列预测模型。
[0069]
步骤4,预测。
[0070]
将待预测的数据先进行步骤1相同的方式进行预处理,然后将预处理后的数据输入训练好的多元时间序列预测模型,得到预测结果。
[0071]
为了验证本发明的可行性和有效性,本技术在加州高速路网pems交通流量数据集pems07上228个节点的数据对分别采用本发明的方法和现有方法进行对比试验,选取的四种基于目前流行的方法与本发明进行对比,这四种方法分别为:时空图卷积模型、扩散卷积递归神经网络、长短期时间序列网络、时间卷积网络;实验采用了平均绝对误差(mean absolute error,mae)、均方根误差(root mean square error,rmse)、值和平均绝对百分比误差(mean absolute percentage error,mape)三个指标作为评价准则,得到如表1所示的结果对比表;通过对比可以看出,本发明的预测方法在pems07数据集上比表现最好的现有预测方法st-gcn在mae上还要好0.71。能够有效证明本发明在多元时间序列预测问题上具有较高的准确性。
[0072]
表1结果对比表
[0073]

技术特征:
1.一种基于图卷机网络的多元时间序列预测模型,其特征在于,包括依次相连接的相关性层、图滤波层、时序处理层和预测层;所述相关性层包括依次相连接的gru模块、attention模块、laplace模块和cheb模块,用于将输入的原始多元时间序列x进行处理后得到图滤波器h;所述图滤波层包括图滤波模块,用于根据输入原始多元时间序列x和相关性层的cheb模块得到的图滤波器h,计算得到模块得到的图滤波器h,计算得到其中,θ是一个可学习参数;所述双重时序处理层包括堆叠的两个时序处理层,第一个时序处理层的输入是图滤波层的图滤波模块的输出第二个时序处理层的输入是第一个时序处理层的输出数据和原始时间序列x的差两个时序处理层之间设有残差链接,最终双重时序处理层的输出数据所述预测层用于对双重时序处理层的输出数据采用全连接神经网络进行处理,得到预测层的输出y。2.如权利要求1所述基于图卷机网络的多元时间序列预测模型,其特征在于,所述相关性层中,所述gru模块用于将输入的原始多元时间序列x=[x1ꢀ…ꢀ
x
n
]经过一个单层gru网络进行处理,输出o=[o1ꢀ…ꢀ
o
n
]
t
,其中,n是时间序列的数量,是第i个时间序列的列向量,1≤i≤n,t是时间步长;所述attention模块用于将gru模块的输出通过公式q=ow
q
,k=ow
k
,计算得到时间序列的关系矩阵a,其中w
q
和w
k
是两个可学习参数,维度为t
×
d,其中d选取到t之间的整数;所述laplace模块用于根据attention模块的输出a获得的拉普拉斯矩阵l,l=i-a,i是单位阵;所述cheb模块用于将laplace模块输出的拉普拉斯矩阵l进行如下式的计算,得到图滤波器h:t2(l)=2lt1(l)-t0(l),t0=i,t1=l;h=[t
0 t
1 t2]。3.如权利要求1所述基于图卷机网络的多元时间序列预测模型,其特征在于,所述双重时序处理层中的两个时序处理层的结构相同,每个时序处理层包括如下模块:fft模块,用于采用快速傅立叶变换对输入的数据在时间维度上进行快速傅立叶变换,输出在频域的数据;linear1模块,用于对当前时序处理层中的fft模块的输出数据采用全连接神经网络进行时序特征处理,得到处理后的数据glu模块,用于对linear1模块处理后的数据进行非线性映射处理,计算公式:其中θ1和θ2是一维卷积,

是哈达玛积,σ是sigmoid激活函数;
ifft模块,用于对当前时序处理层的glu模块的输出进行快速傅立叶逆变换,得到时域上的数据;rebuild模块,用于对当前时序处理层的ifft模块的输出数据与一个可学习参数进行进行矩阵乘法;linear2模块,用于采用全连接神经网络对当前时序处理层的rebuild模块输出的数据进行时序特征处理,得到输出数据i代表时序处理层的层数,i取1或2。4.如权利要求3所述基于图卷机网络的多元时间序列预测模型,其特征在于,所述linear1模块的全连接神经网络中,隐藏层节点个数为3t、输出层节点个数为15t,激活函数为sigmoid。5.如权利要求3所述基于图卷机网络的多元时间序列预测模型,其特征在于,所述linear2模块的全连接神经网络中,隐藏层节点个数为3t、输出层节点个数为15t,激活函数sigmoid。6.如权利要求1所述基于图卷机网络的多元时间序列预测模型,其特征在于,所述预测层的全连接神经网络中,隐藏层节点个数为t、输出层节点个数为k、激活函数leakyrelu,其输出y即为预测结果。7.一种基于图卷机网络的多元时间序列预测方法,其特征在于,包括如下步骤:步骤1,对cluster-trace-v2018数据集进行预处理,得到预处理后的数据集;步骤2,构建如权利要求1或2所述的基于图卷机网络的多元时间序列预测模型;步骤3,将步骤1预处理后的数据集输入步骤2构建得到的多元时间序列预测模型进行训练,损失函数为平均绝对误差损失函数,得到训练好的多元时间序列预测模型;步骤4,将待预测的数据先进行预处理,然后将预处理后的数据输入训练好的多元时间序列预测模型,得到预测结果。8.如权利要求7所述的基于图卷机网络的多元时间序列预测方法,其特征在于,所述预处理包括对数据缺失值的填充、最大最小值归一化。

技术总结
本发明公开了一种基于图卷机网络的多元时间序列预测模型及方法,模型包括依次相连接的相关性层、图滤波层、时序处理层和预测层;所述相关性层包括依次相连接的GRU模块、Attention模块、Laplace模块和Cheb模块;所述图滤波层包括图滤波模块用于根据输入原始多元时间序列和相关性层得到的图滤波器,计算得到所述双重时序处理层包括堆叠的两个时序处理层;所述预测层用于对双重时序处理层的输出数据采用全连接神经网络进行处理,得到预测层的输出。本发明的模型和方法能同时处理多个时间序列并输出预测结果,采用了考虑不同序列间关系的处理方式,有效地提升了最终的预测精度。度。度。


技术研发人员:贺小伟 曾庆宇
受保护的技术使用者:西北大学
技术研发日:2023.03.14
技术公布日:2023/7/26
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐