APP下载

基于SSA-LSTM 模型的黄河水位预测研究

2023-09-12马小越张宇航崔云烨

人民黄河 2023年9期
关键词:麻雀水位调度

王 军,马小越,张宇航,崔云烨

(1.郑州航空工业管理学院,河南郑州 450015; 2.河南日报社,河南郑州 450014)

近年来,黄河流域生态环境保护和治理取得了一些进展,但仍存在不足,流域环境问题给周边乃至更广泛的生态系统带来了不良影响[1]。 为了推动黄河流域生态保护和高质量发展,采用智能手段监测水位并完善防汛预警综合体系,可以提前预测洪水的发生,并采取相应的防范手段,保护人民的生命和财产安全,减轻洪灾对生态环境的破坏,为黄河流域可持续发展提供有力支持[2]。 在黄河水资源调度方面,传统方法通常基于统计模型或经验规则,但在复杂的水文变化和不确定性情况下,传统方法效果往往不佳。 本文提出一种SSA-LSTM 模型来预测黄河水位,从而为水资源调度提供新的水位预测方法。 该模型采用SSA 自动进行参数选优,可解决LSTM 模型手动选择参数的难题,大幅缩短模型的训练时间,找到最优的网络参数,从而充分发挥模型的最佳性能。

1 理论基础与模型构建

水资源调度是在给定的时间、区域内,运用水文学、水资源经济学、水环境学等学科理论知识[3],按照一定的规划和调度方案,合理分配、利用、保护和管理水资源的过程。 水资源调度模型是根据数据、算法和设计要求,对水资源调度进行建模、仿真和优化的模型。 基于水资源调度模型,根据不同地区的水文数据预测未来一段时间内的水资源情况,并进行优化调度。为了准确预测水位,本文采用MLP、LSTM 和SSALSTM 三种模型进行水位预测实验。 这些模型的选择是基于其在时间序列数据处理方面的优势和广泛应用。 通过比较不同模型的预测效果,来评估它们在调水工程中的水位预测性能。

1.1 麻雀搜索算法

麻雀搜索算法(Sparrow Search Algorithm,SSA)是一种群智能优化算法。 麻雀群体觅食时有一部分麻雀作为发现者,为整个麻雀群体提供觅食区域和方向,其余麻雀作为跟随者依赖发现者获取食物。 位置是麻雀的唯一属性,在觅食过程中发现者与跟随者身份会进行调换,但两者数量之和的比例不变。 遇到危险时,群体边缘麻雀会发出预警,预警值大于安全值时,麻雀群体会移动至安全区域[4]。 用SSA 算法进行优化时,在K+1 次迭代中发现者的位置更新可以用如下公式表示:

当R2<ST时,觅食环境中没有捕食者,发现者可以广泛进行觅食活动,麻雀位置将根据当前解以指数衰减方式进行更新,即通过乘以来降低解的值;当R2≥ST时,部分麻雀发现捕食者并发出预警,麻雀群体飞往安全区域,麻雀位置将根据当前解和Q、L进行更新。

R2≥ST时飞往群体中心的跟随者位置表达式为

式中:Xw为最劣位置;为当前发现者最优位置;A为元素随机赋值为1 或-1 的1×d型的矩阵,且满足关系A+=AT(A AT)-1;n为跟随者数量。

1.2 MLP 模型框架

MLP 模型是一种前馈神经网络模型,由输入层、多个隐藏层和输出层组成,结构见图1。 隐藏层通过全连接层对输入数据进行非线性变换,提取更高级别的特征;每个隐藏层的输出通过激活函数进行非线性映射;最后一个全连接层的输出是模型的预测结果。模型通过反向传播算法计算梯度,再通过梯度下降法更新每个输入变量的权重和偏置,从而使预测误差最小化、提高预测精度[5]。 在预测过程中,使用训练好的模型和新的输入数据进行预测,从而获得模型的输出结果。

图1 MLP 结构

1.3 LSTM 模型框架

