◎ 何博 重庆交通大学河海学院
河流含沙量是河床演变的重要影响因素,如何预测含沙量的变化情况,不仅对预测河床的变化发展有重要意义,同时,对防洪、灌溉、水资源综合利用、水利工程建设和河流生态有着重要影响。传统的河流含沙量的预测方法多借助于水保法、水文法、物理模拟法等。随着神经网络和机器学习的发展,通过神经网络模型对河流含沙量进行预测已经被部分学者所应用,且取得良好的效果。当前主要采用的泥沙预测神经网络模型包括,BP人工神经网络(BPNN)、长短时记忆神经网络模型(LSTM)、小波神经网络(WNN)以及各种改良后的网络模型。
其中LSTM网络模型由于其能够学习并记忆长期的规律,因此被广泛应用于时间序列的预测。门控循环单元(GRU)模型是LSTM模型的变体,其在LSTM模型的基础上进行了简化,提高了模型的训练速度,同时保留了LSTM的预测效果。郭燕等人采用LSTM和GRU模型预测了洞庭湖水位,结果表明两种模型都具有良好的预测效果。
本文分别采用不同模型对寸滩水文站含沙量序列进行训练和预测,对预测结果进行了对比和误差分析。并探讨了通过考虑干支流来水改善模型输入,提高预测模型的效果。
寸滩站地处长江和嘉陵江交汇处下游7.5km(图1),位于长江上游重庆至涪陵河段之间,是长江上游的重要控制水文站。即受到上游金沙江、岷江、沱江和嘉陵江各个长江支流的入汇影响,同时也处在三峡变动回水区,受回水顶托影响。多年平均流量为3400亿m,多年平均输沙量为3.7亿t。近年来,由于三峡大坝的修建和受到人类活动的影响,寸滩站的泥沙含量呈现出持续减小趋势,输沙量发生了高度改变。寸滩站处在三峡大坝库区,其含沙量变化预测不仅对三峡泥沙问题有着重要影响,同时对长江上游航道维护、生态修复等方面有重要指导意义。寸滩站上游分别有北碚站、朱沱站、高场站,其中北碚站为嘉陵江出口水文控制站,朱沱站是长江进入重庆第一个水文控制站、高场站是岷江出口水文控制站。
图1 研究区域
选取1998年至2018年寸滩站流量序列和含沙量序列、朱沱站、高场站和北碚站流量序列为数据输入。对寸滩站含沙量与寸滩流量、朱沱流量和高场流量进行相关性分析,相关系数计算如式1。
结果发现,寸滩站含沙量和寸滩站、朱沱站、高场站、北碚站流量相关性系数分别为0.77、0.76、0.65、0.54。通过相关性分析可知,寸滩站含沙量与四站流量有一定的相关性,其中与寸滩流量相关性最好,故以寸滩流量为模型主要输入。
为了提高模型的训练速率和预测精度,需要对数据进行标准化处理。标准化公式如式2所示。
LSTM(Long short-term memory)模型是一种特殊的RNN模型,由Hochreiter等人于1997年提出。模型为链式结构(图2),由不同的Cell结构体相互串联组成。在t节点时,Cell同时接收输入特征X和的Cell状态,通过内部特有的“遗忘门”、“输入门”和“输出门”结构来对输入信息进行选择性的接收和去除,在对Cell状态进行更新后输出目标值H,并将更新后的状态传递给Cell。通过不断对Cell状态的更新和传递,克服了传统RNN模型输入和输入之间相互独立的缺点,使得模型具有长期记忆功能。
图2 LSTM模型结构
GRU(Gate Recurrent Unit)模型是LST M模型的变体,由Cho等人于2014年提出。模型结构基本和LSTM模型相同,如图3。其在LSTM的基础上,将“遗忘门”、“输入门”和“输出门”变更为“更新门”和“重置门”。在节点时,更新门将Cell的状态信息引入到Cell中,更新门的值越大说明传入的状态信息就越多。重置门对传入的信息进行控制处理后,输出当前的目标值H。相比于LSTM模型,GRU模型减少了模型输入,提高了模型的训练效率。
图3 GRU模型结构
BPNN(Back Propagation Neuron NetWok)模型由Rumelhart等人于1987年提出,模型结构如图4所示。模型分为输入层、隐藏层和输出层,每一层由不同数量的神经元组成。通过建立反向误差传播修正机制,不断修正各个神经元之间的权重,使模型输出结果越来越逼近真实值。
图4 BPNN模型
CNN(Convolutional Neural Networks)模型由Waibel等人于1987年首先提出。一维CNN模型结果如图5所示。其依靠卷积核的历史感受能力,实现预测功能。模型分为输入层、卷积层、池化层、输出层。输入层将数据序列输入到模型,卷积层采用给定数量的卷积核对输入序列进行特征抽取,池化层对抽取的特征进行子采样和信息过滤,将多维度数据平展成一维数据,最后在输出层输出数据。
图5 CNN模型
模型主要参数设置如表1所示。激活函数统一为relu函数,训练步数设置为100,模型训练方法为随机梯度下降算法(SGD),损失函数为均方误差(MSE)。
表1 模型参数
选用决定系数R和均方误差作为模型预测结果的验证指标。其计算公式如式3、式4所示。
以寸滩站含沙量序列以及寸滩站、朱沱站、高场站、北碚站的流量序列作为输入,对1998年1月1日至2014年9月30日序列进行训练。对寸滩站2014年10月1日至2018年11月30日的次日含沙量进行预测,四种模型预测结果如图6所示。可以看出,GRU和LSTM在总体上的预测效果好于BPNN和CNN。在波谷段,GRU和LSTM预测值能基本贴合实测值,而BPNN和CNN预测值存在波动偏差。在波峰段,4种模型都能检测出波峰,但都存在一定程度的拟合过度。其中CNN对波峰的检测效果最差,其对于2015年6月的含沙量峰值预测敏感度表现不足,对于2016年7月的峰值预测拟合过度。
图6 不同神经网络含沙量预测结果
表2所示为4种模型的预测验证指标。可以看出,GRU预测结果的决定系数得分最高为0.69,CNN得分最低为0.56。GRU和LSTM预测结果的均方根误差为0.015,比BPNN和CNN小0.003。结果表明,GRU和LSTM模型的预测性能明显好于BPNN和CNN模型。
表2 预测性能指标
为进一步分析模型的误差分布情况,根据预测结果分别计算每个样本点的预测相对误差,如图7所示。
图7 预测相对误差分布图
总体上看,各个模型的相对误差分布密度从下往上扩散,呈现底部集中头部分散。其中,BPNN和CNN的相对误差扩散高于GRU和LSTM。同时可以看出,相对误差的分布随着枯水期和丰水期的交替,呈现出集中和分散的波动变化趋势。因此,分别从枯水期(11月1日至4月30日)和丰水期(5月1日至10月30日)来对相对误差进行统计分析,如图8所示。
图8 枯水期(左)和丰水期(右)相对误差分布图
可以看出,枯水期时相对误差分布呈现正偏态分布。其中GRU和LSTM模型预测相对误差分布范围为0-3之间,BPNN和CNN相对误差分布为0-6之间。丰水期时相对误差分布为指数型分布,GRU和LSTM模型预测相对误差分布范围为0-2之间,BPNN和CNN相对误差分布为0-5之间,模型丰水期预测相对误差范围小于枯水期。针对不同相对误差分布所占比重进行分析如图9所示。
图9 枯水期(左)和丰水期(右)相对误差分布比重
以GRU模型为例,预测相对误差在0-0.5范围内的枯水期和丰水期数据比重分别为29%和50%,相对误差大于1的数据比重分别为37%和23%,丰水期低误差预测占比多于枯水期,高误差预测占比少于枯水期。根据其他模型同样可得出,枯水期含沙量预测相对误差大于丰水期。对于枯水期的BPNN模型和CNN模型,其预测相对误差大于2的占比高达48%和41%,预测性能表现较差。
河道下游泥沙主要来源为上游干支流河床质和冲泻质的输移,寸滩站悬移质泥沙主要来源于金沙江和嘉陵江,金沙江和嘉陵江来水大小将对寸滩泥沙含量产生影响。此前的泥沙含量预测模型只选取了预测站流量作为输入,没有考虑上游干支流来水影响。朱沱站、高场站和北碚站位于寸滩上游的干流和支流,本文引入三站流量序列作为模型的输入,对模型输入进行了改进,预测结果性能对比如表3所示。可以看出,改进输入后的GRU模型R为0.69,LSTM为0.67,改进输入前的GRU模型R为0.62,LSTM模型为0.65。说明考虑上游干支流来水影响后,模型的拟合程度得到了提升,同时减小了MSE,模型预测准确度得到了提高。
表3 考虑上游干支流来水对模型性能影响
本文通过四种神经网络模型,预测了寸滩站未来1天的含沙浓度。对各个神经网络模型预测性能进行了对比,并探讨了误差分布。结果表明,GRU模型和LSTM模型更适用于寸滩站含沙量预测,枯水期预测相对误差大于丰水期。此外还发现,引入朱沱站、高场站和北碚站流量序列作为模型输入能提高模型的预测精度。但由于缺乏实测数据资料和河流泥沙浓度变化本身的随机性,对模型预测造成了一定影响。