李 宏 亮
(广西壮族自治区水利电力勘测设计研究院,南宁 530023)
中长期径流预报对于开展水库优化调度、洪水管理、河道航运管理和河流取用水规划等工作具有重要作用。中长期径流预报是指根据水文现象所具有的客观规律,利用有效的水文气象资料,采用某些数学方法或者其他方法,对预见期大于流域最大汇流时间且在一年以内的径流预报方式。由于水文系统十分复杂,系统的影响因素众多,影响方式与影响程度难以精确度量,造成了中长期径流预报很难取得精确结果。但是国内外的科研工作者对中长期径流预报进行了大量研究并取得了大量成果,给予后来者很多宝贵的经验,有力地推动了中长期径流预报的发展。Hamlet[1]利用成因分析法研究了尼尔尼诺和太平洋涛动现象与哥伦比亚河流之间的旱涝关系。Foufoular Gegious[2]通过小波分解技术,在降水序列-频率尺度的基础上进行能量分解,从而为研究降水形成机制开辟了新路径。杨道辉[3]通过探求发现基于粒子群算法的人工神经网络预报模型能够加快收敛速度,可以有效减小径流预报结果的误差。丁涛[4]提出了一种基于混沌水文时间序列的区间预测法,并结合模糊聚类算法计算对于区间风险度下的预测区间。Box等[5]提出自回归滑动平均模型(ARMA)由于其直观的时间相依形式,其参数具有现实的物理意义并能反映水文序列的统计特征,从而被广泛地应用在中长期预报中。因此,本文通过加权平均法集合三种不同预报模型的优点建立集合预报模型,更精确无误地进行中长期径流预报。
漓江桂林水文站以上流域集雨面积为2 762 km2,漓江桂林水文站多年平均流量为133 m3/s,多年最小月平均流量实测值为10.8 m3/s,最小月平均流量为5.9 m3/s,最枯日流量仅为3.8 m3/s。近年来,随着经济发展,桂林市市区人口急增,桂林城市用水每天向漓江取用的水总量达60 万m3,相当于7 m3/s,城市用水已经超过漓江最小月平均流量5.9 m3/s,桂林市及沿江两岸群众的引水安全受到严重威胁。由于枯水期水量较少,漓江风景名胜区旅游通航受到严重影响,在冬季,百里漓江有时仅能通航10~20 km,大大减少了旅游通航里程甚至断航,极大地影响了漓江的山水自然景观和旅游形象。因此,开展漓江桂林断面的中长期径流预报模型工作刻不容缓。
BP(BackPropagation)神经网络模型是人工神经网络模型的一种,模型在1986年被首次提出并在全世界范围内迅速成为应用最广泛的神经网络模型之一。该模型属于误差反馈模型,即输入值经过模型计算,在输出端进行结果输出,如果输出的结果精度达不到预期的要求,则将计算结果的误差逆向反馈到网络层中的每一个元素中,以此作为调节连接节点权重的依据。之后不断重复该过程,直到计算结果精度满足要求或者计算次数达到预定值为止。BP神经网络模型算法的学习规则是采用了数学中的最速下降法,通过正向计算和误差反向传播来不断地调整连接的权值和阈值,从而使模型计算出来的结果误差平方和最小。BP神经网络模型是一种典型的前馈神经网络,模型具有三层结构,即模型输入层、模型隐含层和模型输出层,其中相邻两层的全部神经元互相连接,同一层之间的神经元没有联系,模型结构如图1所示。
图1 BP神经网络结构图
BP 神经网络模型算法主要由两部分组成,即数据的前向计算和计算误差的反向传播。前向计算时,数据经过输入层→隐含层→输出层计算得到模型结果,在计算过程中,每层神经元只会影响下一层的神经元,与本层神经元和前层神经元没有关联。当模型计算结果达不到预期时,则需要进行误差的反向传播计算。通过前向计算和误差反向传播这两个过程不断的交替进行, 使用最速下降法不断寻求更加合理的权向量,从而使模型计算结果误差函数达到最小值。
多元线性回归方程的建立方法为:经过分析,对已经挑选到的k个预报因子X1,X2,…,Xk通过回归分析,建立这些因子与预报对象y的关系,其数学模型为:
(1)
式中:β0,β1,…,βk等为回归方程中的回归系数,同时也被称为预报系数,y=[y1,y2,…,yn]T是y的n次观测值,Xi=[x1i,x2i,…,xni]T为多元线性回归方程实测预报因子的值,ε=[ε1,ε2,…,εn]T为多元线性回归方程的残差项。
将上式应用最小二乘法可导出如下方程组:
(2)
(3)
(4)
(5)
根据最小二乘估计法可得:β=(XTX)-1XTy与β0,β1,…,βk确定后,对预报时段进行预报,同时可以对训练样本进行模拟并统计合格率。
Elman 神经网络包含信息的延时和反馈,是一种非常典型的动态递归神经网络,该网络模型自 1990 年被J.L.Elman提出之后,已经在全世界范围内得到了广泛的应用。递归神经的动态特性主要体现在网络信号的延时递归,即模型某时刻的输出结果不仅仅与该时刻的模型输入值有关,同时也与该时刻以前的输入值有关,这就是网络系统动态性的体现。动态系统不仅有优势,同时也存在一些问题:系统中的递归信号会随时间不断变化,因此系统在运行过程中存在稳定性问题。所以在神经网络模型权值赋值时需要考虑其合理性,否则神经网络在运行过程中容易崩溃。因此在递归型神经网络模型的设计和应用中需要关注网络系统的稳定性,以保证递归神经网络模型能够正常的运行。
Elman神经网络作为一种动态反馈模型,不仅仅具有该类模型都有的输入层、隐含层和输出单元,同时还有一个特殊的联系单元。这个单元的作用是用来记录隐含层之前的输出值,也可以称它为延时算子,由于这个延时算子的存在,才使Elman 神经网络具有动态记忆的能力。Elman神经网络的结构如图2所示。
图2 Elman神经网络结构图
本文使用了BP神经网络模型、多元线性回归模型和Elman神经网络模型进行径流中长期预报,为了集合上述模型各自的优势,减少模型计算误差,提高中长期径流预报的精度,现采用加权平均法对以上多个模型进行综合分析。在建立多模型集合预报方法时,最重要的是确定各个模型的权重,而对权重分配影响最大的两个因素分别是预报精度和稳定性[18]。基于上述理论,建立多模型集合预报的过程如下所示。
(1)多模型权重确定。模型稳定性主要表现在两个方面,即波动幅度和整体波动性。其中波动幅度由最大误差值和最小误差值的差值进行表示,其计算方法如下所示:
Eb=Dmax-Dmin
(6)
式中:Eb为波动幅度;Dmax、Dmin分别为最大、最小相对误差。
整体波动性则体现在多数预报结果相对变化的大小,预报模型的整体波动性计算如下式:
(7)
式中:Ez为整体波动幅度;Di,j为预测的第i,j个预测月份的相对误差;n为预报样本数量。
模型精度则用相对误差的均方根表示,计算公式如下:
(8)
多模型集合预报首先要保证预报结果的精度不降低,其次要考虑整体的波动性和波动幅度[18]。设共有m个预报模型,第i个(i≤3)预报模型的权重计算如下所示:
(9)
(2)上述权重分配的过程中主要是考虑了稳定度和精度,该分配方法能使加权平均值与真实值更加接近,同时也会使计算误差趋于稳定,因此可以采用最小二乘法集合模型架构。设集合模型每个月份的预报结果为p,则有:
(10)
式中:a′、b′为任意的实数;ak为各个中长期径流预报模型的预报结果。
预报因子是影响预报对象的前期因素,在多元回归方程中是作为自变量,因此对它的正确挑选是预报结果好坏的关键因素。在挑选径流中长期预报因子时,最先需要考虑的因素是预报因子与径流之间的物理联系[19];其次要对预报因子及径流数据进行处理,为了能够挑选出和预报对象有密切联系的预报因子,同时要保证各预报因子之间的相关性最小,避免选取的预报因子相互重复。由于漓江流域历史资料不全,所掌握的降雨资料有限且缺测漏测时间长,因此本模型中预报因子的挑选考虑仅局限在流量因子范围内。
统计分析漓江流域桂林(三)水文站1958-2016年的实测年径流序列,计算得桂林站多年平均径流量为128.09 m3/s。根据实测径流资料,采用差积曲线法,进行径流系列代表性分析,桂林站年径流差积曲线图见图3。
从差积曲线计算结果可以看出,桂林站年径流系列丰枯交替变化明显,具有连丰连枯、丰枯交替的规律,整个系列为完整的丰平枯周期,具有比较好的代表性。
本文采用了4种方法进行中长期预报,用4种模型对2016年流量数据分别进行月、旬尺度预报计算。其中月预报是对2016年一整年以月尺度进行预报,旬预报是指2016年1月上旬到2016年3月下旬。以上述3种时间尺度预报结果对模型进行检验。
采用的BP和ELMAN神经网络模型输入层、隐含层和输出层神经元个数分别为t、8和1个,t为输入层神经元个数,视各时间尺度的具体情况而不同。BP神经网络模型的学习率为0.77,冲量因子为0.95,误差精度为0.05,最大训练次数为10 000 次。ELMAN神经网络模型的学习率为0.48,误差精度为0.001,最大迭代次数为10 000 次。
当一次水文预报的误差在许可范围内时,即预报的误差值小于许可误差,预报则被认为是合格预报,合格预报的次数和总预报次数的百分比称为预报合格率[20,21]。许可误差采用《水文情报预报规范》(GB/T22482-2008)规定的实测流量的20%[20]。合格率的计算公式[20]如下所示,其中QR为合格率,n为合格预报的次数,m为总预报的次数。
(11)
按照预报合格率的大小不同可以将预报项目精度分为不同的等级。当预报精度达到乙级及以上时可以作为正式预报进行预报结果发布,精度达到丙等级时,由于预报精度不高,仅能作为参考预报。精度评定等级如表1所示[20]。
表1 预报项目精度等级表
4种模型的月预报结果如表2所示,可以看出:对2016全年的月尺度径流预测中,BP神经网络模型和ELMAN神经网络模型预报合格率均为83.3%;多元线性回归模型预报合格率为75%;集合预报模型预报合格率为91.7%。因此,上述4种模型均能较为准确的预报月平均流量,但仅有集合预报模型可以达到甲级预报精度。月预报径流过程曲线图如图4所示,对比实测值与各模型结果来看,BP神经网络模型和ELMAN神经网络模型的模拟结果与实测值的过程趋势拟合度最高,且对于峰值的预报也最接近于实测值。通过计算可以得到月径流预报总量表如表3所示,可以看出ELMAN神经网络模型的预报径流总量最接近实测值。
表2 4种模型2016年月预报流量误差统计
图4 2016年月预报过程曲线图
表3 月径流预报总量表
旬预报结果如表4所示,可以看出:对2016年1月上旬到2016年3月下旬的旬尺度径流预测中,BP神经网络模型和ELMAN神经网络模型预报合格率都为66.7%,预报精度仅能达到丙级;多元线性回归模型预报合格率为77.8%,达到了乙级预报精度;而集合预报模型预报合格率为88.9%,达到了甲级预报精度。旬预报径流过程曲线图如图5所示,对比实测值与各模型结果来看,多元线性回归模型和集合预报模型的模拟结果与实测值的过程趋势拟合度较好,且对于峰值的预报也最接近于实测值。通过计算可以得到旬径流预报总量表如表5所示,可以看出多元线性回归模型、BP神经网络模型与ELMAN神经网络模型的预报径流总量均很接近于实测值。对于旬均流量,3种单独模型中仅有多元线性回归可以达到预报精度要求,而集合了其他3种模型优点的集合预报模型可以将大部分旬的径流预报相对误差控制在20%以内,可作为正式预报结果发布。
表4 4种模型2016年旬预报流量误差统计
图5 2016年旬预报过程曲线图
表5 旬径流预报总量表
本文采用BP神经网络、多元线性回归、Elman神经网络与集合预报模型对漓江桂林断面进行月、旬尺度的中长期径流预报,结果表明:在进行月尺度预报时,三种模型与集合预报模型均能较为准确的预报桂林断面流量,可以应用于工程实际。在进行旬尺度预报时,仅有集合预报模型可以达到甲级预报精度要求。对比分析四种模型预报结果得出结论。
(1)对比三种单独模型与集合预报模型预报结果,ELMAN神经网络模型在月尺度的预报效果要优于其余独立模型。这说明神经网络模型不仅简化了径流预报过程,而且预报精度较高,可用于解决实际应用中非线性水文问题。此外,Elman神经网络模型预报效果较BP神经网路模型预报精度更高,这说明Elman模型在结构中承接层的设置加强了模型对动态信息的处理能力,具有适应时变特性的能力[22]。而多元线性回归模型在旬尺度的预报效果较优于其余独立模型,但仅有集合预报能够对桂林站中长期径流预报进行作业预报,这说明集合预报有效地减小了模型误差。
(2)集合预报模型在月、旬尺度的预报效果均远远高于其余三种模型。这说明不同中长期径流预报模型具有不同特点,集合预报模型集合了三种模型各自的优势,有效地减小了模型计算误差,使误差趋于稳定,增加了预报模型的稳定性,具有相当高的工程实用性。
(3)受限于原始输入资料的匮乏,模型预报因子较少,导致在进行精度要求较高的旬尺度预报时,BP神经网络模型、Elman神经网络模型预报效果较差。未来可考虑引入更多预报因子如大气环流指标进行筛选,可以进一步提升桂林断面的中长期径流预报模型精度。