基于图神经网络的水库水位预测方法与流程

文档序号:36936594发布日期:2024-02-02 22:04阅读:18来源:国知局
基于图神经网络的水库水位预测方法与流程

本发明属于水库、湖泊水位预测,其涉及时序预测,用于多变量时间序列中的长、短期依赖问题及不同变量因素之间的复杂影响问题。尤其涉及一种基于图神经网络的水库水位预测方法。


背景技术:

1、时间序列预测是根据过去的数据观察和分析来预测未来数据表现的任务,而水库水位预测通过挖掘过去的水位及其相关因素数据中的信息预测未来水位,其本质就是时序预测。在现实场景中,水库能保障人类的生产活动及生命安全[1],因此,准确预测水库水位波动具有重要的意义[2]。

2、随着人工智能、大数据技术的发展,基于数据驱动的水库水位预测成为主流。为了捕获大型水库水位变化规律,刘晓阳等[3]使用了人工神经网络、支持向量机和随机森林构建了以小时为尺度的坝前水位预测模型,为水库短期发电调度提供有效支撑。循环神经网络在提取特征时不仅考虑了当前的输入,还考虑了先前时间步的输出信息,由此引入了时间信息。如刘威等[4]使用基于lstm网络的模型,学习降雨中心的空间信息和时间依赖信息。gru[5]网络通过简化门结构减少了模型参数,从而对计算资源需求更少,提高训练效率的同时也更不容易出现过拟合的问题。lstnet[6]则融合了卷积和循环神经网络的框架,首先使用cnn提取原始数据的局部特征,其次再使用循环神经网络(lstm或者gru)捕获cnn提取的特征中的长期依赖关系,有效建立时间依赖关系的同时关注多变量中的相互影响信息。然而,在水库水位预测应用场景中,这些方法不能很好地应对多变量时间序列中对目标序列影响程度不一且复杂的特性,这在一定程度上会影响预报的准确性。

3、目前,水库水位预测常见方法是使用单一的循环神经网络[7]构建其时序上的依赖关系,循环神经网络通过学习序列数据中的时间信息和先后关系,捕捉序列中出现的周期性模式、趋势或其它特征。但受限于循环神经网络的结构,在多变量序列数据之间的相互影响的特征提取上稍显不足。因此,有学者[8]提出先对时间序列进行卷积处理提取多变量之间的相互影响关系,再使用循环神经网络建立时序依赖关系。使用卷积网络在一定程度上可以提取变量之间的相互作用关系,但卷积网络通常是通过局部感受野和权值共享来实现平移不变性,在某些任务中,平移不变性并不是一个理想的性质。例如,在水库水位预测应用场景中,水库容量富余时无需泄洪,降雨对水库水位影响较大,泄洪影响微小;在水库容量不足时,降雨提高了水库水位,泄洪需要同时作用减小大坝压力,因此泄洪量同降雨都有较大的影响。

4、[1]黎华东.防洪水库在山区城市防洪的应用研究[j].水利科技与经

5、济,2023,29(02):121-124.

6、[2]wu h,chen j,xu j,et al.effects of dam construction onbiodiversity:a review[j].journal of cleaner production,2019,221:480-489.

7、[3]刘晓阳,姚华明,张海荣等.基于机器学习的三峡水库小时尺度坝前水位预测[j].人民长

8、江,2023,54(02):147-151.doi:10.16232/j.cnki.1001-4179.2023.02.022.

9、[4]刘威,尹飞.一种基于lstm模型的水库水位预测方法[j].无线电工程,2022,52(01):83-87.

10、[5]park k,seong y,jung y,et al.development of water level predictionimprovement method using multivariate time series data by gru model[j].water,2023,15(3):587.

11、[6]lai g,chang w c,yang y,et al.modeling long-and short-term temporalpatterns with deep neural networks[c]//the 41st international acm sigirconference on research&development in information retrieval.2018:95-104.

12、[7]jung s,cho h,kim j,et al.prediction of water level in a tidalriver using a deep-learning based lstm model[j].journal of korea waterresources association,2018,51(12):1207-1216.

13、[8]pan m,zhou h,cao j,et al.water level prediction model based on gruand cnn[j].ieee access,2020,8:60090-60100.。


技术实现思路

