CN116562416B - 基于变模态与延时特征Transformer模型的水库水位预测方法 - Google Patents
基于变模态与延时特征Transformer模型的水库水位预测方法 Download PDFInfo
- Publication number
- CN116562416B CN116562416B CN202310181021.7A CN202310181021A CN116562416B CN 116562416 B CN116562416 B CN 116562416B CN 202310181021 A CN202310181021 A CN 202310181021A CN 116562416 B CN116562416 B CN 116562416B
- Authority
- CN
- China
- Prior art keywords
- water level
- data
- output
- layer
- attention
- 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.)
- Active
Links
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 title claims abstract description 162
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000012549 training Methods 0.000 claims abstract description 21
- 238000005457 optimization Methods 0.000 claims abstract description 9
- 238000007781 pre-processing Methods 0.000 claims abstract description 5
- 238000004806 packaging method and process Methods 0.000 claims abstract description 4
- 239000013598 vector Substances 0.000 claims description 66
- 239000011159 matrix material Substances 0.000 claims description 47
- 230000006870 function Effects 0.000 claims description 22
- 230000008569 process Effects 0.000 claims description 17
- 230000007246 mechanism Effects 0.000 claims description 12
- 230000004913 activation Effects 0.000 claims description 9
- 238000010606 normalization Methods 0.000 claims description 9
- 230000009466 transformation Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 4
- 239000000284 extract Substances 0.000 claims description 3
- 230000008878 coupling Effects 0.000 claims description 2
- 238000010168 coupling process Methods 0.000 claims description 2
- 238000005859 coupling reaction Methods 0.000 claims description 2
- 239000012634 fragment Substances 0.000 claims description 2
- 230000001502 supplementing effect Effects 0.000 claims description 2
- 239000002245 particle Substances 0.000 description 30
- 238000012360 testing method Methods 0.000 description 7
- 238000000354 decomposition reaction Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 5
- 230000001105 regulatory effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000002262 irrigation Effects 0.000 description 1
- 238000003973 irrigation Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000007634 remodeling Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000000087 stabilizing effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/26—Government or public services
-
- 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A10/00—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE at coastal zones; at river basins
- Y02A10/40—Controlling or monitoring, e.g. of flood or hurricane; Forecasting, e.g. risk assessment or mapping
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Human Resources & Organizations (AREA)
- Biophysics (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Tourism & Hospitality (AREA)
- Strategic Management (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Marketing (AREA)
- General Business, Economics & Management (AREA)
- Development Economics (AREA)
- Primary Health Care (AREA)
- Educational Administration (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Entrepreneurship & Innovation (AREA)
- Game Theory and Decision Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于变模态与延时特征Transformer模型的水库水位预测方法,包括以下步骤:步骤S1:获取水库水位、降雨量、泄洪量数据,并预处理;步骤S2:基于预处理后的数据,构造降雨量滞后特征;步骤S3:基于预处理后的数据,采用VMD分解水位特征,得到若干个水位子模态特征;步骤S4:将预处理后的数据、降雨量滞后特征和N个水位子模态特征,进行数据封装,得到训练集;步骤S5:构建Transformer水位预测模型,并基于PSO进行参数寻优,得到优化后的Transformer水位预测模型;步骤S6:基于训练集训练优化后的Transformer水位预测模型,得到训练后的Transformer水位预测模型;步骤S7:基于训练后的Transformer水位预测模型,进行水库水位预测。本发明有效提高水库水位预测的准确性和可靠性。
Description
技术领域
本发明涉及属于水库水位预测领域,具体涉及一种基于变模态与延时特征Transformer模型的水库水位预测方法。
背景技术
水库通常被建设于雨水充沛、水流落差大的地区,主要用作发电的同时,兼具防洪、灌溉的作用。水库水位的变化影响着当地的生产生活,因此,监测水位变化、水资源调度具有重要的意义。
在现有的水库水位控制技术中,通常是利用传感器采集水库水位信息,辅以气象预报,最后根据人工经验或传统简单数学公式实施水库水位的调控。现有方法在数据利用上不够充分,未能挖掘历史水位信息或其它与水位相关变量之间的关系。在方法上依赖经验,可能引入较强的主观判断;在实践中往往不能做到稳定、科学、合理。在导致资源浪费的同时也给区域人民群众生产带来不确定性。
发明内容
有鉴于此,本发明的目的在于提供一种基于变模态与延时特征Transformer模型的水库水位预测方法,旨在解决上述问题。
为实现上述目的,本发明采用如下技术方案:
一种基于变模态与延时特征Transformer模型的水库水位预测方法,包括以下步骤:
步骤S1:获取水库水位、降雨量、泄洪量数据,并预处理;
步骤S2:基于预处理后的数据,构造降雨量滞后特征;
步骤S3:基于预处理后的数据,采用VMD分解水位特征,得到若干个水位子模态特征;
步骤S4:将预处理后的数据、降雨量滞后特征和N个水位子模态特征,进行数据封装,得到训练集;
步骤S5:构建Transformer水位预测模型,并基于PSO进行参数寻优,得到优化后的Transformer水位预测模型;
步骤S6:基于训练集训练优化后的Transformer水位预测模型,得到训练后的Transformer水位预测模型;
步骤S7:基于训练后的Transformer水位预测模型,进行水库水位预测。
进一步的,所述预处理,具体为:对数据序列中存在的缺失值,采用序列数据的前一个时间点进行补充;
数据整理完成后对数据集中的变量数据依次进行最大最小值归一化预处理:
式中,x为待归一化数据,xmin和xmax分别表示待归一化数据中的最大值和最小值。
进一步的,所述构造降雨量滞后特征,具体为:
基于预处理后的数据,保持水库水位、泄洪量序列特征不动,降雨量序列r0整体往后移动1~10个时间单位,尾部随之删除1~10个时间点的数据,保持整体序列长度一致;最后得到rn={r0,r1,…r10}序列,构成降雨量滞后特征集;
以降雨量滞后特征数据集为基础,计算水库水位与各个降雨量滞后特征序列之间的相关系数:
在中,相关系数用rxy表示,xi为水库水位数据,yi为泄洪量或降雨量数据,为对应特征的平均值,基于相关系数选择降雨量滞后特征。
进一步的,所述数据封装,具体为:将数据集按时间先后顺序排列,使用预设大小的时间窗口对特征进行分割,每滑动一个时间步长得到一个新的样本特征,其大小为(H,F)的矩阵,其中H代表过去天数,F代表特征数;最后利用python中的TensorDataset类封装。
进一步的,所述Transformer水位预测模型,包括位置嵌入层、多头自注意力编码器、多头自注意力解码器和预测输出层。
进一步的,所述多头自注意力编码器,由多个自注意力拼接形成多个头,一个单独的头就是一个自注意力,具体为:
将带有位置信息的[B,H,16]大小的水位相关数据输入到多头注意力层中,在每一个单独的头中,自注意力机制中将[B,H,16]大小的水位数据用三个线性层提取出大小为[B,H,32]、[B,H,32]、[B,H,16]的Q、K、V矩阵特征向量,再用Q、K矩阵相乘、缩放、指数归一化输出得到该片段水位特征数据的注意力系数矩阵[B,H,H],最后与V矩阵相乘输出[B,H,16]的特征向量,保留原始数据长度的同时也使得水位特征数据的不同时间点具有不同的重要性,其过程用式(5)表示;
式(5)中,soft max为指数归一化函数,dk为K矩阵的维度;
利用一个头关注样本数据中的一部分,多个头就关注到水位数据的不同特征变化,最后将多个头提取的数据特征联结输出一个[B,H,16]特征向量;其次,以上层输出的[B,H,16]特征向量和嵌入位置信息的向量[B,H,16]作为输入进行残差连接和正则化,输出尺寸为[B,H,16]的特征向量,其过程用式(6)表示;
再用一个线性层提取特征并输出[B,H,16]的特征向量;最后以上层输出的[B,H,16]特征向量和输入到线性层的向量[B,H,16]作为输入进行残差连接和正则化,输出尺寸为[B,H,16]的特征向量,其过程用式(6)表示:
LayerNorm(x+Sublayer(x)) (6)
式(6)中,LayerNorm为层级正则化函数,Sublayer为上一层的作用。
进一步的,所述多头自注意力解码器,由多个自注意力拼接形成多个头,一个单独的头就是一个自注意力,具体为:
将带有位置信息的水位数据重塑为[B,4,16]的向量输入到多头注意力层中,与编码器中的多头注意力机制相同,利用多个头关注片段水位的不同特征;在每一个单独的头中,自注意力机制将水位数据用三个线性层提取出大小为[B,4,32]、[B,4,32]、[B,4,16]的Q、K、V矩阵特征向量,再用Q、K矩阵相乘、缩放、指数归一化输出得到该片段样本的水位数据的注意力系数矩阵[B,4,4],最后与V矩阵相乘输出[B,4,16]的水位数据特征向量;
第一个残差连接和正则化层,以上层输出的[B,4,16]特征向量和重塑的嵌入位置信息的向量[B,4,16]作为输入进行残差连接和正则化,输出尺寸为[B,4,16]的特征向量;
编码-解码注意力层,以上层输出的[B,4,16]特征向量输入到编码-解码注意力层;从水位数据中提取的特征作为输入,即Q、K特征矩阵,另一个特征来源于上层的输出,即V特征矩阵;利用带有预测信息的矩阵V到K、V矩阵中,查找相关信息并融合到当前特征中,输出尺寸为[B,4,16]的特征向量;
第二个残差连接和正则化层,以上层输出的[B,4,16]特征向量和输入到编码-解码注意力层的向量[B,4,16]作为输入进行残差连接和正则化,输出尺寸为[B,4,16]的特征向;
两个线性层,定义两个线性变换层的输入输出维度均为linear(16,16),将输入尺寸为[B,4,16]的特征向量保持输出尺寸为[B,4,16]的特征向量;
第三个残差连接和正则化层,以上层输出的[B,4,16]特征向量和输入到线性层的大小为[B,4,16]的向量作为输入进行残差连接和正则化,输出尺寸为[B,4,16]的特征向量;
全连接层计算公式(7)如下:
D=f2(ω2·elu(ω1x+b1)+b2) (7)
其中,D为输出,ω1、b1为第一个线性层的权重矩阵与偏置参数,ω2、b2为第二个线性层的权重矩阵与偏置参数;第一个线性层激活函数为elu,第二个线性层为f2,不使用激活函数。
1.根据权利要求5所述的基于变模态与延时特征Transformer模型的水库水位预测方法,其特征在于,所述预测输出层,具体为:将多头自注意解码器输出的[B,4,16]特征向量重塑为大小为[B,64]的特征向量,构建一个线性层,根据任务预测的天数N,定义线性变换层的输入输出维度linear(64,N*5),将输入尺寸为[B,64]的特征向量转换输出尺寸为[B,N*5]的预测向量,最后重塑为[B,N,5]的预测向量,其中N代表预测天数,5为预测的5个子模态,从而得到Transformer水位预测模型。
本发明与现有技术相比具有以下有益效果:
1、本发明使用VMD技术分解水位特征,将分解的子模态特征作为新的特征扩充入数据集中,并在模型中预测分解的水位子模态,最后将预测的子模态相加得到预测的水位值。使用此方法丰富了模型输入特征且提高了预测的准确度;
2、本发明采用了PSO粒子群算法搜寻对transformer深度学习模型起主要作用的参数,有效增强了模型的收敛,提高模型预测精度。
附图说明
图1是本发明一实施例中方法流程示意图;
图2是本发明一实施例中降雨量特征构造图
图3是本发明一实施例中降雨量滞后特征数据填充;
图4是本发明一实施例中VMD对水库水位特征分解;
图5是本发明一实施例中数据集重塑过程;
图6是本发明一实施例中Transformer水位预测流程图;
图7是本发明一实施例中自注意力编码器;
图8是本发明一实施例中自注意力机制;
图9是本发明一实施例中多头注意力机制;
图10是本发明一实施例中自注意力解码器;
图11是本发明一实施例中PSO粒子群寻优流程图;
图12是本发明一实施例中任务一训练和测试的损失曲线;
图13是本发明一实施例中任务二训练和测试的损失曲线;
图14是本发明一实施例中任务三训练和测试的损失曲线;
图15是本发明一实施例中任务一预测往后1天拟合曲线;
图16是本发明一实施例中任务二预测往后1-3天拟合曲线;
图17是本发明一实施例中任务三预测往后1-3天拟合曲线;
图18是本发明一实施例中任务三预测往后4-5天拟合曲线。
具体实施方式
下面结合附图及实施例对本发明做进一步说明。
请参照图1,本发明提供一种基于变模态与延时特征Transformer模型的水库水位预测方法,包括以下步骤:
步骤S1:获取水库水位、降雨量、泄洪量数据,并预处理;
步骤S2:基于预处理后的数据,构造降雨量滞后特征;
步骤S3:基于预处理后的数据,采用VMD分解水位特征,得到若干个水位子模态特征;
步骤S4:将预处理后的数据、降雨量滞后特征和N个水位子模态特征,进行数据封装,得到训练集;
步骤S5:构建Transformer水位预测模型,并基于PSO进行参数寻优,得到优化后的Transformer水位预测模型;
步骤S6:基于训练集训练优化后的Transformer水位预测模型,得到训练后的Transformer水位预测模型;
步骤S7:基于训练后的Transformer水位预测模型,进行水库水位预测。
在本实施了中,在Transformer水位预测模型中,位置编码赋予序列数据位置信息,使其拥有“时序性”;基于自注意力的编码器旨在挖掘每个时间点的重要性;基于自注意力的解码器融合原始数据与编码器挖掘的信息,最后将解码器融合的特征数据用线性层回归预测输出。此外,为使Transformer水位预测模型达到最优,使用PSO粒子群算法对模型中的重要超参数寻优,从而得到对水库水位预测更为准确数据信息。在水位调度上,加载训练好的模型调用,输入以当前时间点为基准的过去N天相关特征(降雨量、泄洪量、水库水位、降雨量延后、VMD分解水位)预测得到未来水位,若达到预警水位则结合目标水位进行水位出库调控,最终实现水库水位调度;
在本实施例中,具体实现步骤如下:
步骤1数据输入
获取水库雨水情数据,按照采集时间进行排序,以水库水位、泄洪量、降雨量特征作为模型训练数据,形成321行3列的数据集。
步骤2数据预处理
对数据序列中存在的缺失值,采用序列数据的前一个时间点进行补充。数据整理完成后对数据集中的变量数据依次进行最大最小值归一化预处理:
在公式(1)中,x为待归一化数据,xmin和xmax分别表示待归一化数据中的最大值和最小值,最终将321行3列的数据集的值映射到0和1之间。
步骤3构造降雨量滞后特征
3.1滞后特征构造
以上个步骤处理的数据为基础,保持水库水位、泄洪量序列特征不动,降雨量序列r0整体往后移动1~10个时间单位,尾部随之删除1~10个时间点的数据,保持整体序列长度一致。最后得到rn={r0,r1,…r10}序列,构成降雨量滞后特征集,如图2所示。
3.2降雨量滞后特征处理及选择
由于降雨量时间序列向右移动了1到10个单位,则降雨量滞后特征时间序列的前面空缺数据(见图2中灰色部分),用第一个数据进行填充,得到的数据集如图3所示。
其次,以降雨量滞后特征数据集为基础,计算水库水位与各个降雨量滞后特征序列之间的相关系数:
在式(2)中,相关系数用rxy表示,xi为水库水位数据,yi为泄洪量或降雨量数据,为对应特征的平均值。
计算出相关系数如下表,选择相关系数更高(相关系数越高其影响程度越大)的降雨量特征(即延后1天特征)整体延后。最终形成321行4列的数据集。
表1降雨量滞后特征与水库水位相关系数
步骤4VMD分解水位特征
如图4所示,以水库水位特征为基础,使用VMD技术对其进行模态分解,得到5个更为稳定的水位子模态特征(IMF0,IMF1,IMF2,IMF3,IMF4),形成320行5列的数据。为了对齐上个步骤特征数,删除上个步骤4个特征的最后一行数据,最终形成320行9列的数据集。此外,分解的多个模态不仅作为新特征扩充入数据集,也作为变模态预测的标签。
步骤5数据封装
如图5所示,数据集按时间先后顺序排列;使用7×9大小的时间窗口对特征(水位、泄洪量、降雨量,降雨量延后1天,IMF0,IMF1,IMF2,IMF3,IMF4)进行分割,每滑动一个时间步长得到一个新的样本特征,其大小为(H,F)的矩阵(H代表过去天数,默认为7;F代表特征数,默认9);最后利用python中的TensorDataset类封装,以7:3的比例将数据集划分为训练集和测试集,其中,数据集前70%部分作为训练集,后30%部分作为测试集;并将该数据重塑为3D数据作为模型输入的基本单元;模型输入数据的形式可表示为尺寸为(B,H,F)的特征向量。其中,B为batch size大小,即有多少个样本,默认为5;H为时间长度,默认为7;F为水库的特征维度,默认为9。
输入的数据需要执行3个任务,以当天水库水位、泄洪量、降雨量,降雨量延后1天,IMF0,IMF1,IMF2,IMF3,IMF4作为一个时间点的特征,通过过去H个时间点的数据完成:
任务一:对水库未来1天水位的预测。
任务二:对水库未来3天水位的预测。
任务三:对水库未来5天水位的预测。
步骤6构建Transformer水位预测模型
经过封装的数据输入到Transformer水位预测模型中进行预测水库水位的多个子模态。首先数据通过位置嵌入层得到每个时间点的位置信息,再经过多个自注意力编码器提取特征,随后利用嵌入位置信息的原始数据与自注意编码器提取的特征输入到多个自注意力解码器中进行信息融合,最后回归预测分解的多个子模态,图6为模型模块流程图。
步骤6.1位置嵌入
模型输入水位相关数据重塑为[B,H,16]的数据,用以后续提取丰富的特征信息,再通过位置嵌入层作用,使得输入数据带有“时序性”,具体为使用不同频率的sin和cos函数来进行位置信息嵌入,该过程可以表示为:
其中d为输出嵌入空间的维度,pos代表时间步的下标索引,i为原始数据映射出的顺序位置。
步骤6.2自注意力编码器
如图7,构建一个自注意力编码器,首先将带有位置信息的[B,H,16]大小的水位相关数据输入到多头注意力层中;多头注意力(图9)是由多个自注意力(图8)拼接形成多个头,一个单独的头就是一个自注意力;在每一个单独的头中,自注意力机制中将[B,H,16]大小的水位数据用三个线性层提取出大小为[B,H,32]、[B,H,32]、[B,H,16]的Q、K、V矩阵特征向量,再用Q、K矩阵相乘、缩放、指数归一化输出得到该片段水位特征数据的注意力系数矩阵[B,H,H],最后与V矩阵相乘输出[B,H,16]的特征向量,保留原始数据长度的同时也使得水位特征数据的不同时间点具有不同的重要性,其过程可用式(5)表示;利用一个头关注样本数据中的一部分,多个头就可关注到水位数据的不同特征变化,最后将多个头提取的数据特征联结输出一个[B,H,16]特征向量。其次,以上层输出的[B,H,16]特征向量和嵌入位置信息的向量[B,H,16]作为输入进行残差连接和正则化,输出尺寸为[B,H,16]的特征向量,其过程可用式(6)表示。再次用一个线性层提取特征并输出[B,H,16]的特征向量。最后以上层输出的[B,H,16]特征向量和输入到线性层的向量[B,H,16]作为输入进行残差连接和正则化,输出尺寸为[B,H,16]的特征向量,其过程用式(6)表示。
式(5)中,softmax为指数归一化函数,dk为K矩阵的维度。
LayerNorm(x+Sublayer(x)) (6)
式(6)中,LayerNorm为层级正则化函数,Sublayer为上一层的作用,如:多头注意力作用、层级正则化作用。
步骤6.3自注意力解码器
如图10,首先构建一个多头自注意力层,将带有位置信息的水位数据重塑为[B,4,16]的向量输入到多头注意力层中,与编码器中的多头注意力机制相同,利用多个头关注片段水位的不同特征;在每一个单独的头中,自注意力机制将水位数据用三个线性层提取出大小为[B,4,32]、[B,4,32]、[B,4,16]的Q、K、V矩阵特征向量,再用Q、K矩阵相乘、缩放、指数归一化输出得到该片段样本的水位数据的注意力系数矩阵[B,4,4],最后与V矩阵相乘输出[B,4,16]的水位数据特征向量,过程可用式4表示。构建第一个残差连接和正则化层,以上层输出的[B,4,16]特征向量和重塑的嵌入位置信息的向量[B,4,16]作为输入进行残差连接和正则化,输出尺寸为[B,4,16]的特征向量,过程可用式6表示。构建编码-解码注意力层,以上层输出的[B,4,16]特征向量输入到编码-解码注意力层;其作用原理与多头注意力机制相同,区别于在每一个单独的头中,编码器从水位数据中提取的特征作为输入,即Q、K特征矩阵,另一个特征来源于上层的输出,即V特征矩阵;利用带有预测信息的矩阵V到K、V矩阵中,查找相关信息并融合到当前特征中,输出尺寸为[B,4,16]的特征向量,过程可用式5表示。构建第二个残差连接和正则化层,以上层输出的[B,4,16]特征向量和输入到编码-解码注意力层的向量[B,4,16]作为输入进行残差连接和正则化,输出尺寸为[B,4,16]的特征向量。构建两个线性层,定义两个线性变换层的输入输出维度均为linear(16,16),将输入尺寸为[B,4,16]的特征向量保持输出尺寸为[B,4,16]的特征向量,其过程可以用式7表示。构建第三个残差连接和正则化层,以上层输出的[B,4,16]特征向量和输入到线性层的大小为[B,4,16]的向量作为输入进行残差连接和正则化,输出尺寸为[B,4,16]的特征向量。
全连接层计算公式(7)如下:
D=f2(ω2·elu(ω1x+b1)+b2) (7)
其中,D为输出,ω1、b1为第一个线性层的权重矩阵与偏置参数,ω2、b2为第二个线性层的权重矩阵与偏置参数;第一个线性层激活函数为elu,第二个线性层为f2,不使用激活函数。
步骤6.4预测输出
将多个自注意解码器输出的[B,4,16]特征向量重塑为大小为[B,64]的特征向量,构建一个线性层,根据任务预测的天数N,定义线性变换层的输入输出维度linear(64,N*5),将输入尺寸为[B,64]的特征向量转换输出尺寸为[B,N*5]的预测向量,最后重塑为[B,N,5]的预测向量(其中N代表预测天数,5为预测的5个子模态),从而得到Transformer水位预测模型。最终将模型预测的多个子模态相加得到水位预测真实值。
步骤7构建PSO算法寻优
构建粒子群优化算法(PSO)对Transformer中的重要参数进行寻优,其过程如下:
7.1设定寻优参数
V矩阵的嵌入维度,Q、K矩阵的嵌入维度,编码器数量,解码器数量,多头注意力数量,batch size,学习率。
7.2设定粒子位置与速度的取值范围
设定粒子位置的取值范围。V矩阵的嵌入维度:最低为4,一般最高不超过128;K、V矩阵的嵌入维度:最低为4,一般最高不超过128;编码器数量:最低为2,最高为5;解码器数量:最低为2,最高为5;多头注意力数量:最低为2,最高为10;batch size:最低为1,最高一般不超过512;学习率:最低为0.00001,最高为0.1。
7.3定义目标函数
MSE(均方误差)是预测模型最常用的评价指标之一,该值越接近于0,代表模型拟合效果越好。使用MSE作为粒子群的目标函数,搜索令MSE最小的参数组合。
7.4设置粒子群算法参数
粒子群算法最核心的两个步骤为粒子速度更新与粒子位置更新。
粒子速度更新函数为:
vi=ω×vi+c1×rand()×(pbesti-xi)+c2×rand()×(gbesti-xi) (8)
其中ω为惯性权重,c1为个体学习因子,c2为群体学习因子,rand()为[0,1)之间的随机数,pbesti为粒子的历史最优位置,gbesti为粒子的种群的历史最优位置,xi为粒子当前位置。
粒子位置更新函数为:
xi=xi+vi (9)
ω为非负数,较大时,全局寻优能力强,局部寻优能力强,较小时,全局寻优能力弱,局部寻优能力强。令其初始值较大,提升全局寻优能力,随着迭代次数的增加,ω逐渐减小,提高局部寻优能力。故令当前惯性权重为ωi,最大惯性权重为ωmax,最小惯性权重为ωmin,当前迭代次数为iter,最大迭代次数为itermax,则当前惯性权重可表示为:
学习因子c1、c2一般取2,确保c1×rand()与c2×rand()的期望值为1。
7.5初始化粒子位置与速度
在寻优参数的取值范围内,随机初始化参数。在能够判断出粒子的最优解在某一范围时,则在此范围初始化粒子,以缩短优化的收敛时间。
7.6计算每个粒子的目标函数值
将每个粒子输入模型,得到每个粒子在时间序列条件生成对抗模型中的测试集预测值,并计算出每个粒子对应的MSE。
7.7更新粒子的个体最优与种群最优位置
若当前粒子比该粒子历史最优位置的MSE更小,则更新该个体最优MSE;若当前种群最优个体比种群最优位置的MSE更小,则更新种群最优MSE。
7.8更新每个粒子的速度和位置
根据公式9更新每个粒子的速度,再使用更新后的速度更新粒子的位置。
vi=ω×vi+c1×rand()×(pbesti-xi)+c2×rand()×(gbesti-xi) (11)
xi=xi+vi (12)
通过使用30个粒子进行30次迭代后,得到一个MSE值最低的Transformer水位预测模型主要参数如下表所示。
表2PSO寻参结果
步骤8模型训练及预测
加载Transformer水位预测模型,设定寻优获得的参数到Transformer模型中,获取水位、泄洪量、降雨量,降雨量延后1天,IMF0,IMF1,IMF2,IMF3,IMF4数据,输入到模型中训练,分别得到水库未来1天、3天、5天的水位预测值。以均方误差(MSE)作为基于模型的优化目标,在迭代过程中MSE值越来越小,表示模型性能逐步提升。模型损失曲线反映了模型对数据集的拟合情况与迭代损失过程,图12、图13、图14分别为任务一、任务二、任务三对数据集训练迭代得到的结果;train_MSE与test_MSE随着迭代次数增加,损失越来越小(越接近0),说明模型预测未来水位贴近真实情况,准确度越高。
使用该模型对水库水位数据集分别进行未来1天、3天、5天的水库水位进行预测,由图12、图13、图14显示的评价指标与图15、图16、图17的拟合曲线可知,基于transformer深度学习模型预测较为准确,能够达到较为准确的结果。
在本实施例中,模型中采用的评价指标包括MAE(平均绝对误差)、MSE(均方误差)、MAPE(平均绝对百分比误差)三种,其定义如下:
在公式(13)至(15)中,yi和ti分别表示第i个样本的预测值和真实标签,n表示测试集总样本数。
使用MAE(平均绝对误差)、MSE(均方误差)、MAPE(平均绝对百分比误差),在水库水位相关数据集上评估任务一、二、三,其结果如表3所示:
表3模型指标评估结果
使用基于变模态及延时特征transformer模型进行未来水位预测,MAE、MSE是回归模型的两个常用评价指标。在任务一使用的数据中,MSE=0.1082该值越接近于0说明模型拟合的越好,MAE=0.2120该值说明进行n(n=1,2,3,...)次预测,模型产生的误差稳定在0.2120米左右。MAPE表示在经过n次预测后,预测值相对于真实标签平均偏移了0.1949%,表示模型有较好的预测效果。
步骤9模型调用
读取上一步骤中训练好的储存在服务区或本地的水库水位预测模型,输入以当前时间为基准过去7天的特征(降雨量、泄洪量、水库水位、降雨量延时、VMD分解水位),进行水库水位预测;将获取的水库预测值与水库水位需求对比,判断预测水位是否处于预警水位,是则进一步进行水库水位调度操作,否则结束。
优选的,在本实施例中,基于预测得到的水位,进行调度,具体如下:
加载存储在云端或本地的出库控制调度模型,作为后续进行水位调度使用。
根据得到水位预测,当预测水位达到预警值时,出库控制调度会得到该预警值,并根据未来天气预报、水库所需调控的目标水位对泄洪量进行计算,返回一个合适的水库泄洪量,再根据该泄洪量进行水位调控。其详细方法如下:
当前时间设为Ti(i=0,1,2,…,n),将Ti+Δt时刻的降雨量、Ti时刻的水库水位、Ti+Δt时刻目标水位输入出库控制调度模型。即可得到Ti时刻的泄洪量,实现水库出库控制调度任务。其中Δt(t=1,2,3,…,)为时间增量。其中Ti+Δi时刻的降雨量可通过天气预报获得,Ti时刻的水库水位可由传感器测得。Ti+Δt时刻需要调控到的水位通过对比水库水位管理标准获得,亦可人工设定,预测完成后返回能完成该调控任务的泄洪流量。出库控制调度模型详细输入输出如下表:
表4出库控制调度模型输入输出
根据返回的泄洪流量,调度水闸进行泄洪。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (2)
1.一种基于变模态与延时特征Transformer模型的水库水位预测方法,其特征在于,包括以下步骤:
步骤S1:获取水库水位、降雨量、泄洪量数据,并预处理;
步骤S2:基于预处理后的数据,构造降雨量滞后特征;
步骤S3:基于预处理后的数据,采用VMD分解水位特征,得到若干个水位子模态特征;
步骤S4:将预处理后的数据、降雨量滞后特征和N个水位子模态特征,进行数据封装,得到训练集;
步骤S5:构建Transformer水位预测模型,并基于PSO进行参数寻优,得到优化后的Transformer水位预测模型;
步骤S6:基于训练集训练优化后的Transformer水位预测模型,得到训练后的Transformer水位预测模型;
步骤S7:基于训练后的Transformer水位预测模型,进行水库水位预测;所述Transformer水位预测模型,包括位置嵌入层、多头自注意力编码器、多头自注意力解码器和预测输出层;
所述预处理,具体为:对数据序列中存在的缺失值,采用序列数据的前一个时间点进行补充;
数据整理完成后对数据集中的变量数据依次进行最大最小值归一化预处理:
式中,x为待归一化数据,xmin和xmax分别表示待归一化数据中的最大值和最小值;所述多头自注意力编码器,由多个自注意力拼接形成多个头,一个单独的头就是一个自注意力,具体为:
将带有位置信息的[B,H,16]大小的水位相关数据输入到多头注意力层中,在每一个单独的头中,自注意力机制中将[B,H,16]大小的水位数据用三个线性层提取出大小为[B,H,32]、[B,H,32]、[B,H,16]的Q、K、V矩阵特征向量,再用Q、K矩阵相乘、缩放、指数归一化输出得到该片段水位特征数据的注意力系数矩阵[B,H,H],最后与V矩阵相乘输出[B,H,16]的特征向量,保留原始数据长度的同时也使得水位特征数据的不同时间点具有不同的重要性,其过程用式(5)表示;
式(5)中,soft max为指数归一化函数,dk为K矩阵的维度;
利用一个头关注样本数据中的一部分,多个头就关注到水位数据的不同特征变化,最后将多个头提取的数据特征联结输出一个[B,H,16]特征向量;其次,以上层输出的[B,H,16]特征向量和嵌入位置信息的向量[B,H,16]作为输入进行残差连接和正则化,输出尺寸为[B,H,16]的特征向量,其过程用式(6)表示;
再用一个线性层提取特征并输出[B,H,16]的特征向量;最后以上层输出的[B,H,16]特征向量和输入到线性层的向量[B,H,16]作为输入进行残差连接和正则化,输出尺寸为[B,H,16]的特征向量,其过程用式(6)表示:
LayerNorm(x+Sublayer(x)) (6)
式(6)中,LayerNorm为层级正则化函数,Sublayer为上一层的作用;所述多头自注意力解码器,由多个自注意力拼接形成多个头,一个单独的头就是一个自注意力,具体为:
将带有位置信息的水位数据重塑为[B,4,16]的向量输入到多头注意力层中,与编码器中的多头注意力机制相同,利用多个头关注片段水位的不同特征;在每一个单独的头中,自注意力机制将水位数据用三个线性层提取出大小为[B,4,32]、[B,4,32]、[B,4,16]的Q、K、V矩阵特征向量,再用Q、K矩阵相乘、缩放、指数归一化输出得到该片段样本的水位数据的注意力系数矩阵[B,4,4],最后与V矩阵相乘输出[B,4,16]的水位数据特征向量;
第一个残差连接和正则化层,以上层输出的[B,4,16]特征向量和重塑的嵌入位置信息的向量[B,4,16]作为输入进行残差连接和正则化,输出尺寸为[B,4,16]的特征向量;
编码-解码注意力层,以上层输出的[B,4,16]特征向量输入到编码-解码注意力层;从水位数据中提取的特征作为输入,即Q、K特征矩阵,另一个特征来源于上层的输出,即V特征矩阵;利用带有预测信息的矩阵V到K、V矩阵中,查找相关信息并融合到当前特征中,输出尺寸为[B,4,16]的特征向量;
第二个残差连接和正则化层,以上层输出的[B,4,16]特征向量和输入到编码-解码注意力层的向量[B,4,16]作为输入进行残差连接和正则化,输出尺寸为[B,4,16]的特征向;
两个线性层,定义两个线性变换层的输入输出维度均为linear(16,16),将输入尺寸为[B,4,16]的特征向量保持输出尺寸为[B,4,16]的特征向量;
第三个残差连接和正则化层,以上层输出的[B,4,16]特征向量和输入到线性层的大小为[B,4,16]的向量作为输入进行残差连接和正则化,输出尺寸为[B,4,16]的特征向量;
全连接层计算公式(7)如下:
D=f2(ω2·elu(ω1x+b1)+b2) (7)
其中,D为输出,ω1、b1为第一个线性层的权重矩阵与偏置参数,ω2、b2为第二个线性层的权重矩阵与偏置参数;第一个线性层激活函数为elu,第二个线性层为f2,不使用激活函数;
所述预测输出层,具体为:将多头自注意解码器输出的[B,4,16]特征向量重塑为大小为[B,64]的特征向量,构建一个线性层,根据任务预测的天数N,定义线性变换层的输入输出维度linear(64,N*5),将输入尺寸为[B,64]的特征向量转换输出尺寸为[B,N*5]的预测向量,最后重塑为[B,N,5]的预测向量,其中N代表预测天数,5为预测的5个子模态,从而得到Transformer水位预测模型。
2.根据权利要求1所述的基于变模态与延时特征Transformer模型的水库水位预测方法,其特征在于,所述构造降雨量滞后特征,具体为:
基于预处理后的数据,保持水库水位、泄洪量序列特征不动,降雨量序列r0整体往后移动1~10个时间单位,尾部随之删除1~10个时间点的数据,保持整体序列长度一致;最后得到rn={r0,r1,…r10}序列,构成降雨量滞后特征集;
以降雨量滞后特征数据集为基础,计算水库水位与各个降雨量滞后特征序列之间的相关系数:
在中,相关系数用rxy表示,xi为水库水位数据,yi为泄洪量或降雨量数据,为对应特征的平均值,基于相关系数选择降雨量滞后特征;
所述数据封装,具体为:将数据集按时间先后顺序排列,使用预设大小的时间窗口对特征进行分割,每滑动一个时间步长得到一个新的样本特征,其大小为(H,F)的矩阵,其中H代表过去天数,F代表特征数;最后利用python中的TensorDataset类封装。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310181021.7A CN116562416B (zh) | 2023-03-01 | 2023-03-01 | 基于变模态与延时特征Transformer模型的水库水位预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310181021.7A CN116562416B (zh) | 2023-03-01 | 2023-03-01 | 基于变模态与延时特征Transformer模型的水库水位预测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116562416A CN116562416A (zh) | 2023-08-08 |
CN116562416B true CN116562416B (zh) | 2024-04-12 |
Family
ID=87486837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310181021.7A Active CN116562416B (zh) | 2023-03-01 | 2023-03-01 | 基于变模态与延时特征Transformer模型的水库水位预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116562416B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060023782A (ko) * | 2004-09-10 | 2006-03-15 | 이웅렬 | 인버터를 이용한 보일러 자동급수장치 및 그 제어방법 |
CN110110921A (zh) * | 2019-04-30 | 2019-08-09 | 武汉理工大学 | 一种考虑时滞效应的河流水位预测方法 |
CN115146700A (zh) * | 2022-05-21 | 2022-10-04 | 西北工业大学 | 一种基于Transformer序列到序列模型的径流预测方法 |
CN115394051A (zh) * | 2022-08-01 | 2022-11-25 | 国网河南省电力公司超高压公司 | 变电站内涝灾害监测预警*** |
CN115688579A (zh) * | 2022-11-01 | 2023-02-03 | 福建中锐网络股份有限公司 | 一种基于生成对抗网络的流域多点水位预测预警方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113393025A (zh) * | 2021-06-07 | 2021-09-14 | 浙江大学 | 一种基于Informer模型编码结构的非侵入式负荷分解方法 |
-
2023
- 2023-03-01 CN CN202310181021.7A patent/CN116562416B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060023782A (ko) * | 2004-09-10 | 2006-03-15 | 이웅렬 | 인버터를 이용한 보일러 자동급수장치 및 그 제어방법 |
CN110110921A (zh) * | 2019-04-30 | 2019-08-09 | 武汉理工大学 | 一种考虑时滞效应的河流水位预测方法 |
CN115146700A (zh) * | 2022-05-21 | 2022-10-04 | 西北工业大学 | 一种基于Transformer序列到序列模型的径流预测方法 |
CN115394051A (zh) * | 2022-08-01 | 2022-11-25 | 国网河南省电力公司超高压公司 | 变电站内涝灾害监测预警*** |
CN115688579A (zh) * | 2022-11-01 | 2023-02-03 | 福建中锐网络股份有限公司 | 一种基于生成对抗网络的流域多点水位预测预警方法 |
Non-Patent Citations (3)
Title |
---|
信息科技》.2023,全文. * |
冯鹏宇.基于深度学习的地下水位监测关键技术研究.《基础科学 * |
基于小波支持向量机的径流预测性能优化分析;周婷;金菊良;李荣波;纪昌明;李继清;;水力发电学报;20171025(10);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116562416A (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Marino et al. | Building energy load forecasting using deep neural networks | |
CN103544496A (zh) | 基于空间与时间信息融合的机器人场景识别方法 | |
CN109242169B (zh) | 一种面向电力大客户的短期负荷预测方法 | |
CN115688579A (zh) | 一种基于生成对抗网络的流域多点水位预测预警方法 | |
CN112766619B (zh) | 一种商品时序数据预测方法及*** | |
Kim et al. | Short-term electrical load forecasting with multidimensional feature extraction | |
CN115271186B (zh) | 一种基于延时因子和PSO RNN Attention模型的水库水位预测预警方法 | |
Yang et al. | A novel deep learning approach for short and medium-term electrical load forecasting based on pooling LSTM-CNN model | |
CN113449919B (zh) | 一种基于特征和趋势感知的用电量预测方法及*** | |
Qian et al. | Short-term wind speed prediction with a two-layer attention-based LSTM | |
CN109447333A (zh) | 一种基于不定长模糊信息粒的时间序列预测方法和装置 | |
JPWO2020075771A1 (ja) | 計画装置、計画方法、および計画プログラム | |
CN113705915A (zh) | 一种基于cnn-lstm-arima组合短期电力负荷预测方法 | |
Yao et al. | Wave height forecast method with multi-step training set extension LSTM neural network | |
CN115409258A (zh) | 一种混合深度学习短期辐照度预测方法 | |
CN115828768A (zh) | 一种数据驱动的配电网无功功率预测方法 | |
CN115081307A (zh) | 一种基于神经网络的气象数值模式同化方法及装置 | |
CN112036598A (zh) | 一种基于多信息耦合的充电桩使用信息预测方法 | |
CN116562416B (zh) | 基于变模态与延时特征Transformer模型的水库水位预测方法 | |
Vagale et al. | Time series forecasting of mobile robot motion sensors using LSTM networks. | |
CN113313830A (zh) | 基于多分支图卷积神经网络的编码点云特征提取方法 | |
Trifunov et al. | A data-driven approach to partitioning net ecosystem exchange using a deep state space model | |
Li | Energy consumption forecasting with deep learning | |
Patil et al. | Application of ARIMA and 2D-CNNs Using Recurrence Plots for Medium-Term Load Forecasting | |
CN112667394B (zh) | 一种计算机资源利用率优化方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |