APP下载

基于门控循环单元-支持向量回归组合模型的湖泊水位预测方法探索

2022-02-03刘惟飞陈兵余周

科学技术与工程 2022年33期
关键词:降雨水位精度

刘惟飞, 陈兵*, 余周

(1.华南理工大学环境与能源学院, 广州 510006; 2. 广东省环境风险防控与应急处置工程技术研究中心, 广州 510006)

湖泊是陆地表面封闭洼地中积水形成的比较宽阔的水域,具有抵御洪涝灾害、调蓄、补充地下水、景观等作用[1]。湖泊水位是维持其生态系统结构、功能和完整性的基础,精确的湖泊水位预测对灾害监测和水情调度具有重要意义。目前机器学习算法由于其强大的非线性拟合能力被广泛用于水文时序预测领域,其中包括支持向量机(support vector regression,SVR)和人工神经网络[2]。刘志飞[3]建立最小二乘支持向量的河段水位预测模型,验证了支持向量机模型在水位预测中的可靠性。传统循环神经网络(recurrent neural network,RNN)在水位预测中易出现梯度消失问题,即距离当前时间步越长,信息反馈的梯度信号越不显著。信息随时间步数增加在网络中记忆值变小的情况,这意味着RNN长时学习能力失效。长短时记忆网络(long short-term memory, LSTM)能有效改善传统RNN的梯度消失问题被广泛应用于水文时序预测领域,并取得了很好的效果[4]。然而LSTM的缺点是它的复杂性,因此Cho等[5]提出了LSTM简化变体——门控循环单元(gated recurrent unit,GRU)。鉴于GRU在其他时间序列数据建模方面的成功,如燃油流量、路况、灾情信息预测等[6-8]。研究者们也尝试将GRU引入水文时序预测领域并取得了不错成效。如段生月等[9]将基于弹性网正则化的GRU模型应用于赣江流域外洲水文站的水位预测,Gao等[10]将GRU模型应用于雨量站的降水量预测,均取得了不错效果。此外,组合模型理论上要比单一模型效果更好,能够克服单一模型的局限[11]。如Pan等[12]将卷积神经网络(convolutional neural networks,CNN)和GRU网络结构结合应用于预测长江水位变化,发现CNN-GRU预测性能优于LSTM。

为改善传统RNN的梯度消失问题以及探索GRU组合模型应用于水文时序预测的有效性,现提出一种基于GRU与SVR的湖泊水位组合预测模型,以期取得更高的水位预测精度。并与传统的CNN-GRU及单一模型进行对比,分析各种方法的适用性。

1 研究区域概况

研究区域为猎德涌的源头西湖区域,猎德涌是广州市仅有的一条流经珠江新城中央商务区的河涌,河涌集水面积16.2 km2,全长6.5 km,采取自流方式排涝。猎德涌下游沿线水位过高是造成猎德涌流域低洼处水浸严重主要成因之一[13]。西湖位于广州市天河区华南理工五山校区内。西湖最大水深8.9 m,集水面积0.031 km2,通过双向阀门往猎德涌排水。西湖水源主要依靠降雨或广州市建设的“三涌补水工程”补充[14]。降雨发生时,东莞庄北与华工片区的雨水通过管道一起汇入西湖。日常补水通过二级长虹泵站提水为西湖补水,补水流量为1.2~2 m3/s,时间为6:00—18:00。西湖与猎德涌水位存在显著的相关性,西湖水位变化对于研究猎德涌流域内涝具有重要的意义。广州市区域如图1(a)所示,猎德涌流域如图1(b)所示。

图1 研究区域概况图Fig.1 The overview map of study area

2 研究方法

2.1 实验环境

深度学习的水位预测模型编程语言采用python3.8实现,深度学习框架采用谷歌开发的TensorFlowCPU2.0版本。计算机的配置是Windows7操作系统,8 GB运行内存。

2.2 GRU原理

针对LSTM网络参数冗杂、计算复杂的缺点,GRU对LSTM进行了简化改进,将LSTM中的遗忘门和输入门合并为更新门,同时将单元状态与隐藏层输出合并,降低了网络结构复杂度。因此GRU网络中的门控循环单元只有更新门和重置门,结构如图2所示。

图2 GRU结构图Fig.2 GRU structure diagram

t时刻GRU模型输出ht的计算步骤如式(1)~式(5)所示。

rt=σ(Wr·[ht-1,xt]+br)

(1)

式(1)中:rt为t时刻重置门的输出;Wr、br为重置门的权重与偏置;·表示点乘积;σ为sigmoid 函数。

zt=σ(Wz·[ht-1,xt]+bz)

(2)

式(2)中:zt为t时刻更新门的输出;Wz、bz为更新门的权重与偏置。

(3)

(4)