LSTM 模型具有与传统循环神经网络(Recurrent Neural Network,RNN)相似的链形式结构[6]。 RNN 的自连接隐藏层结构导致其需要根据前一时刻的隐藏层状态更新当前时刻的隐藏层状态,从而产生依赖关系。然而,当时间序列较长时,RNN 通过多次连乘计算梯度会使得梯度呈指数增长或衰减,在训练过程中可能出现梯度消失或梯度爆炸。 LSTM 的提出在一定程度上解决了RNN 无法记住早期时间序列信息的问题[7-8]。 LSTM 的隐藏层仍然采用自连接形式,但LSTM 通过引入3 种门结构(“遗忘门”“输入门”和“输出门”)来控制细胞状态信息和隐藏层状态信息的传输与更新,从而在处理时间序列数据时解决了梯度消失或梯度爆炸的问题。 LSTM 隐藏层结构见图2,图中:Xt为输入信号;ht-1为t-1 时刻的输出信号;ht为输出值;为“输入门”输出信号,也表示新记忆细胞;Ct-1为t-1 时刻的细胞状态信息;Ct为当前层最终记忆细胞信息;ft、it、ot分别为“遗忘门”“输入门”和“输出门”结构对应的控制系数;σ为sigmoid 激活函数。

图2 LSTM 隐藏层结构

“遗忘门”决定是否将前一时刻的细胞状态信息传递到当前时刻,如图2 所示,依据ft来决定t-1 时刻的细胞状态信息,ft接近0 时完全遗忘,ft接近1 时完全保留。 “输入门”可以通过sigmoid 激活函数控制需要将多少新的信息添加到细胞状态中。 “输出门”决定当前单元状态对隐藏层状态和输出的影响,通过sigmoid 激活函数确定输出内容。 LSTM 的表达式如下:

式中:Wf、Wi、Wc、WO均为权重矩阵,bf、bi、bc、bO均为偏置[9],tanh 为双曲正切激活函数。

1.4 模型构建

黄河水位是随时间不断变化的,其受各种因素的影响,具有相当高的不确定性。 为了更好地预测黄河水位以便进行水资源调度,以LSTM 模型为基础模型,结合SSA 优化算法构成SSA-LSTM 模型。 超参数(神经元个数、迭代次数、输入批量和学习率等)的选择对LSTM 模型的拟合能力至关重要。 本文的研究目标是使用多因素输入和单因素输出的方式进行水位预测。传统的LSTM 模型需要人工调整参数,效率和准确性较低。 SSA 算法局部搜索能力极强,收敛速度较快。使用SSA 算法对模型进行参数调优,可以自动选择最佳的超参数组合,节省LSTM 模型调整超参数和训练的时间,从而提高模型性能。 SSA-LSTM 模型构建流程见图3。

图3 SSA-LSTM 模型构建流程

2 模型训练与评估

2.1 数据来源和处理

2.1.1数据来源

水文数据包括水位、降水量、水面蒸发量、径流量等,这些数据会有一部分向社会公开,例如全国水雨情网站[10]。 本文所使用的数据主要来自公开数据源,以确保数据的可访问性和透明性。

水资源调度过程受温度、湿度、风向、风力、降水量和水位等各种因素的影响[11]。 本文通过多因素预测黄河水位变化。 黄河支流众多,水位情况参差不齐,为了保证实验的真实性和可行性,选取东营垦利区黄河西河口水文站作为参考站。 通过中国气象局网站获取温度、湿度、风向、风力和降水量等数据,通过查全国水雨情信息网站获取水位数据。 为了保证实验的时效性和准确性,选取2022 年3 月19 日0 时至2023 年3 月8日0 时监测数据作为原始数据。

2.1.2数据处理

1)归一化处理。 归一化常被称为标准化。 为消除各变量之间量纲不同的影响,同时加快模型训练速度,往往需要对数据进行标准化处理[12]。 根据本文数据特征,采用最大最小标准化进行归一化处理,使模型的输入数据处于[0,1]之间,公式为

式中:x'为归一化后的数据,x为原始数据,xmax为原始数据中最大值,xmin为原始数据中最小值。

2)样本划分。 为了评估模型性能并验证其预测效果,选取样本数据的75%作为训练集用于模型训练,剩下的25%为预测集用于验证模型的预测效果。

2.2 模型训练

采用python 代码实现对MLP、LSTM、SSA-LSTM模型的训练。

2.2.1MLP 模型

首先设置最大迭代次数为30、学习率为0.01,使用训练数据进行拟合。 再利用训练好的模型对测试数据进行预测,并对预测结果进行反归一化处理。 上述操作完成后,得出MLP 模型的实验结果,见图4。

图4 MLP 模型的水位观测值与预测值

2.2.2LSTM 模型

首先使用RNN 构建一个具有一个隐藏层的循环神经网络,并返回输出序列;再使用tf.nn.rnn_cell.LSTMCell 创建LSTM 单元,并将多个LSTM 单元堆叠起来;最后通过全连接层计算输出序列。 LSTM 设置参数如下:学习率为0.01,迭代次数为10,第一隐藏层神经元个数为50,第二隐藏层神经元个数为50,批大小为16。 完成上述设定后,输入数据得出LSTM 模型的实验结果,见图5。

图5 LSTM 模型的水位观测值与预测值

2.2.3SSA-LSTM 模型

SSA-LSTM 模型是在LSTM 模型中加入了SSA 算法。 为了更加精准地预测水位,采用355 d 内固定时间点的数据,按3 ∶1 的比例将样本数据划分为训练集和测试集。 模型输入为6 个因素(温度、湿度、风向、风力、降水量、水位),输出为单个因素(水位)。

优化模型训练参数设置如下:麻雀种群数量为10,发现者比例为20%,预警值为0.8,学习率范围为[0.001,0.010],迭代次数范围为[10,100],隐藏层神经元个数为[1,100],训练轮数为20。 训练过程中,利用SSA 优化算法不断调整LSTM 中2 个隐藏层神经元个数、迭代次数和学习率,当适应度连续多轮没有变化时训练停止。 确定优化参数见图6,输入数据得出SSA-LSTM 模型的实验结果见图7。 2 个隐藏层神经元个数分别为97、69,迭代次数为98,学习率为0.006,适应度为2.14,模型达到最优效果。

图6 SSA-LSTM 模型优化参数

图7 SSA-LSTM 模型的水位观测值与预测值

2.3 模型评估

为了更好地描述模型输出的准确性与泛化性,采用EMAP(平均绝对百分比误差)、ERMS(均方根误差)、EMA(平均绝对误差)和R2(拟合优度)对模型进行评估[13],计算公式如下:

式中:N为样本总数,Pk为第k个样本的预测值,Ok为第k个样本的观测值,为所有样本观测值的平均值。

将2.2 节所得MLP、LSTM、SSA-LSTM 模型实验数据代入式(11)~式(14)中,可得到各模型的评价指标,见表1。

表1 MLP、LSTM、SSA-LSTM 模型的评价指标结果

一般认为R2越大、ERMS和EMAP越小,模型性能越好。 与MLP、LSTM 模型相比,SSA-LSTM 模型的EMAP分别降低了78.8%、47.9%,拟合优度分别提升了12.3%、1.6%。 SA-LSTM 模型利用SSA 算法实现了参数优化,其在可行范围内发挥出最优的预测性能。 由此说明,SSA-LSTM 模型对非线性时间序列的预测具有良好效果。

3 结论

水资源调度受多种因素影响,本文将东营垦利区黄河西河口水文站的温度、湿度、风向、风力、降水量和水位数据输入MLP、LSTM、SSA-LSTM 模型中,同时将水位作为输出因素。 通过对模型进行评估,得出如下结论:MLP、LSTM、SSA-LSTM 模型都能展现出水位与时间的关系,但以EMA、ERMS、EMAP、R2作为模型性能的评价指标时,SSA-LSTM 模型的性能明显优于MLP、LSTM 模型的,能够较准确地预测水位,并且在训练期集中产生较小的误差。

黄河流域水文条件复杂,各地区的地理位置不同,其水资源管控措施也有很大不同。 为了应对这种情况,本文提出了SSA-LSTM 模型,可以根据黄河流域不同地区的地理特点,利用SSA-LSTM 模型进行因地制宜的水资源管理。 通过上下游政府之间信息共享、技术交流和政策协商等,建立有效的沟通机制和合作平台,各相关方可以共同制定保护和管理黄河水资源的措施,促进跨区域水资源的均衡分配和合理利用。

猜你喜欢

麻雀水位调度
《调度集中系统(CTC)/列车调度指挥系统(TDCS)维护手册》正式出版
拯救受伤的小麻雀
一种基于负载均衡的Kubernetes调度改进算法
虚拟机实时迁移调度算法
1958年的麻雀
麻雀
紧盯着窗外的麻雀
基于MFAC-PID的核电站蒸汽发生器水位控制
基于PLC的水位控制系统的设计与研究
SVC的RTP封装及其在NS2包调度中的应用研究