本发明属于多元时间序列预测,具体公开了一种非平稳重塑crossformer时间序列预测方法。背景介绍随着人工智能领域的快速发展,多领域预测任务的需求也在不断增加。例如,电力系统需要根据往年的数据预测今年的电力负荷,工业部门需要根据生产预测量及时调整工艺生产,交通部门需要根据近期的客流量预测下个月的客流趋势,固废焚烧厂需要根据过程变量的参数变化趋势进行实时干预等。可以看出,各个领域的预测任务有助于它们提前制定计划,从而有利于提高工作效率和经济效益,并有助于降低风险和经济损失。近年来,随着神经网络的深入研究,时间序列预测模型也得到了快速发展。现有的时间序列预测模型大致可以分为注意力网络、卷积网络、图神经网络及其他类型。在以往的工作中,多元时间序列预测任务的重点更多地放在如何构建一个好的神经网络模型实现更深层次的数据特征提取,但忽略了保留数据的原始特性,这极大地影响了模型的预测精度。根据真实数据的特性,多元时间序列的预测主要存在以下两个问题:(1)真实数据具有非平稳特性,但大多数时间序列预测模型中,对于数据的过度归一化处理降低了其非平稳性。使用归一化后的数据进行特征提取或计算,不能很好地反映模型预测结果的真实性和准确性。(2)对于多元时间序列预测任务,现有的大多数模型更注重捕获单个时间序列的变化周期,而忽略了多元时间序列之间的相互影响。然而,在实际的预测任务中,多元参数之间存在一定的相关性,即一个变量的变化往往会对其他变量的变化产生影响,反之亦然。因此,在多元时间序列预测任务中,如何同时解决这两个问题以提高模型预测的准确性和真实性是一个需要解决的重要问题。结合现有技术,non-stationary crossformer模型通过融合非平稳注意力与crossformer网络很好地解决了这个问题,但non-stationarycrossformer模型的网络结构和时间序列特征捕获方式等方面存在不足之处。亟需探寻一种计算简单、能够更好地捕获数据特征,增强多元时间序列之间的相关性计算及时间序列的非平稳性还原的多元时间序列预测方法。
背景技术:
技术实现思路
1、本发明为解决现有多元时间序列预测中存在的没有充分考虑多元时间序列之间的相关性和真实数据的分平稳特性导致预测结果准确性和真实性不高的问题提出了一种非平稳重塑crossformer时间序列预测方法。
2、本发明提供了一种非平稳重塑crossformer时间序列预测方法,包括如下步骤:
3、s1.利用超参数限制模块对预测模型的超参数进行限制,以多元时间序列x={x1,x2,x3,…xc},x∈rb×l×c作为样本数据输入预测模型进行时间序列预测,xk表示第k个时间序列,k∈(1,2,3…c),r表示实数集,b表示样本批次,l表示样本数据步长,c表示时间序列维度;
4、s2.对所述多元时间序列x进行归一化处理得到归一化多元时间序列xnor、标准差σx和均值μx;
5、s3.将所述多元时间序列x、所述步骤s2获得的所述标准差σx和所述均值μx输入mlp网络计算出第一非平稳因子θ和第二非平稳因子
6、s4.利用embedding操作对所述步骤s2得到的所述归一化多元时间序列xnor和所述步骤s3计算得到的所述第二非平稳因子进行分段处理得到分段多元时间序列xemb和第一分段第二非平稳因子
7、s5.构建一维resnet网络,将所述步骤s4得到的所述分段多元时间序列xemb输入所述一维resnet网络,经过卷积、池化得到第一分段多元时间序列xenc1;
8、s6.将所述步骤s5计算得到的所述第一分段多元时间序列xenc1、所述步骤s4得到的所述第一分段第二非平稳因子和所述步骤s3计算得到的所述第一非平稳因子θ作为第一个encoder层的输入,依次通过非平稳注意力计算、相关注意力计算以及自注意力计算得到第一个encoder层的三层注意力输出第一注意力多元时间序列enc1,将得到的第一注意力多元时间序列进行线性映射得到第一个encoder层的输出第一编码多元时间序列enc′1;
9、s7.对所述步骤s4得到的所述第一分段第二非平稳因子进行线性变换得到第二分段第二非平稳因子对所述第二分段第二非平稳因子进行线性变换得到第三分段第二非平稳因子依次经过迭代线性变换得到第j分段第二非平稳因子其中2≤j≤e,e为encoder层的数量;
10、s8.将所述步骤s5计算得到的所述第一分段多元时间序列xenc1进行分段序列合并得到第二分段多元时间序列xenc2,对所述第二分段多元时间序列xenc2进行分段序列合并得到第三分段多元时间序列xenc3,则针对第j个encoder层,将第j-1个encoder层输入的第j-1分段多元时间序列xenc(j-1)进行分段序列合并得到第j分段多元时间序列xencj;
11、s9.将所述步骤s8计算得到的所述第j分段多元时间序列xencj、所述步骤s7计算得到的所述第j分段第二非平稳因子和所述步骤s3计算得到的所述第一非平稳因子θ作为第j个encoder层的输入,依次通过非平稳注意力计算、相关注意力计算以及自注意力计算得到第j个encoder层的的三层注意力输出第j注意力多元时间序列encj,将得到的第j注意力多元时间序列进行线性映射得到第j个encoder层的输出第j编码多元时间序列enc′j,依次计算得到第e编码多元时间序列enc′e,得到所有的编码多元时间序列;;
12、s10.将所述步骤s9计算得到的所有的编码多元时间序列相加求和得到初始预测值encsum,对所述初始预测值encsum进行反归一化处理得到预测值其中t表示预测输出步长。
13、根据本技术一些实施例的一种非平稳重塑crossformer时间序列预测方法,所述步骤s1中,利用超参数限制模块对预测模型的超参数进行限制,其中,所述超参数包括:所述样本数据步长l、序列分段步长s、分段序列合并窗口大小w和所述encoder层数e。
14、根据本技术一些实施例的一种非平稳重塑crossformer时间序列预测方法,所述步骤s1中,所述利用超参数限制模块对预测模型的超参数进行限制包括:
15、s110.判断所述样本数据步长l是否为所述序列分段步长s的整数倍;
16、s120.若不是,则提示“l的取值太小或者s的取值太大”,并终止模型训练;
17、s130.若是,则根据所述序列分段步长s对样本数据进行分段,利用公式(1)计算样本数据的分割段数,
18、n=l/s(1)
19、利用公式(2)计算样本数据的分割段数n与合并窗口w的余数,即合并过程中需要的填充数据段数,
20、npad=mod(n,w)(2)。
21、根据本技术一些实施例的一种非平稳重塑crossformer时间序列预测方法,设定i表示超参数限制执行到的encoder层数,1≤i≤e,则所述步骤s1中,所述利用超参数限制还包括:
22、s140.在第i个encoder层输入的分段序列合并过程中根据所述合并窗口w进行分段序列合并,并利用公式(2)计算合并过程中需要的所述填充数据段数,并判断所述填充数据段数npad是否为0;
23、s141.若npad为0,则无需进行数据填充,按照公式(3)进行第i个encoder层分割段数n的更新,
24、n=n/w(3);
25、s142.判断n是否等于1;
26、s143.若n不等于1,返回所述步骤s140;
27、s144.若n等于1,判断i是否小于e;
28、s145.若i小于e,则终止本层模型训练,并提示“e的取值太大”;
29、s146.若i不小于e,则表明已遍历所有encoder层,超参数限制程序执行结束。
30、根据本技术一些实施例的一种非平稳重塑crossformer时间序列预测方法,所述步骤s1中,所述利用超参数限制还包括:
31、s150.若npad不为0,则表示需要对时间序列进行填充以达到合并要求,按照公式(4)进行所述填充数据段数npad的更新,
32、npad=w-npad(4);
33、s151.按照公式(5)进行第i个encoder层分割段数的更新,
34、n=(n+npad)/w(5);
35、s152.判断n是否等于1;
36、s153.若n等于1,判断i是否小于e;
37、s154.若i小于e,则并终止本层模型训练,并提示“e的取值太大”;
38、s155.若i不小于e,则表明已遍历所有encoder层,超参数限制程序执行结束。
39、根据本技术一些实施例的一种非平稳重塑crossformer时间序列预测方法,所述步骤s5中所述一维resnet网络的构建,包括:
40、s510.构建卷积层,所述卷积层为1个卷积核为7x7、步长为1、边缘数据填充为3的卷积层,将所述分段多元时间序列xemb输入所述卷积层得到卷积多元时间序列xr;
41、s520.构建最大池化层,所述最大池化层包括1个卷积核为5x5、步长为1、边缘数据填充为2的最大池化层,将所述卷积多元时间序列xr输入所述最大池化层得到最大池化多元时间序列xmaxp;
42、s530.构建局部特征提取层,将步骤s520输出的所述最大池化多元时间序列xmaxp输入3个连续的所述局部特征提取层得到特征多元时间序列xout。
43、根据本技术一些实施例的一种非平稳重塑crossformer时间序列预测方法,所述步骤s5,还包括:
44、s540.根据公式(6)得到所述第一分段多元时间序列xenc1,
45、xenc1=xmaxp+xout(6)。
46、根据本技术一些实施例的一种非平稳重塑crossformer时间序列预测方法,所述局部特征提取层包括:1个卷积核为3x3、步长为1、边缘数据填充为1的卷积层,1个归一化层和relu激活函数。
47、根据本技术一些实施例的一种非平稳重塑crossformer时间序列预测方法,所述步骤s6中的所述第一注意力多元时间序列enc1的计算公式如(7),
48、
49、其中,threeattn代表三层注意力计算;
50、则所述步骤s6中的所述第一编码多元时间序列enc′1的计算公式如(8)
51、enc′1=projector(enc1) (8)
52、其中projector代表线性映射;
53、则所述步骤s8中所述第j分段多元时间序列xencj的计算公式如(9),
54、xencj=merge(xenc(j-1),w),2≤j≤e(9)
55、其中,merge代表对样本数据进行分段序列合并;
56、则所述步骤s9中的所述第j注意力多元时间序列encj的计算公式如(10),
57、
58、则所述步骤s9中的所述第j编码多元时间序列enc′j的计算公式如(11),
59、enc′j=projector(encj),2≤j≤e (11)
60、encoder层输出求和值所述初始预测值encsum的计算公式如(12),
61、
62、预测模型输出的所述预测值的计算公式如(13),
63、
64、其中,denorm代表反归一化。