yt=σ(Wo·ht)

(5)

式中:Wo为输出向量与xt及ht-1构成的连接矩阵相乘的权重参数。

2.3 数据来源

利用课题组自主研发设计的测控模块及智慧排水内涝云服务系统[15]采集的2021年3月11日—8月31日的西湖每10 min间隔时刻的水位和雨量数据建立降雨水位预测模型。降雨量数据精度0.01 mm,液位精度为0.1 mm。包括25 056(24 h×6×174 d)组水位数据和降雨数据,其中降雨量数据允许存在零值,包含雨前晴天数、降雨历时等隐藏特征信息,代表模型既可以预测降雨期也能预测未降雨期。利用前20 016个数据(3月11日—7月27日,样本量的80%)对模型进行训练,5 040个数据(7月28日—8月31日,样本量的20%)用于测试。8月不同时期的降雨场次较多,故选用该时段作为测试集。雨量及水位数据如图3所示,测试集雨量信息如表1所示。

图3 监测点降雨量及水位变化Fig.3 Rainfall and water level data from monitoring stations

表1 系统记录测试集降雨量数据Table 1 The system records the rainfall data of the test set

2.4 GRU-SVR模型预测步骤

构建的GRU-SVR组合模型技术路线如图4所示,组合模型采用串联式结构。数据经过GRU中间层单元提取特征信息,再次输入全连接中间层经过神经元计算得到输出向量,输出向量输入SVR组件经过核函数转换计算再通过全连接输出层得到最终预测值。针对SVR核函数难以选择的问题,构建了3种不同核函数下的GRU-SVR进行对比,以此选择出契合GRU的支持向量回归机。

图4 GRU-SVR模型框架Fig.4 GRU-SVR model general framework

(1)模型数据准备。为消除数据间量纲影响,利用最大最小值法将训练集S及测试集T归一化至[0,1]区间。

(2)模型训练及预测。训练过程中,组合模型的训练集为

(6)

GRU-BP组合模型的测试集为

(7)

采用直接预测方式,预测长度为6,即预测时间为1 h。

2.5 模型评价指标

为了准确评估模型的精度,采用均方根误差(root mean square error,RMSE)、均方误差(mean square error,MSE)和平均绝对误差(mean absolute error,MAE)及平均绝对百分误差(mean absolute percentage error,MAPE)作为误差分析指标,对模型预测误差进行量化评价。评价指标公式如式(8)~式(11)所示。

(8)

(9)

(10)

(11)

式中:yact为实测的水位;ypre为模型预测的水位;i为水位值编号;n为水位预测值数量。

2.6 实验参数设置

模型参数中滑动时间窗长度(用于预测的时间片段长度)设置为24。神经网络参数通过控制变量法[16]选取,根据经验调试模型初始化参数之后,保持模型其他参数不变,每次只更改某一变量比较进行贪心式寻优;SVR核函数参数通过网格搜索算法确定,最终确定GRU-SVR模型参数组合,参数如表2所示。

表2 不同核函数下的GRU-SVR模型参数Table 2 GRU-SVR model parameters under different kernel functions

3 仿真结果分析

3.1 训练集下模型对比

以1 h预测时长为例,构建了3种不同核函数下的GRU-SVR模型寻优,并与CNN-GRU(卷积层为1层,卷积核个数为1,卷积核尺寸为9)、GRU(中间层为3,输出维度为16)、SVR(多项式核)模型进行对比,单一模型的超参数与组合模型设定一致。各模型训练集下的RMSE及MAE指标如图5所示。可以看出,训练集下的GRU-SVR(多项式核)预测效果最好。

图5 不同模型训练集下的预测结果Fig.5 The prediction results under different model training sets

3.2 测试集下模型对比

为了验证GRU-SVR(多项式核)模型预测湖泊水位的优点,各模型在测试集下的预测结果如图6所示,误差指标如表3所示。

表3 不同模型的测试集误差指标Table 3 Error metrics of different models under the test set

由图6和表3可知,对于测试集的整体区间水位预测,模型的预测精度从高到低依次为GRU-SVR(多项式核)、CNN-GRU、GRU、GRU-SVR(Sigmoid核)、SVR、GRU-SVR(RBF核)。GRU-SVR(多项式核)预测精度要比其他核函数高。虽然研究表明RBF核函数在多数样本数据集有优势[17],但实验发现多项式核函数在该具备线性与非线性混合特性湖泊水位数据集表现更为出色。

图6 不同模型的测试集预测结果Fig.6 The forecast results of different models

3.3 测试集分类分析

整体的测试集可划分为降雨期和未降雨期,降雨期又分为暴雨期(日降雨总量大于50 mm)、大雨期(总量为25.1~50 mm)、中雨期(总量为10.1~25 mm)、小雨期(总量小于10 mm)。在降雨期,西湖水位受到降雨量、排水及补水量等因素影响。而在未降雨期,西湖水位主要受补水及排水量的影响。对比各模型在不同时期下的预测性能,评估模型在不同情况下的多因素特征学习能力。统计的降雨期数据为降雨起始时至降雨结束后1 h之间的数据。

3.3.1 降雨期预测

测试集包含两场暴雨、六场大雨、四场中雨、四场小雨。不同模型在暴雨期、大雨期、中雨期、小雨期的预测结果分别如图7~图10所示。

由图7~图10可知,西湖水位与补水量、排水量、降雨量相关。随着降雨总量变小,雨量与水位间的相关性减弱,水位曲线随降雨总量减少逐渐呈现线性上升或下降趋势。

图7 模型在暴雨期的预测结果Fig.7 Forecast results of different models during the rainstorm period

图8 模型在大雨期的预测结果Fig.8 Forecast results of different models during periods of heavy rain

图10 模型在小雨期的预测结果Fig.10 Forecast results of different models during periods of light rain

GRU-SVR(多项式核)的预测误差较小,在暴雨期、大雨期、中雨期及小雨期与实际水位的最大偏差分别为20、8、6、2 cm。CNN-GRU曲线拟合度仅次于GRU-SVR(多项式核),在某些时刻与GRU十分接近。与GRU-SVR(RBF核)相比,GRU-SVR(Sigmoid核)预测曲线在暴雨及大雨期表现较好,在中小雨期表现则稍弱。SVR精度最低,拟合曲线则明显发生了较大偏离。

在暴雨及大雨期,各模型对雨强峰值段期间的水位预测精度要明显低于雨量小且均匀分布的降雨时段。当峰值雨量大于6 mm/10 min时,模型在雨峰出现后1 h时段内的预测误差显著增大;这也表明在历时短、雨强大的时段区间,模型不易挖掘多特征因素对水位增量的影响。

各模型的预测精度会随着变量因素增加而减少。相似降雨总量下,由于白天时刻增加补水变量因素,模型在夜间的预测精度会优于白天。

3.3.2 未降雨期的预测

在未降雨期,西湖水位没有雨量因素干扰。白天的水位主要由补水量和排水量决定,夜间的水位主要由排水量决定。未降雨期的排水和补水量在一段时间基本保持恒定,水位波动较小,理论上可视为线性变化。将测试集中降雨期数据剔除,计算未降雨期数据的误差。

3.3.3 预测结果对比

为了方便比较模型在不同时期的预测精度,将各模型在不同时期的RMSE值以直方图的形式显示,如图11所示。

由图11可知,每个模型RMSE反映的预测精度按暴雨期、大雨期、中雨期顺序依次递增。这是由于暴雨期的水位波动大,雨量导致水位增量大,而中雨期的水位相对来说趋势较为平稳。理论上未降雨时期的预测精度要高于小雨时期,但GRU在未降雨期的预测精度稍低于小雨期。主要原因是小雨期统计数据量相对较少,而未降雨时期统计数据量多,水位数据受到随机因素干扰的概率也增大,在某时刻有异常因素干扰。

图11 模型均方根误差指标直方图Fig.11 Model root mean square error index histogram

在测试集的不同时期,GRU模型的评价指标都优于SVR模型。这反映了循环神经网络在水文时间序列领域预测的优势;SVR预测性能不均衡,对测试集中偏线性部分(小雨期及未降雨期)预测精度较低。主要由于SVR没有循环神经网络中记忆结构,雨量相关性减弱时,无法根据历史时刻水位变化来挖掘出补水和排水量的时序变化规律。

卷积神经网络能有效提取多变量特征,因而CNN-GRU应用于多变量下的水位预测具备明显的优势[12]。但GRU组件自带的特征提取能力就足以应对特征变量较少的情况,卷积组件对模型整体的预测精度提升有限,故整体预测效果低于GRU-SVR(多项式核)。

大多情况下,GRU-SVR(多项式核)的评价指标都优于其他核函数下的GRU-SVR模型。除了未降雨期的预测精度低于GRU及CNN-GRU模型,该模型在降雨时期都表现不错,尤其在暴雨及大雨期具有最高的预测精度,这表明GRU-SVR(多项式核)比较适用于降雨时期的预测。GRU-SVR(多项式核)水位预测模型的优势在于:GRU组件有效地提取数据中的水位与雨量之间的时空特征,SVR增强了模型整体在降雨期非线性预测能力;但不难看出,由于SVR的权重影响,模型整体在未降雨期的预测能力有限。

即当雨量输入向量为零值,对测试集线性部分预测不敏感,导致了该组合模型在未降雨期的预测误差稍大。