1、图卷积网络(graph convolutional network,gcn)可以将数据表示为图的节点,并考虑节点之间的边关系和相互作用,使得gcn能够更好地捕捉时序数据中的依赖关系和相互影响。在此基础上,本发明提出了一种联合lstm和gcn的水库水位预测模型。通过lstm提取包含多变量序列的长期、短期时序依赖的潜在特征,在此基础上,引入图结构学习模块,将每个变量视作一个节点来学习不同变量特征之间的相互作用关系。最后,通过gcn将图结构的拓扑信息融入潜在特征中,并进行最终的水位预测。

2、本发明具体采用以下技术方案:

3、一种基于图神经网络的水库水位预测方法;采用联合lstm和gcn的水库水位预测模型;通过lstm提取包含多变量序列的长期、短期时序依赖的潜在特征,在此基础上,引入图结构学习模块,将每个变量视作一个节点学习不同变量特征之间的相互作用关系;最后,通过gcn将图结构的拓扑信息融入潜在特征中,并进行最终的水位预测。

4、进一步地,通过记录水库水位、降雨量、泄洪量3个变量的时间序列数据,定义为其中i={1,2,3},代表不同特征序列,n为记录的时间天数;令历史观测天数为d,将问题定义为给定历史观测数据预测水库未来1天的水位yd+1。

5、进一步地,首先对数据进行预处理,再通过滑动窗口法对数据切分形成数据集,划分训练集和测试集;数据处理流程步骤如下:

6、步骤1:数据缺失处理;检查水库水位、降雨量、泄洪量数据序列中的缺失数据,若缺失,使用前一个时间点的数据对缺失点进行填充;

7、步骤2:数据归一化;对数据进行归一化处理,使其量纲统一,归一化方法如下所示:

8、

9、其中,为data中的原始数据值,为原始数据中第i列的最小值,为原始数据中第i列的最大值,x'为归一化后的数据;

10、步骤3:模型输入、输出处理;对归一化后的数据data处理成模型输入输出的需求大小,根据问题定义,使用窗口滑动的方法,选取长度为d的窗口作为采样片段,从3个特征序列的起始时间点开始,每次移动一个时间单位,直至到数据序列末尾;形成的数据表示为:

11、

12、youtput=(yd+1 … yn)

13、其中,xinput为模型输入的历史观测数据集合,youtput为模型标签集,序列y为所需要预测的水库水位数据,用于与模型预测输出值比较。

14、进一步地,在水位预测中,使用lstm作为时序编码器对输入数据编排,嵌入时序特征。

15、进一步地,引入图结构学习模块学习变量之间的深层关系;在时序编码器模块中提取出嵌入特征e后将各变量的特征展平形成1维的张量,随后使用多层感知机与非线性函数学习特征内的作用关系,用于表示节点间的联系;其次将张量与其自身的转置相乘形成矩阵再正则化;最后用top-k函数排序机制选择节点的前k个最近邻,用以生成多元序列作用关系图,即邻接矩阵a,为图卷积网络深入挖掘不同因素之间的深层作用关系提供保障。

16、进一步地,使用图卷积网络充当关系编码器挖掘节点间的深层作用;执行过程如下:

17、

18、

19、其中,hl为各个节点的特征集合,初始输入h1为嵌入特征e;a为图结构的邻接矩阵,由图结构模块学习得到;表示矩阵a的度矩阵,其对角线上的元素表示每个节点的度数(即与该节点相连的边的数量),第i个度数由对应i行的j列值求和得出;wl为第l层的权重参数,σ为非线性激活函数。

20、进一步地,获得关系编码器挖掘的深层特征hl后,将每个样本中的多个变量特征表示进行拼接,并将其表示为最后通过mlp输出预测水位,其过程如下所示:

21、

22、其中,ω为多层感知机的权重参数,b为偏置向量,为预测水位,用于与真实水库水位值yd+1比较预测精度。

23、与现有技术相比,本发明及其优选方案提出一种lstm-gcn的水库水位预测模型,其利用图结构显式建模多变量间的关联关系,并借助gcn进行表征学习和预测。引入一种图结构学习模块,使水库水位及相关变量之间的关联关系能被模型自动捕捉,而非人为进行设定。

24、此外,在真实水库数据上展开广泛实验,通过与多个模型算法对比,本发明算法具有更好的预测表现和鲁棒性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1