CN115840893A - 一种多变量时间序列预测方法及装置 - Google Patents
一种多变量时间序列预测方法及装置 Download PDFInfo
- Publication number
- CN115840893A CN115840893A CN202211602472.5A CN202211602472A CN115840893A CN 115840893 A CN115840893 A CN 115840893A CN 202211602472 A CN202211602472 A CN 202211602472A CN 115840893 A CN115840893 A CN 115840893A
- Authority
- CN
- China
- Prior art keywords
- input
- model
- layer
- prediction
- data set
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000012549 training Methods 0.000 claims abstract description 28
- 238000007781 pre-processing Methods 0.000 claims abstract description 16
- 239000011159 matrix material Substances 0.000 claims description 27
- 230000006870 function Effects 0.000 claims description 23
- 238000013528 artificial neural network Methods 0.000 claims description 21
- 239000013598 vector Substances 0.000 claims description 21
- 238000010606 normalization Methods 0.000 claims description 18
- 238000012360 testing method Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 12
- 230000007246 mechanism Effects 0.000 claims description 12
- 230000004913 activation Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 9
- 238000012795 verification Methods 0.000 claims description 9
- 125000004122 cyclic group Chemical group 0.000 claims description 7
- 238000013507 mapping Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 6
- 230000009466 transformation Effects 0.000 claims description 6
- 210000002569 neuron Anatomy 0.000 claims description 3
- 238000013139 quantization Methods 0.000 claims description 3
- 238000011156 evaluation Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 11
- 238000010586 diagram Methods 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 210000003734 kidney Anatomy 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S10/00—Systems supporting electrical power generation, transmission or distribution
- Y04S10/50—Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种多变量时间序列预测方法及装置,收集预测内容及相关特征的历史数据,进行数据预处理得到预测数据集,并构建可变滑动窗口数据集;将所述预测数据集放入transformer encoder作为特征提取器组成的模型结构中,训练模型;调整模型参数及调节模型超参数,得到最优模型;根据所述最优模型对待预测内容进行预测。本发明方案结合多变量时间序列预测的特点,和门控循环单元结合起来,能捕捉到时间步上特征间的关系,更好地把握时间维度的特征,提升模型预测效果。
Description
技术领域
本发明涉及多变量时间序列预测技术领域,特别涉及一种多变量时间序列预测方法及装置。
背景技术
近年来,时间序列预测已经被广泛用于能源、交通、气象等众多领域。在实际应用中,场景非常广泛,如能源、交通的长期规划,和气象灾害的早期预警等。多变量时间序列普遍存在于各种现实场景中,包括太阳能电站能量输出、电力消耗和交通堵塞情况的预测等。在经济、金融、生物信息和交通等领域也有广泛应用。相较于单变量时序预测,需要建模的问题更复杂,因为每个变量不仅与其历史值有关,还要考虑变量之间的依赖关系。
Transformer(变压器模型)是Google团队提出的经典之作,由Ashish Vaswani等人在2017年发表的论文(论文:Vaswani A,Shazeer N,Parmar N,etal.Attention is allyou need[C]//Advances in Neural Information Processing Systems.2017:5998-6008.)提出,并在近年广泛的应用在深度学习中的各个领域。Transformer在机器翻译任务上的表现超过了循环神经网络和卷积神经网络,只用编码器-解码器结构和注意力机制就能达到很好的效果,最大的优点是效果好和可以高效地并行化。Transformer不仅仅可以应用在自然语言处理的机器翻译领域,甚至可以不局限于自然语言处理领域,在很多领域都有着巨大的成功,是非常有科研潜力的一个方向。
门控循环单元是由Bahdanau和Bengio等(论文:Learning PhraseRepresentations using RNN Encoder–Decoder for Statistical MachineTranslation)在2014年提出的,是对长短时记忆网络的一种改进。它将遗忘门和输入门合并成更新门,同时将记忆单元与隐藏层合并成了重置门,进而让整个结构运算变得更加简化且性能得以增强。
发明内容
本发明提供一种多变量时间序列预测方法及装置,能够解决现有技术中准确预测下一时刻预测值的问题。
根据本发明的一个方面,提供了一种多变量时间序列预测方法,包括以下步骤:
收集预测内容及相关特征的历史数据,进行数据预处理得到预测数据集,并构建可变滑动窗口数据集;
将所述预测数据集放入变压器模块自编码器transformer encoder作为特征提取器组成的模型结构中,训练模型;
调整模型参数及调节模型超参数,得到最优模型;
根据所述最优模型对待预测内容进行预测。
所述数据预处理,包括:
若预测数据集中含有缺失值,选择业务适合的数据值进行填充;
对所述预测数据集进行离散变量数值化处理,将离散变量通过标签编码数值化;
对所述预测数据集进行归一化处理,通过估计器将数据分别缩放和转换成给定范围的值;
对所述预测数据集划分训练集、验证集及测试集;
构造滑动窗口数据集,将划分好的训练集、验证集及测试集构造为滑动窗口数据集。
所述构造滑动窗口数据集,包括:
根据如下公式将划分好的训练集、验证集及测试集构造为滑动窗口数据集:
feature[i]=x[i:i+t]
label[i]=y[i+t]
其中,i为当前生成数据编号,x为全部初始特征,feature为构造好的输入特征,label为构造好的输入值,y为初始输出值,t为滑动窗口的大小,是可调节参数,即用前t个时间步的历史数据去预测下一步。
所述变压器模块自编码器transformer encoder作为特征提取器,包括:
transformer自编码器的输入:用input表示输入的特征,Einput表示输入特征的编码,Xinput表示经过输入层之后得到的结果:
Einput=linear(input);
PE(pos,2i)=sin(pos/100002i/d);
PE(pos,2i+1)=cos(pos/100002i/d);
Xinput=Einput+PEinput;
其中,位置嵌入层用PE表示,pos表示单词在句子中的位置,d表示PE的维度,2i表示偶数的维度,2i+1表示奇数维度;
查询向量Q、键向量K和值向量V分别由Xinput特征进行映射得到:
Q=XinputWQ,K=XinputWK,V=XinputWV;
其中,WQ,WK和WV为权重矩阵,进行注意力的计算:
其中,dk是Q,K矩阵的列数,即向量维度;
计算多头自注意力机制,其中WO为权重矩阵,公式如下:
Multihead(H)=Concat(head1,……,heads)WO;
where heads=attentions(Q,K,V);
求和与归一化层由求和层和归一化层两部分组成,计算公式如下:
LayerNorm(X+MultiHeadAttention(X);
LayerNorm(X+FeedForward(X));
其中,X表示多头注意力或者前馈神经网络的输入,MultiHeadAttention(X)和FeedForward(X)表示输出;
求和层指X+MultiHeadAttention(X);
归一化层用于循环神经网络结构,将每一层神经元的输入都转成均值方差相同的形式;
前馈神经网络层是一个两层的全连接层,第一层的激活函数为线性整流函数Relu,第二层不使用激活函数,对应的公式如下:
max(0,XW1+b1)W2+b2;
其中,X是输入,前馈神经网络最终得到的输出矩阵的维度与X一致;
构造一个编码器,所述编码器接收输入矩阵,并输出一个矩阵;
通过多个所述编码器叠加组成特征提取器,第一个编码器的输入为特征的表示向量矩阵,后续编码器的输入是前一个编码器的输出。
所述模型结构还包括若干个门控循环单元层,其中,
设定隐藏单元个数为h,给定时间步为t,输入为上一层的输出xt,上一时间步隐藏状态为ht-1,重置门Rt和更新门zt的计算公式如下:
Rt=σ(xtwxr+ht-1whr+br);
zt=σ(xtwxz+ht-1whz+bz);
其中,wxh和whh为权重矩阵,bh为偏置量;
每个所述门控循环单元的输入均为上一层特征提取器的输出,且每个门控循环单元的初始隐藏状态均为前一个门控循环单元的最终隐藏状态;
把若干个门控循环单元的结果经过线性映射之后拼接成一个向量,作为下一步的输入。
所述模型结构还包括生成预测结果的全连接层,其中,
全连接层表示为
y=xwxf+bf:
其中,x表示上一层的输出,y表示本层的输出,wxf为权重,bf为偏置量。
所述模型结构还包括损失函数,其中,
所述损失函数为均方误差,计算公式为
所述调整模型参数及调节模型超参数,得到最优模型,包括:
使用贝叶斯自动调参调整模型参数,并结合经验调整模型参数;
调节的超参数为滑动窗口大小t,transformer自编码器的层数N,门控循环单元的个数H及学习率;
在所述模型的训练过程中,画出loss随时间变化的曲线图,判断所述模型是否达到收敛;
对x′进行反归一化得到特征x,xmax和xmin分别为其中的最大最小值;其公式为:
x=x′(xmax-xmin)+xmin;
其中,x为需要转化的特征,x′为转化之后的特征,xmax和xmin分别为其中的最大最小值。
所述最优模型还包括一个评价体系,其中,
其中,n为测试集样本数量;
均方根误差:均方误差的方根,与yi具有相同的单位
R2决定系数,反映模型拟合数据的准确程度,计算公式:
平均绝对百分比误差
根据本发明的另一个方面,提供了一种多变量时间序列预测装置,包括:
预处理单元,用于收集预测内容及相关特征的历史数据,进行数据预处理得到预测数据集,并构建可变滑动窗口数据集;
模型训练单元,用于将所述预测数据集放入变压器模块自编码器transformerencoder作为特征提取器组成的模型结构中,训练模型;
参数调整单元,用于调整模型参数及调节模型超参数,得到最优模型;
内容预测单元,用于根据所述最优模型对待预测内容进行预测。
采用本发明的技术方案,提出了一种多变量时间序列预测方案,收集预测内容及相关特征的历史数据,进行数据预处理得到预测数据集,并构建可变滑动窗口数据集;将所述预测数据集放入transformer encoder作为特征提取器组成的模型结构中,训练模型;调整模型参数及调节模型超参数,得到最优模型;根据所述最优模型对待预测内容进行预测。
本发明实施例中,对多变量数据样本进行缺失值填补、离散值数值化、归一化等预处理,划分训练集验证集测试集,创建可变滑动窗口的数据样本,以及设计可变transformer编码器层数的深度神经网络作为特征提取器,注意力机制可以更好地把握多变量数据集中的关键变量,接着经过可变个数的门控循环单元,用来再次捕捉时间上的关联性,经过线性映射层,最后加入全连接层做回归预测。将处理好的数据集输入深度神经网络中进行训练。此外,本发明提供了两种调整超参数的策略,一种是基于经验的人工调参,另一种是贝叶斯自动调参。本发明根据多变量数据具有时空关联的特性,设计了基于可变滑动窗口与transformer的多变量时间序列预测算法,该算法最大的创新是使用transformer捕获特征间的关联,即空间关联,使用门控循环单元捕获不同特征之间的关系,即时间关联。将空间关联与时间关联相结合,构建了具有更高预测效果的新的神经网络结构。
本发明的方案结合滑动窗口与transformer,将transformer的编码器部分看成特征提取器,滑动窗口可以更好地根据业务去确定预测值与前时间步的依赖步数。结合多变量时间序列预测的特点,和transformer的注意力机制结合起来,更能捕捉到不同特征之间的权重关系,更好地把握空间维度的特征,从而提升模型预测效果。结合多变量时间序列预测的特点,和门控循环单元结合起来,更能捕捉到时间步上特征间的关系,更好地把握时间维度的特征,进一步提升模型预测效果。本发明方案设计思路清晰,使用方式简便,在工程实际中,具有广泛的适用性。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例提供的多变量时间序列预测原理流程图;
图2为本发明实施例提供的基于可变滑动窗口与transformer的多变量时间序列预测方案总体框图;
图3为本发明实施例提供的使用自动调参的基于transformer预测方法的流程图;
图4为本发明实施例提供的transformer的编码部分结构图;
图5为本发明实施例提供的注意力机制说明图;
图6为本发明实施例提供的门控循环单元结构图;
图7a为本发明实施例提供的使用本发明在某数据集上的预测结果-loss曲线图;
图7b为本发明实施例提供的使用本发明在某数据集上的预测结果-预测结果图;
图7c为本发明实施例提供的使用本发明在某数据集上的预测结果-预测结果;
图8为本发明实施例提供的多变量时间序列预测装置结构示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明根据多变量数据具有时空关联的特性,设计了基于可变滑动窗口与transformer的多变量时间序列预测算法,该算法最大的特点是使用transformer捕获特征间的关联,即空间关联,使用门控循环单元去捕获不同特征之间的关系,即时间关联。将时空两者结合起来,构建新的神经网络结构,用以提高预测效果。
图1为本发明实施例中多变量时间序列预测流程图。如图1所示,该多变量时间序列预测流程包括以下步骤:
步骤101、收集预测内容及相关特征的历史数据,进行数据预处理得到预测数据集,并构建可变滑动窗口数据集。
本发明实施例中,获取历史数据,如表1所示,包括需要预测列(特征0)以及其他相关特征。表1为部分示例数据。
表1
时间 | 特征0 | 特征1 | 特征2 | 特征3 | 特征4 | 特征5 |
2021/11/11 | 1560.01 | 多云 | 10 | 2 | 4 | 9 |
2021/11/12 | 1608.01 | 阴 | 9 | 2 | 6 | 5 |
2021/11/13 | 1775.03 | 暴雨 | 8 | 2 | 6 | 3 |
填充缺失值,如果数据集中含有缺失值,可以选择业务适合的数据值进行填充,可以选前向填充,后向填充,中位数填充,众数填充等多种填充方法,本示例选择的是前向填充方法。
数据预处理-离散变量数值化,特征1为离散变量,将离散变量通过标签编码数值化。
数据预处理-归一化处理,最小最大缩放法通过估计器将数据分别缩放和转换成给定范围([0,1]之间)的值。去除单位限制转为无量纲数据,避免数据量纲不一致的问题。转为公式如下:
其中,x为需要转化的特征,x′为转化之后的特征,xmax和xmin分别为其中的最大最小值。
数据预处理-划分训练集验证集测试集,通常将比例设置为7∶2∶1。
构造滑动窗口数据集,将划分好的训练集验证集及测试集构造为滑动窗口数据集,具体公式如下:
feature[i]=x[i:i+t]
label[i]=y[i+t]
其中,i为当前生成数据编号,x为全部初始特征,feature是构造好的输入特征,label是构造好的输入值,y为初始输出值,t为滑动窗口的大小,是可调节参数,即用前t个时间步的历史数据去预测下一步。
步骤102、将所述预测数据集放入变压器模块自编码器transformer encoder作为特征提取器组成的模型结构中,训练模型。
本发明实施例中,仅使用transformer的自编码器部分,如图4所示,结构如下:
transformer自编码器的输入:用input表示输入的特征,Einput表示输入特征的编码,Xinput表示经过输入层之后得到的结果。
Einput=linear(input)
PE(pos,2i)=sin(pos/100002i/d)
PE(pos,2i+1)=cos(pos/100002i/d)
Xinput=Einput+PEinput
其中,由于transformer包含词嵌入层,对于多变量时序预测,我们使用全连接网络代替词嵌入层。除此之外,还需要使用位置嵌入层。位置嵌入层用PE表示,可以使用公式计算得到。在transformer中采用了后者,其中,pos表示单词在句子中的位置,d表示PE的维度(与词嵌入的维度一样),2i表示偶数的维度,2i+1表示奇数维度(即2i≤d,2i+1≤d)。
注意力机制。如图4和图5,查询向量Q、键向量K和值向量V分别由Xinput特征进行映射得到:
Q=XinputWQ,K=XinputWK,V=XinputWV
其中WQ,WK和WV为权重矩阵,进行注意力的计算:
其中,dk是Q,K矩阵的列数,即向量维度。
接着计算多头自注意力机制,其中WO为权重矩阵,公式如下:
Multihead(H)=Concat(head1,……,heads)WO
where heads=attentions(Q,K,V)。
求和与归一化层由求和层和归一化层两部分组成,其计算公式如下:
LayerNorm(X+MultiHeadAttention(X)
LayerNorm(X+FeedForward(X))
其中X表示多头注意力或者前馈神经网络的输入,MultiHeadAttention(X)和FeedForward(X)表示输出(输出与输入X维度是一样的,所以可以相加)。
求和层指X+MultiHeadAttention(X),是一种残差连接,通常用于解决多层网络训练的问题,可以让网络只关注当前差异的部分。
归一化层指层标准化,通常用于循环神经网络结构,层标准化会将每一层神经元的输入都转成均值方差相同的形式,以加快收敛。
前馈神经网络层是一个两层的全连接层,第一层的激活函数为线性整流函数Relu,第二层不使用激活函数,对应的公式如下
max(0,XW1+b1)W2+b2
X是输入,前馈神经网络最终得到的输出矩阵的维度与X一致。
通过上述的多头注意力机制,前馈神经网络,求和与归一化层可以构造出一个编码器。编码器接收输入矩阵,并输出一个矩阵。通过多个编码器叠加就可以组成编码器模块,如图4。第一个编码器的输入为特征的表示向量矩阵,后续编码器的输入是前一个编码器的输出。
如图2和图3,本发明实施例中编码器的个数N是一个可调节的超参数。
图6为一个门控循环单元的结构图。设定隐藏单元个数为h,给定时间步为t,输入为上一层的输出xt,上一时间步隐藏状态为ht-1,重置门Rt和更新门zt的计算公式如下:
Rt=σ(xtwxr+ht-1whr+br)
zt=σ(xtwxz+ht-1whz+bz)
其中,wxh和whh为权重矩阵,bh为偏置量。
本发明中,每个门控循环单元的输入均为上一层特征提取器的输出,且每个门控循环单元的初始隐藏状态均为前一个门控循环单元的最终隐藏状态,如图2和图3,门控循环单元的个数H是可以调整的。把多个门控循环单元的结果经过线性映射之后拼接成一个向量,作为下一步的输入。
全连接层用来生成预测结果。全连接层表示为
y=xwxf+bf
其中,x表示上一层的输出,y表示本层的输出,wxf为权重,bf为偏置量。
步骤S204.损失函数为均方误差,计算公式为
每一次迭代先前向计算,再通过反向传播,更新参数。
步骤103,调整模型参数及调节模型超参数,得到最优模型。
本发明实施例中,贝叶斯自动调参的工作方式是通过对目标函数形状的学习,找到使结果向全局最大提升的参数。在贝叶斯自动调参中采用高斯过程对目标函数建模,得到其后验分布,并且很容易在局部最优解上不断采样。使用贝叶斯自动调参的预测过程见图3。主要调节的超参数为滑动窗口大小t,transformer的编码器的层数N,门控循环单元的个数H,学习率等。
在调参过程中,可以选人工手动经验调参方法,也可以选择贝叶斯自动调参。
在训练过程中,可以画出loss随时间变化的曲线图,以判断模型是否达到收敛。
反归一化。对x′进行反归一化得到特征x,xmax和xmin分别为其中的最大最小值。其公式为:
x=x′(xmax-xmin)+xmin。
评价体系。
对比平均绝对误差,均方误差对异常值更敏感。
均方根误差:均方误差的方根,与yi具有相同的单位,可从单位度量上衡量模型的效果
上述几种误差越小,就代表模型的性能越好。
R2决定系数,反映模型拟合数据的准确程度。计算公式:
平均绝对百分比误差
步骤104,根据所述最优模型对待预测内容进行预测。
将得到的最佳模型用于预测集的预测问题,预测结果如图7a~图7c。
为了实现上述流程,本发明技术方案还提供一种多变量时间序列预测装置,如图8所示,该多变量时间序列预测装置包括:
预处理单元21,用于收集预测内容及相关特征的历史数据,进行数据预处理得到预测数据集,并构建可变滑动窗口数据集;
模型训练单元22,用于将所述预测数据集放入变压器模块自编码器transformerencoder作为特征提取器组成的模型结构中,训练模型;
参数调整单元23,用于调整模型参数及调节模型超参数,得到最优模型;
内容预测单元24,用于根据所述最优模型对待预测内容进行预测。
综上所述,本发明的技术方案,提出了一种多变量时间序列预测方案,收集预测内容及相关特征的历史数据,进行数据预处理得到预测数据集,并构建可变滑动窗口数据集;将所述预测数据集放入transformer encoder作为特征提取器组成的模型结构中,训练模型;调整模型参数及调节模型超参数,得到最优模型;根据所述最优模型对待预测内容进行预测。
本发明实施例中,对多变量数据样本进行缺失值填补、离散值数值化、归一化等预处理,划分训练集验证集测试集,创建可变滑动窗口的数据样本,以及设计可变transformer编码器层数的深度神经网络作为特征提取器,注意力机制可以更好地把握多变量数据集中的关键变量,接着经过可变个数的门控循环单元,用来再次捕捉时间上的关联性,经过线性映射层,最后加入全连接层做回归预测。将处理好的数据集输入深度神经网络中进行训练。此外,本发明提供了两种调整超参数的策略,一种是基于经验的人工调参,另一种是贝叶斯自动调参。本发明根据多变量数据具有时空关联的特性,设计了基于可变滑动窗口与transformer的多变量时间序列预测算法,该算法最大的创新是使用transformer捕获特征间的关联,即空间关联,使用门控循环单元捕获不同特征之间的关系,即时间关联。将空间关联与时间关联相结合,构建了具有更高预测效果的新的神经网络结构。
本发明的方案结合滑动窗口与transformer,将transformer的编码器部分看成特征提取器,滑动窗口可以更好地根据业务去确定预测值与前时间步的依赖步数。结合多变量时间序列预测的特点,和transformer的注意力机制结合起来,更能捕捉到不同特征之间的权重关系,更好地把握空间维度的特征,从而提升模型预测效果。结合多变量时间序列预测的特点,和门控循环单元结合起来,更能捕捉到时间步上特征间的关系,更好地把握时间维度的特征,进一步提升模型预测效果。本发明方案设计思路清晰,使用方式简便,在工程实际中,具有广泛的适用性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种多变量时间序列预测方法,其特征在于,包括以下步骤:
收集预测内容及相关特征的历史数据,进行数据预处理得到预测数据集,并构建可变滑动窗口数据集;
将所述预测数据集放入变压器模块自编码器transformer encoder作为特征提取器组成的模型结构中,训练模型;
调整模型参数及调节模型超参数,得到最优模型;
根据所述最优模型对待预测内容进行预测。
2.根据权利要求1所述的一种多变量时间序列预测方法,其特征在于,所述数据预处理,包括:
若预测数据集中含有缺失值,选择业务适合的数据值进行填充;
对所述预测数据集进行离散变量数值化处理,将离散变量通过标签编码数值化;
对所述预测数据集进行归一化处理,通过估计器将数据分别缩放和转换成给定范围的值;
对所述预测数据集划分训练集、验证集及测试集;
构造滑动窗口数据集,将划分好的训练集、验证集及测试集构造为滑动窗口数据集。
3.根据权利要求2所述的一种多变量时间序列预测方法,其特征在于,所述构造滑动窗口数据集,包括:
根据如下公式将划分好的训练集、验证集及测试集构造为滑动窗口数据集:
feature[i]=x[i:i+t]
label[i]=y[i+t]
其中,i为当前生成数据编号,x为全部初始特征,feature为构造好的输入特征,label为构造好的输入值,y为初始输出值,t为滑动窗口的大小,是可调节参数,即用前t个时间步的历史数据去预测下一步。
4.根据权利要求3所述的一种多变量时间序列预测方法,其特征在于,所述变压器模块自编码器transformer encoder作为特征提取器,包括:
transformer自编码器的输入:用input表示输入的特征,Einput表示输入特征的编码,Xinput表示经过输入层之后得到的结果:
Einput=linear(input);
PE(pos,2i)=sin(pos/100002i/d);
PE(pos,2i+1)=cos(pos/100002i/d);
Xinput=Einput+PEinput;
其中,位置嵌入层用PE表示,pos表示单词在句子中的位置,d表示PE的维度,2i表示偶数的维度,2i+1表示奇数维度;
查询向量Q、键向量K和值向量V分别由Xinput特征进行映射得到:
Q=XinputWQ,K=XinputWK,V=XinputWV;
其中,WQ,WK和WV为权重矩阵,进行注意力的计算:
其中,dk是Q,K矩阵的列数,即向量维度;
计算多头自注意力机制,其中WO为权重矩阵,公式如下:
Multihead(H)=Concat(head1,......,heads)WO;
where heads=attentions(Q,K,V);
求和与归一化层由求和层和归一化层两部分组成,计算公式如下:
LayerNorm(X+MultiHeadAttention(X);
LayerNorm(X+FeedForward(X));
其中,X表示多头注意力或者前馈神经网络的输入,MultiHeadAttention(X)和FeedForward(X)表示输出;
求和层指X+MultiHeadAttention(X);
归一化层用于循环神经网络结构,将每一层神经元的输入都转成均值方差相同的形式;
前馈神经网络层是一个两层的全连接层,第一层的激活函数为线性整流函数Relu,第二层不使用激活函数,对应的公式如下
max(0,XW1+b1)W2+b2;
其中,X是输入,前馈神经网络最终得到的输出矩阵的维度与X一致;
构造一个编码器,所述编码器接收输入矩阵,并输出一个矩阵;
通过多个所述编码器叠加组成特征提取器,第一个编码器的输入为特征的表示向量矩阵,后续编码器的输入是前一个编码器的输出。
5.根据权利要求4所述的一种多变量时间序列预测方法,其特征在于,所述模型结构还包括若干个门控循环单元层,其中,
设定隐藏单元个数为h,给定时间步为t,输入为上一层的输出xt,上一时间步隐藏状态为ht-1,重置门Rt和更新门zt的计算公式如下:
Rt=σ(xtwxr+ht-1whr+br);
zt=σ(xtwxz+ht-1whz+bz);
其中,wxh和whh为权重矩阵,bh为偏置量;
每个所述门控循环单元的输入均为上一层特征提取器的输出,且每个门控循环单元的初始隐藏状态均为前一个门控循环单元的最终隐藏状态;
把若干个门控循环单元的结果经过线性映射之后拼接成一个向量,作为下一步的输入。
6.根据权利要求5所述的一种多变量时间序列预测方法,其特征在于,所述模型结构还包括生成预测结果的全连接层,其中,
全连接层表示为
y=xwxf+bf;
其中,x表示上一层的输出,y表示本层的输出,wxf为权重,bf为偏置量。
8.根据权利要求7所述的一种多变量时间序列预测方法,其特征在于,所述调整模型参数及调节模型超参数,得到最优模型,包括:
使用贝叶斯自动调参调整模型参数,并结合经验调整模型参数;
调节的超参数为滑动窗口大小t,transformer自编码器的层数N,门控循环单元的个数H及学习率;
在所述模型的训练过程中,画出loss随时间变化的曲线图,判断所述模型是否达到收敛;
对x′进行反归一化得到特征x,xmax和xmin分别为其中的最大最小值;其公式为:
x=x′(xmax-xmin)+xmin:
其中,x为需要转化的特征,x′为转化之后的特征,xmax和xmin分别为其中的最大最小值。
10.一种多变量时间序列预测装置,其特征在于,包括:
预处理单元,用于收集预测内容及相关特征的历史数据,进行数据预处理得到预测数据集,并构建可变滑动窗口数据集;
模型训练单元,用于将所述预测数据集放入变压器模块自编码器transformerencoder作为特征提取器组成的模型结构中,训练模型;
参数调整单元,用于调整模型参数及调节模型超参数,得到最优模型;
内容预测单元,用于根据所述最优模型对待预测内容进行预测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211602472.5A CN115840893A (zh) | 2022-12-09 | 2022-12-09 | 一种多变量时间序列预测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211602472.5A CN115840893A (zh) | 2022-12-09 | 2022-12-09 | 一种多变量时间序列预测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115840893A true CN115840893A (zh) | 2023-03-24 |
Family
ID=85578570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211602472.5A Pending CN115840893A (zh) | 2022-12-09 | 2022-12-09 | 一种多变量时间序列预测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115840893A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116401515A (zh) * | 2023-06-07 | 2023-07-07 | 吉林大学 | 一种面向海洋观测数据的洋流预测方法 |
CN116483036A (zh) * | 2023-04-25 | 2023-07-25 | 西北师范大学 | 一种基于Transformer的自编码器软测量建模方法 |
CN117786325A (zh) * | 2024-02-27 | 2024-03-29 | 山东晨晖电子科技有限公司 | 一种大口径物联网水表的环境温度智慧预警*** |
-
2022
- 2022-12-09 CN CN202211602472.5A patent/CN115840893A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116483036A (zh) * | 2023-04-25 | 2023-07-25 | 西北师范大学 | 一种基于Transformer的自编码器软测量建模方法 |
CN116483036B (zh) * | 2023-04-25 | 2023-10-03 | 西北师范大学 | 一种基于Transformer的自编码器软测量建模方法 |
CN116401515A (zh) * | 2023-06-07 | 2023-07-07 | 吉林大学 | 一种面向海洋观测数据的洋流预测方法 |
CN117786325A (zh) * | 2024-02-27 | 2024-03-29 | 山东晨晖电子科技有限公司 | 一种大口径物联网水表的环境温度智慧预警*** |
CN117786325B (zh) * | 2024-02-27 | 2024-04-30 | 山东晨晖电子科技有限公司 | 一种大口径物联网水表的环境温度智慧预警*** |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115840893A (zh) | 一种多变量时间序列预测方法及装置 | |
CN110263479B (zh) | 一种大气污染因子浓度时空分布预测方法及*** | |
CN113177633B (zh) | 一种深度解耦时间序列预测方法 | |
CN114519469B (zh) | 一种基于Transformer框架的多变量长序列时间序列预测模型的构建方法 | |
Liu et al. | Heating load forecasting for combined heat and power plants via strand-based LSTM | |
CN115906954A (zh) | 一种基于图神经网络的多变量时间序列预测方法及装置 | |
Chinnathambi et al. | Deep neural networks (DNN) for day-ahead electricity price markets | |
Li et al. | Deep spatio-temporal wind power forecasting | |
CN115310674A (zh) | 基于并行神经网络模型LDformer的长时间序列预测方法 | |
CN112434891A (zh) | 基于wcnn-alstm的太阳辐照度时间序列的预测方法 | |
CN113360848A (zh) | 一种时序数据预测方法及装置 | |
CN116680105A (zh) | 一种基于邻域信息融合注意力机制的时序异常检测方法 | |
CN116643949A (zh) | 基于VaDE聚类的多模型边缘云负载预测方法及装置 | |
CN115600500A (zh) | 一种基于时空多尺度和k-sdw的超短期概率风电功率预测方法 | |
CN117114192A (zh) | 基于多尺度时空图变换网络的海上风电功率预测方法及装置 | |
CN112149896A (zh) | 一种基于注意力机制的机械设备多工况故障预测方法 | |
CN116702831A (zh) | 一种考虑数据大量丢失的混合短期风电功率预测方法 | |
Angelis et al. | Energformer: A new transformer model for energy disaggregation | |
CN114676622A (zh) | 基于自编码器深度学习模型的短期光伏功率预测方法 | |
CN114662389A (zh) | 面向空气污染物的自相关误差Informer模型长时序预测方法及*** | |
CN117094451B (zh) | 一种耗电量的预测方法、装置及终端 | |
CN117154704A (zh) | 一种基于多尺度时空图注意力卷积网络的光伏功率预测方法 | |
CN116796171A (zh) | 一种机械装备剩余使用寿命预测方法和装置 | |
CN116646929A (zh) | 一种基于pso-cnn-bilstm的短期风电功率预测方法 | |
CN115759343A (zh) | 一种基于e-lstm的用户电量预测方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |