2. 清华大学 智能产业研究院, 北京 100084;
3. 清华大学 水利水电工程系, 北京 100084;
4. 宁夏大学 西北土地退化与生态恢复省部共建国家重点实验室培育基地, 银川 750021
2. Institute for AI Industry Research, Tsinghua University, Beijing 100084, China;
3. Department of Hydraulic Engineering, Tsinghua University, Beijing 100084, China;
4. Breeding Base for State Key Lab of Land Degradation and Ecological Restoration in Northwest China, Ningxia University, Yinchuan 750021, China
对于水渠等水利工程,精准预测流经渠道中断面及取水口的流量,是一个基础问题[1-3]。若预测值偏小而实际供水大,在浪费水资源的同时还可能损毁农田和渠道;若预测值偏大而实际供水少,则无法满足灌溉需水量,可能造成作物减产。对渠道中各断面和取水口的流量进行精确预测,是实现水资源实时精量配送的前提[4-5],对提高农田灌溉水资源效率,节约水资源和节省成本,具有突出的现实意义[6-7]。
渠道水流通常被建模为一维流动[1-2]。用于求解一维非恒定流特征的Saint-Venant方程组[8]是非线性偏微分方程组,通常不能获得解析解,需要通过有限差分法等数值计算的方法来求得近似解[9]。然而,对于数值计算,其消耗的时间成本与时间步长和空间步长划分精细程度成指数关系,求解准确性的提升往往伴随着求解耗时的增加,其时滞无法满足水资源的实时精准预测与调节的需求;当追求效率时,就要加大时空步长,牺牲求解的精确性。此外,Saint-Venant方程组是依据时间顺序递进求解的,每次求解都依赖前一步的计算结果,因此只能根据一组输入求解出一组水流量预测值。当有大量不同工况需要预测时,求解过程十分繁琐,时间成本急剧上升。
在灌区实际运行中,渠道闸门根据用水需求调控,以满足供水流量需求。通常依赖人工经验调节[1-3],其指令-动作-传导-反馈过程较长,当同时对多组闸门动作时,人工经验及传统的数值计算方法就显得力不从心。
针对明渠水流控制系统的复杂性,文[4]提出“实时感知、水信互联、过程跟踪、智能处理”水联网理论,通过对水资源系统的全局风险控制提高水资源调度的鲁棒性。在灌区配水调度中,通过实施跟踪、模拟预测,实现精确调度,为水资源的全局优化配置和高效利用提供支持。
针对灌区水联网水资源链路中的明渠测流环节,其输入为渠段的总进水流量和各个闸门的开度,输出为流经各个闸门的流量。这样的有确定输入与输出值的预测问题,属于神经网络所能够解决的两大基本问题之一的“回归”问题[10],且相关的人工智能技术在过去的数十年中得到了较大发展。因此,本文尝试使用神经网络,以端到端的预测方式完成水流量的预测任务。
对于神经网络而言,只需要花费一次训练神经网络的时间,在测试时便可以较快速地给出多组结果,传统数值计算方法时间成本过高的问题便可以得到解决。虽然神经网络经过训练后得到的结果与求解Saint-Venant方程组得到的结果不完全一致,但其精度如果能够满足水力学及实际生产生活的要求,则准确性与实用性可以达到平衡,成为一个可行的方法。
本文提出了一种利用长短期记忆(long short-term memory, LSTM)神经网络来对流经渠道中各闸门的流量进行端到端预测的方法,发掘了渠道中隐含的序列特征,构建LSTM神经网络对渠道和闸门进行建模,同时引入渠道与各个闸门的静态特征,与其他动态特征进行结合,使得预测更加准确。以宁夏回族自治区西干渠为实例的实验结果显示,该方法的准确率和效率相比传统数值计算方法有较大提升。
1 背景知识 1.1 Saint-Venant方程组数值求解方法Saint-Venant方程组是非线性偏微分方程组,由连续方程和动量方程2部分组成[2]:
$ \frac{\partial Q}{\partial s}+B \frac{\partial H}{\partial t}=q_{\mathrm{L}}, $ | (1) |
$ \frac{\partial Q^{2} / A}{\partial s}+\frac{\partial Q}{\partial t}+g A \frac{\partial H}{\partial s}=g A\left(J_{\mathrm{i}}-J_{\mathrm{f}}\right). $ | (2) |
其中: Q为断面流量,H为断面水深,A为断面过流面积,B为水面宽度,qL为侧向汇入的单宽流量,s为沿水流方向的流程坐标,t为时间,g为重力加速度,Ji为渠道底坡,Jf为渠道摩阻坡度。
目前,对于Saint-Venant方程组的求解,多采用数值解法。陈大宏等[11]使用二阶近似(double order approximation, DORA)算法求解Saint-Venant方程组;王泗远等[12]总结了可用于求解Saint-Venant方程组的数值计算方法,如特征线法、直接差分法、高阶浅水理论的数值计算方法等,以及各种构造差分方程的方法与格式;伍宁[13]和陈滋月[14]采用Preissmann差分格式,利用有限差分法来对河段流量进行建模求解。对于求解过程中涉及到的稀疏矩阵运算,王浩骅等[15]提出了追赶法、循环递减算法、Gauss消元法和划分算法这4种优化算法,来加快Saint-Venant方程组的求解速度。
Saint-Venant方程组数值计算的主要瓶颈是多组数据计算不能并行化。即使在文[15]中使用Gauss消元法和划分算法进行优化,在时间步长为5 min、计算断面数为6 080、用时不到6 min就可以在仿真渠池得到一组结果的情形下,若有多组情景需要求解时,其耗时也会随组数增加而线性增加。而在实际问题中,工况通常复杂,数值计算需要覆盖的情景更多,Saint-Venant方程组数值求解方法的效率就成为制约因素。
1.2 利用神经网络预测流量的方法目前,已有一些研究利用深度学习计算流量。Assem等[16]构建了基于深度卷积神经网络的预测模型,预测了爱尔兰香农河的水流量和水位;胡磊[17]使用了多种神经网络和深度学习方法对火电厂超临界机组给水流量进行了短期与长期预测;刘晓锋等[18]将极限学习机(extreme learning machine, ELM)和LSTM神经网络用于3座水电站发电量与水流量的区间预测;牟意红[19]和佟强[20]使用了反向传播(back propagation, BP)神经网络完成了给定水渠水位,预测水渠流量的任务,前者还使用了遗传算法来优化神经网络初始权值。
然而,对于人工建造的渠道,其性质与天然河道差别较大,用于天然河道的模型可能不适用于本问题。文[19]和[20]对人工水渠都做了简单概化,主要考虑渠道数个断面的水位与流量,即使是多渠段情景下每个渠段通常也概化为单个取水口分流,因此采用的模型结构通常较为简单,只考虑了单个隐藏层的BP神经网络,隐藏层节点个数也不多,尚未深入到数十甚至上百闸门联合运行工况下的水流预测问题。进一步地,相关的研究没有重视渠道中闸门之间存在的上下游序列关系和渠道与闸门的静态特征(即恒定不变的特征),而这些序列关系与静态特征对于本文的水流预测任务也是至关重要的——它们影响着流经每一个闸门的流量和闸门与闸门之间的水力联系。深入考虑了这些关系与特征,也是本文方法的一大亮点。
2 基于LSTM神经网络的明渠水流预测模型 2.1 问题假设假设如下:
1) 若渠道中存在有多孔闸门,本文将渠道中的多孔闸门概化为单孔闸门,将多孔闸门的宽度均分作为过流宽度,分别对其流量进行独立的预测。与传统数值求解方法假设相同。
2) 本文认为水渠中由节制闸分隔开的每个渠段都是独立的系统,可分别进行研究。这是因为干渠上的节制闸能够将上下游渠段的水流状态相对隔开,同时可对上下游渠段之间的影响进行转换、过滤。仅使用单独一个渠段的数据就可以完成针对该渠段的水流预测任务,且不会将误差累积到后面的渠段形成累计误差。并且,相比传统数值求解方法将整个渠道看做一个整体并从头到尾依次进行求解,将每个渠段分别单独用一个神经网络进行建模有利于充分发挥神经网络的优势,根据不同的渠段特点学习出不同的、更适应于该渠段的超参数,使得预测更加准确。
2.2 模型结构基于LSTM神经网络的明渠流量预测模型(记作F-LSTM)如图 1所示。
![]() |
图 1 F-LSTM模型结构示意图 |
图 1中,方块代表原始值,圆圈代表处理后的值或向量,虚线代表未经处理或处理后值未发生改变,实线代表处理后值发生了变化。经过特征离散化生成的离散化特征索引进一步通过嵌入层(embedding layer)产生静态特征的嵌入向量,静态特征的嵌入向量和归一化值与闸门开度、总进水流量共同作为LSTM神经网络的输入。
本文选择LSTM[21]神经网络作为模型的主要部分,对流经渠道中各闸门的流量进行预测。LSTM神经网络中有遗忘门、输入门、输出门3种门机制,通过门机制的组合使用,能够对信息进行筛选与整合,实现较长期序列信息记忆功能。在本文中,各个闸门具有上下游的顺序关系,可概化为序列关系,因此可以使用能够建模、预测序列关系的模型完成预测任务。而LSTM神经网络恰好具备这些功能。
数据经过LSTM神经网络后,产生的输出进一步进行层归一化(layer normalization)处理[22],目的是将LSTM网络输出的数据分布调整到激活函数的非饱和区,从而能够使神经网络对于输入与输出的变化更加敏感,加速模型的训练与收敛。
进一步,输出通过线性层,线性层后的激活函数选用Sigmoid函数,然后再考虑各个闸门的类型及其设计流量,对输出进一步放缩,作为最终的流量预测值。对于每一个闸门,放缩映射值都是可以调节的,对于每一种渠道实例,都可以根据渠道中闸门的设计流量或实际使用中的具体情况来自定义任意的映射值。
2.3 静态特征的引入及处理本文的神经网络输入不仅包括实时变化的闸门开度、渠段总进水流量2个动态特征,也包括影响流经闸门流量的恒定静态特征。例如,对于开度值相同的2个闸门,若闸门底宽、断面渠深不同,流经它们的流量也会不同。因此,引入静态特征对每个闸门进行更加具体和精细的建模十分必要。
本文考虑的静态特征如表 1所示。其中,闸前渠底高程、闸底板高程和闸后渠底高程为连续特征,其余的为离散特征。
类别 | 特征 |
尺寸特征 | 闸前渠底高程、闸底板高程、闸后渠底高程、闸门过流系数、闸门过流总宽、最大开度 |
闸前渠底高程 | 渠深、底宽、比降、糙率、左边坡、左弧高、左弧半径、左弧圆心角、右边坡、右弧高、右弧半径、右弧圆心角 |
闸后渠底高程 | 渠深、底宽、比降、糙率、左边坡、左弧高、左弧半径、左弧圆心角、右边坡、右弧高、右弧半径、右弧圆心角 |
在静态特征中,不同特征值差距很大,有的甚至是数量级之差。为了将所有的特征变换到相似的尺度上,本文采用特征离散化与特征归一化2种方式。对于特征离散化,本文针对各个特征的取值分布,人工划分了一些区间范围,将各个特征值映射到对应的区间范围中,形成离散化特征索引;对于特征归一化,本文使用Min-Max归一化方法,将各个特征的值整体放缩至[0, 1]范围内。对于数据序列x1, x2, …, xn,Min-Max归一化的公式如下:
$ y_{i}=\frac{x_{i}-\mathop {\min }\limits_{1 \leqslant j \leqslant n} x_{j}}{\mathop {\max }\limits_{1 \leqslant j \leqslant n } x_j- \mathop {\min }\limits_{1 \leqslant j \leqslant n } x_{j}}. $ | (3) |
2种方式各有优势: 特征离散化能够增强模型的鲁棒性与预测陌生值的泛化能力,解决潜在的过拟合或欠拟合问题[23];特征归一化能保留模型对训练集中具体值的预测精确性。综合两种方式的优点,本文分别使用了2种方式进行特征处理,将处理后的结果进行综合,作为模型的输入。
3 实验设定与结果 3.1 数据集本文所使用的数据集通过SOBEK水文水环境软件生成[24-25]。
本文以宁夏回族自治区西干渠灌区为研究实例。西干渠全长112.52 km,设计流量71 m3/s,设有9座节制闸,将水渠被分为10个渠段,每一个渠段拥有数量不等的各类型闸门,每一个闸门可能拥有多个闸孔,各渠段拥有的闸孔数如表 2所示。
渠段编号 | 进水闸 | 直开口 | 节制闸 | 退水闸 | 总数 |
1 | 8 | 7 | 5 | 0 | 20 |
2 | 0 | 28 | 5 | 6 | 39 |
3 | 0 | 9 | 4 | 0 | 13 |
4 | 0 | 12 | 3 | 2 | 17 |
5 | 0 | 8 | 3 | 2 | 13 |
6 | 0 | 23 | 3 | 4 | 30 |
7 | 0 | 9 | 3 | 2 | 14 |
8 | 0 | 12 | 2 | 1 | 15 |
9 | 0 | 9 | 2 | 1 | 12 |
10 | 0 | 6 | 0 | 1 | 7 |
根据西干渠特征信息在软件中建模,便可数值计算Saint-Venant方程组得出渠道各闸门的流量、流速。产生的数据集中既有闸门参数达到稳态的数据,也存在非稳态数据,还存在噪声数据。因此,必须对数据进行合法性甄别、筛选、整合、清洗,构建出最终使用的数据集。数据处理原则如下:
1) 在调整仿真参数前,渠道中各闸门各参数的值都达到稳定状态,即本文只研究稳态情形下流经各个闸门的流量;
2) 水深不能超过渠顶,否则渠道中的水将会直接从闸门上方漫过;
3) 闸板不能脱离水面,否则闸门的开度起不到控制水流的作用;
4) 关于流量,依据闸门设计流量判断,去除超过其设计流量倍数过高的数据,认为它们均为噪声数据。
最后,以段为单位生成闸门离散化特征索引及归一化特征值。经过如上的数据集处理过程,数据集中每一水渠段拥有的数据条数如表 3所示。
渠段编号 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
数据条数 | 5 945 | 2 424 | 2 499 | 1 901 | 2 280 | 1 667 | 1 669 | 1 414 | 1 006 | 935 |
3.2 训练方法及参数设置
本文使用了Adam优化器[26],采用小批量梯度下降的算法进行训练。损失函数采用当前渠段训练集的全部数据中所有闸门流量预测值和真实值之间的均方误差(MSE),其公式为
$ L\left( {Y, {Y^*}} \right) = \frac{{\sum\limits_{i = 1}^N {\sum\limits_{j = 1}^M {{{\left( {{y_{ij}} - y_{ij}^*} \right)}^2}} } }}{{NM}}. $ | (4) |
其中: N为当前渠段训练集数据条数,M为当前渠段闸门个数,Y为流量预测值集合,Y*为流量真实值集合,yij为第i条数据中流经第j个闸门的流量预测值,yij*为第i条数据中流经第j个闸门的流量真实值。
对于数据集,将每段的数据随机打乱,按照训练集、验证集、测试集数据数量之比为6:2:2划分,数据集打乱的随机种子取定不变。隐藏层的状态维数取为128,迭代轮数(epoch)设为2 500轮,小批量梯度下降一批(batch)的大小为16,学习率设为0.000 5,小批量从训练集中随机选取。对于每一个渠段,本文重复进行10次实验,取10次实验测试集的预测准确率的平均值作为最终的预测准确率。
3.3 评估方法本文采用绝对误差作为模型预测是否准确的判定标准。结合水利工程常用的评价标准及生产实际,对于每条数据中的每个闸门而言,本文取0.01 m3/s和闸门设计流量的5%中的较大值为预测准确阈值。评估的主要指标为预测准确率,计算公式如下:
$ A\left( {Y, {Y^*}} \right) = \frac{{\sum\limits_{i = 1}^N {\sum\limits_{j = 1}^M I } \left( {{y_{ij}} - y_{ij}^*} \right)}}{{NM}}; $ | (5) |
$ I\left(y_{i j}-y_{i j}^{*}\right)= \begin{cases}1, & \left|y_{i j}-y_{i j}^{*}\right| \leqslant \max \left(0.01, 0.05 Q_{j}\right) ; \\ 0, & \left|y_{i j}-y_{i j}^{*}\right|>\max \left(0.01, 0.05 Q_{j}\right) .\end{cases} $ | (6) |
其中: I为示性函数,Qj为第j个闸门的设计流量。
式(5)表示一个数据集(训练集、验证集或测试集)的预测准确率为该数据集的全部数据在当前渠段所有闸门上预测准确的个数除以集合中数据的总个数。
3.4 对比神经网络F-LSTM与以下3个模型进行比较:
1) Deep-CNN(deep convolutional neural networks): 本文复现了文[16]中的模型结构,参数也与文[16]保持一致。
2) 多层感知机(multilayer perceptron, MLP)[27]: 由输入层、输出层及多个隐藏层组成的神经网络,层与层之间的节点是全连接的。采用反向传播算法更新神经网络的参数。本文所使用的MLP神经网络在输入层与输出层之间有两个隐藏层,节点数分别为128和64,学习率设为0.005;
3) 循环神经网络(recurrent neural network, RNN)[28]: LSTM神经网络去掉筛选信息的门机制后,就退化为RNN。事实上,LSTM是一种特殊的RNN,其特殊性就在于门机制的存在。对于RNN,超参数的设置与LSTM相同。
3.5 实验结果与分析 3.5.1 不同神经网络引入静态特征时的预测准确率4种神经网络均引入静态特征。最终对于每种神经网络,每个渠段的预测准确率如表 4所示。
神经网络 | 渠段1 | 渠段2 | 渠段3 | 渠段4 | 渠段5 | 渠段6 | 渠段7 | 渠段8 | 渠段9 | 渠段10 |
Deep-CNN | 0.371 0 | 0.344 9 | 0.235 5 | 0.396 2 | 0.368 6 | 0.412 0 | 0.376 8 | 0.360 1 | 0.331 6 | 0.336 1 |
MLP | 0.930 1 | 0.770 8 | 0.857 7 | 0.837 2 | 0.882 2 | 0.755 8 | 0.739 9 | 0.713 5 | 0.719 0 | 0.801 7 |
RNN | 0.987 3 | 0.948 0 | 0.964 5 | 0.979 0 | 0.988 2 | 0.919 9 | 0.956 8 | 0.930 0 | 0.910 5 | 0.930 2 |
F-LSTM | 0.992 9* | 0.984 7* | 0.981 6* | 0.992 3* | 0.995 5* | 0.975 8* | 0.980 8* | 0.972 9* | 0.984 7* | 0.982 9* |
*表示在每个渠段与Deep-CNN、MLP和RNN中预测准确率较高的相比,F-LSTM的预测准确率有P<0.05的显著变化 |
从表 4可以看出,引入静态特征后,F-LSTM在全部10个渠段上流量的预测准确率均大于97%,部分渠段甚至能达到99%,说明本文构建的模型能够在给定渠段的总进水流量、渠段中每个闸门的开度和渠道与闸门的各静态特征的情况下,较准确地预测流经每个闸门的流量。
表 4中还给出了F-LSTM与对比模型的最高预测准确率之间的显著性检验结果。本文使用的显著性检验方法是双样本异方差假设t -检验。从检验结果可以看出,在全部的10个渠段上,F-LSTM神经网络的预测准确率均显著优于对比模型。这一结果验证了本文构建的模型结构的有效性:
1) F-LSTM的预测准确率显著优于RNN,说明F-LSTM中蕴含的能够对输入信息进行筛选的门机制,帮助了F-LSTM学习较长的序列关系的规律,使其在具有序列关系的问题的预测上比RNN表现更加突出;
2) F-LSTM与RNN将闸门上下游之间的序列关系纳入考虑,将流经各个闸门的流量的预测任务看作一个整体,其准确率显著优于MLP,说明本文研究的流量预测问题中隐含的序列关系是至关重要的,考虑这一序列关系,能够显著提高流量预测准确率。而MLP没有对这一序列关系进行建模,而是把预测流经各个闸门的流量当成是独立的任务,分别独立进行预测,其结果较差;
3) F-LSTM和MLP、RNN的预测准确率都显著优于Deep-CNN,说明预测香农河这一天然河道的流量和水位的模型并不适用于预测本问题中流经人工渠道中各闸门的流量的值。
3.5.2 F-LSTM在不同隐藏层状态维数下的预测准确率为了比较F-LSTM在取定不同的隐藏层状态维数时的预测准确率,其他条件都保持不变,调整F-LSTM的隐藏层状态维数为64和32,进行了对比实验。结果如表 5所示。可以看出,在10个渠段中,共有6个渠段隐藏层状态维数为128时的准确率最高,除了1个渠段以外,在剩余的3个渠段上,隐藏层状态维数为128的模型与状态维数为64或32的模型中更优的那个差异不具有统计显著性。
状态维数 | 渠段1 | 渠段2 | 渠段3 | 渠段4 | 渠段5 | 渠段6 | 渠段7 | 渠段8 | 渠段9 | 渠段10 |
32 | 0.991 8 | 0.971 1 | 0.969 3 | 0.991 9 | 0.994 0 | 0.971 9 | 0.983 2* | 0.971 9 | 0.973 0 | 0.978 3 |
64 | 0.993 2 | 0.982 6 | 0.979 3 | 0.991 7 | 0.994 2 | 0.981 1* | 0.982 7 | 0.973 5 | 0.982 3 | 0.981 9 |
128 | 0.992 9 | 0.984 7 | 0.981 6 | 0.992 3 | 0.995 5 | 0.975 8 | 0.980 8 | 0.972 9 | 0.984 7* | 0.982 9 |
*表示在每个渠段与隐藏层状态维数为32和64的F-LSTM表现较优的相比,隐藏层状态维数为128的F-LSTM预测准确率有P<0.05的显著变化 |
隐藏层状态维数越多,F-LSTM记录信息的能力就越强,模型的表现就越好,这也符合利用神经网络解决问题的一般趋势。但是随着隐藏层状态维数的增多,模型表现的提升速度趋缓,模型规模变大。总体来看,F-LSTM在隐藏层状态维数为128时的表现略好于隐藏层状态维数为64时的情况,因此,在计算资源允许的情况下,可以将隐藏层状态维数设定为128;若计算资源有限,也可以考虑将隐藏层状态维数设定为64,此时F-LSTM仍有不错的表现。
3.5.3 F-LSTM中引入静态特征的效果为了说明F-LSTM中引入的静态特征对于提高预测准确率的作用,本文将其与只引入动态特征而不引入静态特征的普通LSTM神经网络进行对比,重新进行实验,即只将2个动态特征作为模型的输入,结果如表 6所示。
网络 | 渠段1 | 渠段2 | 渠段3 | 渠段4 | 渠段5 | 渠段6 | 渠段7 | 渠段8 | 渠段9 | 渠段10 |
LSTM | 0.994 0* | 0.979 7 | 0.975 7 | 0.991 0 | 0.992 1 | 0.972 3 | 0.976 3 | 0.967 6 | 0.977 5 | 0.976 4 |
F-LSTM | 0.992 9 | 0.984 7* | 0.981 6* | 0.992 3 | 0.995 5* | 0.975 8 | 0.980 8* | 0.972 9* | 0.984 7* | 0.982 9* |
*表示在每个渠段LSTM和F-LSTM中与预测准确率较低的相比,预测准确率较高的神经网络的预测准确率有P<0.05的显著变化 |
从表 6可以看出,在10个渠段中,有9个渠段引入静态特征后预测准确率优于不引入静态特征,且其中的7个渠段优势显著。这表明,闸门与渠道静态特征的确会影响流量预测,在流量预测任务中引入静态特征,预测表现更好。
然而,从实验结果中也发现,对于第1个渠段而言,LSTM预测准确率反而显著优于F-LSTM。分析第1个渠段数据集本身的特点,发现数据集中存在大量总进水流量为定值(50 m3/s)的数据,而对于其他渠段,总进水流量为流出前一个渠段末端节制闸的流量,其大多都是不相同的,因此数据集相比第1个渠段而言更为杂乱。为了探究是否是数据集较为整齐导致LSTM的预测准确率更好,本文首先统计了第1个渠段训练集与验证集中总进水流量不为50 m3/s的数据条数,共有1 913条,以此作为训练集的大小。调整训练集中总进水流量为50 m3/s的数据的比例,以一定的比例随机从原训练集和验证集中抽取数据。测试集仍与前文一致。结果如表 7所示。
网络 | 0% | 20% | 40% | 60% | 80% | 100% |
LSTM | 0.710 4 | 0.992 5* | 0.991 7 | 0.991 6 | 0.987 5 | 0.672 6 |
F-LSTM | 0.850 7* | 0.990 2 | 0.991 0 | 0.990 2 | 0.985 7 | 0.686 3* |
显著性P值 | 0.001 7 | 2.22E-05 | 0.079 6 | 0.079 9 | 0.118 3 | 0.003 7 |
*表示在每个渠段LSTM和F-LSTM中与预测准确率较低的相比,预测准确率较高的神经网络的预测准确率有P<0.05的显著变化 |
从表 7可以看出,总进水流量为50 m3/s的数据占比为0%和100%时的预测准确率不如占比为20%~80%时的预测准确率。这是因为测试集中同时包含总进水流量为50 m3/s和不为50 m3/s的2种数据,如果训练集只包含其中的一种的话,便不能充分地学习到另一种数据的知识。
并且,总进水流量为50 m3/s的数据占比分别为0%和100%时,引入静态特征的F-LSTM模型的预测准确率均显著优于不引入静态特征的普通LSTM模型,其中占比为0%(即完全不包含总进水流量为50 m3/s的数据)时预测准确率提升最为明显;对于总进水流量为50 m3/s的其他数据占比情况,结论恰好相反,其中占比为20%时普通LSTM模型的优势是显著的。如上分析可以证明,第1个渠段在不引入静态特征时预测准确率更高,与数据集较为整齐是有关系的。一般情形下,引入静态特征的F-LSTM模型更加具有鲁棒性。
3.5.4 F-LSTM模型鲁棒性为研究F-LSTM在不同训练数据量下的鲁棒性,将测试集取定与3.5.1节一致,调整训练集的数据条数,下限为100条,上限为各渠段数据集大小的80%(即除了测试集外其他所有的数据均为训练集)。训练集中的数据从原训练集与验证集的数据中随机生成。重复10次实验,准确率取平均值作为平均预测准确率。随着训练集数据条数的变化,对各个渠段流量的预测准确率变化曲线如图 2所示。图 2中,每段预测曲线上的竖线代表该渠段训练集数据条数为该渠段数据集数据总条数的60%时的准确率。可以看出,当训练集数据为700条时,对所有渠段流量的预测准确率都可以达到95%以上,并且随着训练集数据的增多而继续缓慢波动上升。到达竖线的位置时,预测准确率已经趋近于曲线最大值。
![]() |
图 2 不同训练集大小与预测准确率的关系 |
700条数据占各渠段数据集大小的比例、在数据条数为700条时各渠段预测准确率和相对预测准确率(相对表 4中F-LSTM的预测准确率)如表 8所示。其中,渠段9和10的数据占比均超过了60%,即相对于3.5.1节使用了更多的数据进行训练,因此除了偶然性外,训练数据增多也是导致模型相对预测准确率大于1,即比表 4中F-LSTM的表现要好的原因。
项目 | 渠段1 | 渠段2 | 渠段3 | 渠段4 | 渠段5 | 渠段6 | 渠段7 | 渠段8 | 渠段9 | 渠段10 |
700条数据占比 | 0.117 7 | 0.288 8 | 0.280 1 | 0.368 2 | 0.307 0 | 0.419 9 | 0.419 4 | 0.495 0 | 0.695 8 | 0.748 7 |
预测准确率 | 0.978 9 | 0.958 9 | 0.955 9 | 0.977 1 | 0.985 5 | 0.966 6 | 0.979 8 | 0.975 2 | 0.986 5 | 0.981 9 |
预测相对准确率 | 0.985 9 | 0.973 8 | 0.973 8 | 0.984 7 | 0.990 0 | 0.990 6 | 0.999 0 | 1.002 4 | 1.001 8 | 0.999 0 |
进一步地,统计各个渠段的相对预测准确率能够达到99%以上所需的数据条数,及这些数据分别占各渠段数据集的比例。结果如表 9所示。
项目 | 渠段1 | 渠段2 | 渠段3 | 渠段4 | 渠段5 | 渠段6 | 渠段7 | 渠段8 | 渠段9 | 渠段10 |
数据条数 | 1 000 | 1 100 | 1 100 | 950 | 700 | 666 | 500 | 424 | 402 | 467 |
数据占比 | 0.168 2 | 0.453 8 | 0.440 2 | 0.499 7 | 0.307 0 | 0.399 5 | 0.299 6 | 0.299 9 | 0.399 6 | 0.499 5 |
综合上述结果,能够说明F-LSTM模型无需太多的数据即可训练出较好的结果——这在数据不足和模型迁移到其他的水渠实例中的情形中是极为有用的,验证了本文构建的模型的鲁棒性。
3.5.5 预测效率比较与分析为了比较F-LSTM模型和传统的数值计算的方法的预测效率,本文统计了F-LSTM在训练时各个渠段模型所消耗的时间,以及向模型输入1 000条、10 000条和100 000条数据时各个渠段消耗的预测时间(不包含数据读入的时间),结果如表 10所示。
s | |||||||||||||||||||||||||||||
项目 | 渠段1 | 渠段2 | 渠段3 | 渠段4 | 渠段5 | 渠段6 | 渠段7 | 渠段8 | 渠段9 | 渠段10 | 总计 | ||||||||||||||||||
训练时间 | 2 957.15 | 1 557.60 | 1 166.20 | 930.36 | 1 040.80 | 983.47 | 777.79 | 674.12 | 486.24 | 430.53 | 11 004.19 | ||||||||||||||||||
输入1 000条数据时的预测时间 | 0.081 | 0.204 | 0.069 | 0.069 | 0.054 | 0.118 | 0.058 | 0.060 | 0.051 | 0.030 | 0.794 | ||||||||||||||||||
输入10 000条数据时的预测时间 | 0.521 | 1.263 | 0.425 | 0.481 | 0.356 | 0.886 | 0.427 | 0.394 | 0.303 | 0.182 | 5.238 | ||||||||||||||||||
输入100 000条数据时的预测时间 | 7.848 | 15.565 | 6.301 | 7.275 | 5.555 | 12.040 | 6.290 | 6.451 | 5.175 | 3.216 | 75.716 |
从表 10可以看出,F-LSTM在整个渠道上可以在3 h左右完成全部10个渠段的模型训练。在数据输入达到100 000条时,F-LSTM也可以仅用不到76 s就可以完成整个渠道流经各个闸门的流量预测任务。
传统的数值计算方法消耗的时间可以参考本文数据集生成的过程。根据西干渠的具体条件,其模拟仿真在水流从一个稳态(恒定流状态)通过调整闸门开度加以显著干扰后逐步到另一个稳态,一般需要28~48 h,平均为36 h(均为实际系统的演变用时)。以10 min为时间步长,100 m为空间步长(局部取水结构密集的地方,空间步长缩小至10~50 m),使用SOBEK软件连续模拟计算52 h(187 200 s),共输出1 576 800条数据。值得注意的是,SOBEK生成的数据中,包含从一个稳态到另一个稳态过程中渠道各参数变化的全过程,其中包含着大量的非稳态数据。本文定义SOBEK调参前最后一刻的数据为“潜在稳态数据”,在前述的全部输出数据中,仅有5 475条为潜在稳态数据。
潜在稳态数据是稳态数据的必要不充分条件。由于本文研究问题的合法数据只存在于潜在稳态数据集中,本文参考上述生成实验数据集的过程,分别计算了SOBEK生成1 000、10 000、100 000条潜在稳态数据的时间,及F-LSTM消耗总时间(即表 10中F-LSTM模型训练总时间与输入相应数量数据时模型预测总时间之和)。结果如表 11所示。
s | |||||||||||||||||||||||||||||
方法 | 计算1 000条 | 计算10 000条 | 计算100 000条 | ||||||||||||||||||||||||||
数值计算 | 34 192 | 341 918 | 3 419 178 | ||||||||||||||||||||||||||
F-LSTM | 11 004.984 | 11 009.428 | 11 079.906 |
从表 11可以看出,传统方法生成100 000条潜在稳态数据需要消耗3 419 178秒,约为950小时,是F-LSTM在输入100 000条数据时耗时的308倍。
从求解过程可以看出,传统的数值求解方法不能对流量进行批量预测,对于大量的数据只能逐条进行从一个稳态到另一个稳态的求解,因此随着数据计算条数的增加,其求解时间的增加是灾难性的。F-LSTM效率大大提升,体现出神经网络对端到端进行问题建模与预测的方法的优势——能够在保证预测准确率的情况下,以极高的效率完成预测任务。
4 结论本文通过挖掘明渠中闸门上下游之间的潜在序列关系,同时认识到渠道与闸门的静态特征对于流量预测问题的重要性,构建了以LSTM神经网络为核心的流量预测模型,利用上述特征完成了对渠道中流经各个闸门的流量进行预测的任务。在宁夏回族自治区西干渠上的实验结果显示,本文提出的方法能够以97%以上的准确率预测各渠段中各闸门的流量,与传统数值计算的方法相比,在10万条数据规模时效率提高了308倍,体现出了人工智能在解决传统产业问题上的高准确率、低时间和人工成本的巨大优势,验证了人工智能改进传统流量预测方法的可行性。
[1] |
郑志磊, 王忠静. 水联网渠道可控性判别指标研究[J]. 水力发电学报, 2019, 38(7): 57-66. ZHENG Z L, WANG Z J. Indicator of canal controllability for internet of water[J]. Journal of Hydroelectric Engineering, 2019, 38(7): 57-66. (in Chinese) |
[2] |
刘晋龙. 基于水联网的灌区渠系输配水联控研究[D]. 北京: 清华大学, 2022. LIU J L. Research on joint automatic control of water transmission and distribution canal system in irrigation district based on internet-of-water[D]. Beijing: Tsinghua University, 2022. (in Chinese) |
[3] |
郑志磊. 基于水联网的灌区管理与渠道自动控制研究[D]. 北京: 清华大学, 2018. ZHENG Z L. Research on the internet-of-water based irrigation district management and automatic control of irrigation canals[D]. Beijing: Tsinghua University, 2018. (in Chinese) |
[4] |
王忠静, 王光谦, 王建华, 等. 基于水联网及智慧水利提高水资源效能[J]. 水利水电技术, 2013, 44(1): 1-6. WANG Z J, WANG G Q, WANG J H, et al. Developing the internet of water to prompt water utilization efficiency[J]. Water Resources and Hydropower Engineering, 2013, 44(1): 1-6. (in Chinese) |
[5] |
王忠静, 郑志磊, 徐国印, 等. 基于线性二次型的多级联输水渠道最优控制[J]. 水科学进展, 2018, 29(3): 383-389. WANG Z J, ZHENG Z L, XU G Y, et al. Linear quadratic optimal control of multi-cascaded canals[J]. Advances in Water Science, 2018, 29(3): 383-389. DOI:10.14042/j.cnki.32.1309.2018.03.010 (in Chinese) |
[6] |
ZHENG Z L, WANG Z J, ZHAO J S, et al. Constrained model predictive control algorithm for cascaded irrigation canals[J]. Journal of Irrigation and Drainage Engineering, 2019, 145(6): 04019009. DOI:10.1061/(ASCE)IR.1943-4774.0001390 |
[7] |
LIU J L, WANG Z J, YANG Z G, et al. An adaptive predictive control algorithm for comprehensive dendritic canal systems[J]. Journal of Irrigation and Drainage Engineering, 2023, 149(1): 04022046. DOI:10.1061/(ASCE)IR.1943-4774.0001736 |
[8] |
SAINT-VENANT A J C. Théorie du mouvement non permanent des eaux avec applications aux crues des rivières et à l'introduction des marées dans leur lit[J]. Comptes Rendus de l'Académie des Sciences de Paris, 1871, 73: 147-154. |
[9] |
何星. 刚性植被河道的圣维南方程修正研究[D]. 北京: 华北电力大学(北京), 2021. HE X. Study on modification of Saint-Venant equations for rigid vegetated channel[D]. Beijing: North China Electric Power University (Beijing), 2021. (in Chinese) |
[10] |
王祎, 贾文雅, 尹雪婷, 等. 人工神经网络的发展及展望[J]. 智能城市, 2021, 7(8): 12-13. WANG Y, JIA W Y, YIN X T, et al. Development and prospect of artificial neural network[J]. Intelligent City, 2021, 7(8): 12-13. (in Chinese) |
[11] |
陈大宏, 蓝霄峰, 杨小亭. 求解圣维南方程组的DORA算法[J]. 武汉大学学报(工学版), 2005, 38(5): 41-44. CHEN D H, LAN X F, YANG X T. DORA approach for solution of the Saint-Venant equations[J]. Engineering Journal of Wuhan University, 2005, 38(5): 41-44. (in Chinese) |
[12] |
王泗远, 郭泽庆, 王高亚. 明渠非恒定流问题的数值计算方法--以圣·维南方程组的数值计算方法为例[J]. 中国新技术新产品, 2011(10): 7-7. WANG S Y, GUO Z Q, WANG G Y. Numerical calculation method of non-constant flow in open channel: Taking the numerical calculation method of de Saint-Venant system of equations as an example[J]. China New Technologies and Products, 2011(10): 7-7. (in Chinese) |
[13] |
伍宁. 一维圣维南方程组在非恒定流计算中的应用[J]. 人民长江, 2001, 32(11): 16-18. WU N. Application of one dimensional Saint-Venant equations in non-constant flow[J]. Yangtze River, 2001, 32(11): 16-18. (in Chinese) |
[14] |
陈滋月. 基于圣维南方程组的辽宁省中小河流流量自动化推求试验研究[J]. 水利技术监督, 2016, 24(4): 108-110, 116. CHEN Z Y. Experimental research on automatic calculation of flow of medium and small rivers in Liaoning province based on Saint-Venant equations[J]. Technical Supervision in Water Resources, 2016, 24(4): 108-110, 116. (in Chinese) |
[15] |
王浩骅, 管光华, 肖昌诚. 一维圣维南方程差分数值算法中稀疏矩阵求解方法比较及优选研究[J]. 灌溉排水学报, 2021, 40(3): 116-124. WANG H H, GUAN G H, XIAO C C. Comparison and optimization of sparse matrix solution methods in one-dimensional Saint-Venant equation difference numerical algorithm[J]. Journal of Irrigation and Drainage, 2021, 40(3): 116-124. (in Chinese) |
[16] |
ASSEM H, GHARIBA S, MAKRAI G, et al. Urban water flow and water level prediction based on deep learning[C]//Proceedings of the Joint European Conference on Machine Learning and Knowledge Discovery in Databases. Skopje, Macedonia: Springer, 2017: 317-329.
|
[17] |
胡磊. 基于深度学习的超临界机组给水流量预测及控制优化[D]. 太原: 山西大学, 2021. HU L. Water supply flow prediction and control optimization of supercritical unit based on deep learning[D]. Taiyuan: Shanxi University, 2021. (in Chinese) |
[18] |
刘晓锋, 李太斌, 范伟宁, 等. 基于深度学习的水电站水流量和发电量区间预测[J]. 电子技术与软件工程, 2020(9): 221-222. LIU X F, LI T B, FAN W N, et al. Interval prediction of water flow and power generation based on deep learning[J]. Electronic Technology & Software Engineering, 2020(9): 221-222. (in Chinese) |
[19] |
牟意红. 基于GA-BP神经网络的灌区水流量监测系统设计[D]. 武汉: 武汉理工大学, 2018. MOU Y H. Design of water flow monitoring system in irrigation area based on GA-BP neural network[D]. Wuhan: Wuhan University of Technology, 2018. (in Chinese) |
[20] |
佟强. 基于BP神经网络的灌区取水流量在线监测研究[J]. 水利科技与经济, 2021, 27(10): 104-109. TONG Q. Study on on-line monitoring of water intake flow in irrigation area based on BP neural network[J]. Water Conservancy Science and Technology and Economy, 2021, 27(10): 104-109. (in Chinese) |
[21] |
HOCHREITER S, SCHMIDHUBER J. Long short-term memory[J]. Neural Computation, 1997, 9(8): 1735-1780. |
[22] |
BA J L, KIROS J R, HINTON G E. Layer normalization[EB/OL]. (2016-07-21)[2022-11-28]. https://arxiv.org/pdf/1607.06450.pdf.
|
[23] |
罗梓宁. 信贷风险识别中的连续变量最优离散化[D]. 上海: 上海师范大学, 2018. LUO Z N. Optimal discretization of continuous variables in credit risk identification[D]. Shanghai: Shanghai Normal University, 2018. (in Chinese) |
[24] |
谷晓伟. 基于SOBEK模型的黄河三角洲自然保护区淡水湿地生态需水量研究[D]. 南京: 河海大学, 2007. GU X W. Study on ecological water requirement of freshwater wetland in Yellow River delta natural conservation area based on SOBEK model[D]. Nanjing: Hohai University, 2007. (in Chinese) |
[25] |
DELTARES. SOBEK, user manual[M]. Delft, The Netherlands: Deltares, 2018.
|
[26] |
KINGMA D P, BA J. Adam: A method for stochastic optimization[EB/OL]. (2017-01-30)[2022-11-28]. https://arxiv.org/pdf/1412.6980.pdf.
|
[27] |
RUMELHART D E, HINTON G E, WILLIAMS R J. Learning representations by back-propagating errors[J]. Nature, 1986, 323(6088): 533-536. |
[28] |
ELMAN J L. Finding structure in time[J]. Cognitive Science, 1990, 14(2): 179-211. |