3.4 不同训练集对模型精度影响

在实际情况中,应尽可能选取足够多的样本数据来建立数据驱动模型,但由于各种不可抗因素,往往无法获取完整的水文时序数据。因此,需要考虑选用不同的训练数据集来分析模型的效果。

为了评价增加训练数据后各学习模型的水位预测性能是否有所改善,首先将数据集分为训练集(80%,20 016组实测值)和验证集(20%,5 040组实测值),与上述保持一致。并基于水文时间序列数据自身的特点,利用了参数优化好的GRU-SVR、CNN-GRU、GRU、SVR模型,设计了3种不同的方案对水位进行预测,如图12(a)所示。模型参数保持不变,以1 h预测时长为例,比较了3种训练集数据模式下的拟合效果。各模型的水位预测数据的均方根误差如图12(b)所示。

由图12(b)可知,在训练过程中,所有的学习模型在增加训练数据后都表现出更好的预测性能。与用35%训练数据训练模型相比,输入65%的典型雨季期的数据训练对模型预测性能提升程度最大。但在进一步将训练数据从65%提高到100%时,模型的预测性能提升非常有限。所以,在构建数据驱动模型预测湖泊水位时,为了模型的精度考虑,应尽可能地选择足够长的时间序列的数据。在缺乏足够多的样本数据支撑时,选取典型及代表性的水文数据,也可以达到较好的模型预测效果。

图12 不同训练集下的模型预测性能Fig.12 Model prediction performance under different training sets

GRU-SVR(多项式核)的预测效果较好,在不同的训练方案下的评价指标值优于其余模型;对比同一方案下各个模型评价指标间差异度,GRU-SVR(多项式核)在训练数据为35%时与其余模型差异度最大,这表明该组合模型在样本量较小时具有显著优势。

3.5 不同预测长度对模型精度影响

雨量越小与湖泊的水位相关性也就越小,洪涝灾害的发生大多是由于暴雨、大雨导致的。在实际应用中,暴雨及大雨的水位预报提前期越早,防洪方法就越有效。因此探索了暴雨及大雨期下最佳预测长度。各模型优化参数保持不变,对比了各模型在不同预测长度下的均方根误差,如图13所示。

由图13(a)可知,随着预测长度的增加,模型预测误差逐渐增加。大多情况下,GRU-SVR在暴雨期下的预测精度都要高于其余模型;与从10 min增加到30 min相比,预测长度从30 min增加到1 h时,各模型的RMSE值变化幅度越大,即预测误差显著增大。

由图13(b)可知,GRU-SVR(RBF核)、GRU-SVR(Sigmoid核)预测效果较差,在大雨期时,当预测长度从10 min增加到1 h时,GRU-SVR(多项式核)模型RMSE值变化幅度最小,CNN-GRU与GRU模型相接近;此外,大雨期下误差幅度随预测长度的变化规律基本与暴雨期基本一致。对数据总体综合分析,各模型参数保持不变的情况下,GRU-SVR(多项式核)组合模型稳定性好,模型的适用性强,不同预测长度下都能达到相对稳定的预测效果。

图13 预测长度对模型预测精度影响Fig.13 The Influence of prediction time on model prediction accuracy

4 结论

为改善传统RNN的梯度消失问题以及探索GRU组合模型在水文时序的预测效果,首次尝试将GRU-SVR组合模型应用于湖泊水位预测方面并分析其适用性,在实际应用中有参考价值。

(1)核函数参数与组合模型的预测精度相关性较大,GRU-SVR(多项式核)的整体预测精度较GRU-SVR(RBF核)、GRU-SVR(Sigmoid核)分别提高了64.3%、51.3%。

(2)GRU组件可以改进SVR模型无法反映长短期时序规律的缺点,对信息有效筛选,一定程度提高了预测准确率。以预测长度为1 h为例,与传统的CNN-GRU及GRU、SVR模型相比,GRU-SVR(多项式核)在降雨不同时期的评价指标均有不同程度的改进;且数据整体预测精度分别提升了3.2%、10.3%和59.3%。

(3)在缺乏足够多的样本数据支撑时,选取典型及代表性的水文数据,也可以达到较好的模型预测效果。且模型预测湖泊的暴雨和大雨期水位时,表现出预测时长越小,评价指标越优的趋势;相同预测时长下,随着随雨量等级的增加,预测性能逐渐下降。在实际应用中,综合考虑精度和提前期的要求宜选择30 min的预测长度。

猜你喜欢

降雨水位精度
热连轧机组粗轧机精度控制
Veejet80150喷头特性及其在降雨机中的应用
超高精度计时器——原子钟
分析误差提精度
龙王降雨
基于DSPIC33F微处理器的采集精度的提高
泥石流
七年级数学期中测试题(B)