APP下载

人工蜂群-BP网络降雨预测方法在洞庭湖区汉寿站的应用

2020-03-16乔祺石林刘雁鹏周俊杰

湖南水利水电 2020年6期
关键词:降雨量蜂群降雨

乔祺,石林,刘雁鹏,周俊杰

(1.湖南省水利水电科学研究院,湖南长沙 410007;2.湖南省水利信息技术中心,湖南长沙 410007;3.湖南省河长制工作委员会办公室,湖南长沙 410007)

引言

洞庭湖位于湖南省北部、长江荆江河段南岸,为我国第二大淡水湖。湖南省湘水、资水、沅水、澧水四大水系汇入洞庭湖。长江经松滋口、太平口、藕池口、调弦口等四口进入洞庭湖,经洞庭湖调蓄后,又于城陵矶汇入长江[1]。洞庭湖流域地处中亚热带向北亚热带过渡地带,降水主要受季风和地形影响,降水分布不均匀,60%~70%的降水量集中在汛期(4—9 月),且年际之间变化率较大,地表水系发达,河网交错纵横。因此,预测洞庭湖流域月降水量,对旱涝灾害预警、提升湖区水资源管理利用效能意义重大。

鉴于上述背景,传统预测方法如统计回归、时间序列分析等已不能满足复杂需要,神经网络方法被逐渐应用于降水量预测研究中。本文针对BP 神经网络模型易产生局部最优解等局限性,引入人工蜂群方法嫁接于BP 神经网络模型中,通过人工蜂群算法优化BP神经网络的权值和阈值,以此提高网络的稳固性与准确性。以洞庭湖区汉寿站1971—2018 年月降雨量作为训练及测试样本,进行试验论证。

1 人工蜂群-BP 神经网络方法

人工神经网络是基于生物学中神经网络的基本原理构建而成的一种非线性系统,其特色在于信息的分布式存储和并行协同处理[2]。利用大量神经元有机构建,实现单一神经元难以适配的丰富行为。通过学习和训练,神经网络可以把知识中隐含的规律,记录在各个神经元的权重中[3]。由于BP 神经网络具有能拟合任意曲线、自学习、自组织和自适应的能力,适合降水预测[4~5]。

人工蜂群算法(artificial bee colony algorithm,简称ABC 算法)是模仿蜜蜂行为提出的一种智能算法[6]。通过各人工蜂个体的局部寻优行为,进行目标优劣比对,最终在群体中使全局最优值突现出来。其主要优势是参数少,操作简单,收敛速度较快并拥有良好的鲁棒性,近年来在各领域优化问题求解上应用愈加广泛。

本文引入人工蜂群-BP 神经网络方法(简称ABCBP 方法),通过人工蜂群进行全局寻优后将优化的权值矩阵代入训练网络,以此作为BP 神经网络的初始值进行训练,得到预测模型最终权值矩阵。首先建立BP 网络样本,大量实践证明三层结构的BP 神经网络可满足降雨预报的需要。

算法主要执行步骤如下:

Step1:人工蜂群算法初始化,包括确定种群数、最大迭代次数MCN、食物源迭代控制参数limit 和确定搜索空间即解的范围,在搜索空间中按照式(1)随机生成初始解,i∈{1,2,3,……,SN},SN 为食物源个数,j∈{1,2,……,D}每个解xi是一个D 维的向量,D 是问题的维数。

Step2:蜜蜂记录到目前为止的最优值。并由每个引领蜂在当前食物源邻域内展开搜索,搜索公式如(2)产生一个新解即新食物源。

式中,k∈﹛1,2,……,SN﹜,j∈{1,2,……,D},且k≠i;φij为[-1,1]之间的随机数。计算新解的适应度值并评价,若新解的适应度值优于旧解,则新食物源替换旧食物源,否则保留旧食物源。

Step3:跟随蜂根据式(3)计算每个解的选择概率,

其中,fit(xi)为第i 个解的适应度值,即第i 个食物源的丰富程度。食物源越丰富,被选择的概率越大。然后在区间[0,1]内随机产生一个数,如果解的概率值大于该随机数,则跟随蜂由式(2)产生一个新解,并检验新解的fit,若新解的fit 比之前好,则跟随蜂将保留新解抛弃旧解;反之将保留旧解。

Step4:在所有跟随蜂完成搜寻过程之后,如果一个解经过limit 次循环仍没有被进一步更新,那么认为此解陷入局部最优,则舍弃该食物源,此食物源对应的引领蜂转变为一个侦查蜂。侦察蜂由式(1)产生一个新的食物源代替它。转至步骤2,继续引领蜂搜索过程。

Step5:整个种群将进行引领蜂、跟随蜂和侦查蜂搜寻过程的重复循环,直到达到最大迭代次数MCN 或误差允许值E0。

Step6:以寻找到的最优食源为BP 神经网络权系数的初始值,进行网络训练。

该方法计算流程见图1。

图1 人工蜂群-BP 神经网络方法计算流程图

2 模型构建

四水和四口水文控制站以下范围内的气象站主要有南县、安乡、澧县、临澧、华容、沅江、岳阳、常德、汨罗、汉寿、湘阴、宁乡、长沙、益阳。本文考虑降雨长序列资料完整性,以汉寿站为例,对1971—2018 年月降雨量数据进行分析预测,采用N 年以前25 年的降雨资料预测N~N+4 年(5 年内)逐月降雨量。

1)样本构建及数据处理

首先以1971—1995 年构造训练样本,1996—2000年为输出样本,依次往后递推,构造{1971、1972…1995}、{1972、1973…1996}…{1984、1985…2008}等14组输入样本以及1996—2000、1997—2001…2009—2013 等14 组输出样本。将1989—2013 年作为测试输入数据,2014—2018 年作为测试输出数据进行验证。故BP 神经网络输入层节点数为25,输出层节点数为5,隐藏层节点数依据经验公式确定,取n 为整数12。根据人工神经网络模型拓扑结构及其权重因子ω、阈值因子θ,需优化的权值变量矩阵为:

为使网络有较好的收敛性,将输入层及输出层数据归一化到[0,1]区间内,利用式(4)进行处理。

式中:x′n,i为第i 年第n 月降水量的归一化值,xn,i为第i 年n 月实际降水量值,xn,max为历年第n 月降水量最大值,xn,min为历年第n 月降水量最小值。

人工蜂群算法的食物源个数取50 个,每个食物源包涵14 个BP 样本,对50×14 个样本进行初始化,即对所有权值和阈值因子在(-1,1)区间内进行随机赋值。

2)模型设置

ABC-BP 模型采用ABC 算法优化BP 神经网络的权值和阈值初始化过程,再代入网络进行训练、仿真及预测。既可避免BP 神经网络落入局部极小值以及早熟的发生,又让神经网络的非线性逼近能力得以体现。人工蜂群算法的食物源质量一般是越丰富越好,即适应度值越大越好。而对于降雨量预测问题,目标函数是所有样本方差之和的平均值,如式(5)所示,是求最小值优化问题。故将目标函数fit 按式(6)作变形,转换为最大值优化问题。fit′为转换后的适应度函数。

其中,n 为样本个数,m 为输出层维度,t 为期望输出,y 为神经网络实际计算输出,fit 为目标函数。

ABC 方法最大迭代次数MCN 取2 000、食物源迭代控制参数limit 取100。

BP 神经网络设置样本数为14,训练次数为5 000次,训练目标的误差为0.01,在训练神经网络时,需要设置学习率(learning rate)控制权值及阈值参数更新的速度,学习率决定了参数每次更新的幅度,若幅度过大,则可能导致参数在极优值的两侧来回摆动;若幅度过小,又会降低优化速度。所以,本文采用一种指数衰减学习率[7]设置方法,在迭代初期得到较高的下降速度,而后随着迭代的继续逐步减小学习率,使得模型更加稳定。

3 结果分析

将经过人工蜂群-BP 神经网络方法(简称ABCBP 方法)训练的网络结构固定,采用1989—2013 年作为测试输入数据,2014—2018 年作为测试输出数据,进行模拟预测。并与传统BP 方法预测结果作对比,结果如表1 所示。月降雨量实际值、BP 预测值、ABC-BP预测值折线图分别如图2~图6 所示。

将表1 中每年度每月降雨预测值与实际值的相对误差取平均值,ABC-BP 方法与传统BP 方法预测5 年内月降雨量误差对比如表2 所示。

由上述图表分析可知,BP 方法与ABC-BP 方法预测结果与实测值曲线走向基本吻合。二者均能根据前25 年月降雨量样本,预测后5 年月降雨趋势及范围。体现了神经网络基本的自主学习能力与联想存储特性,证明了BP 神经网络模型在降雨量预测领域的适用性。同时,由表2 可知,本文引入的人工蜂群-BP 神经网络方法(ABC-BP 方法)在对2014—2018 年的月降雨量预测中,除2018 年平均误差略大于传统BP 方法,其余年度均小于传统BP 方法,充分证明人工蜂群方法嫁接于BP 神经网络之后,其在全局寻优上的优越性。尤其是在出现极值的特殊年份,ABC-BP 方法可根据该年降水丰枯特性、年内降水时间分布特点及演变规律等,使预测结果更加接近实际值。

表1 2014—2018 年预测结果对比(降雨量单位:mm)

图2 2014 年预测结果

图3 2015 年预测结果

表2 BP、ABC-BP 方法预测精度对比%

ABC-BP 方法与传统BP 方法相比,在提升降雨预测精度上取得了长足进步。但同时观察可知,无论传统BP 方法亦或ABC-BP 方法,在出现明显旱涝及偏离季节规律的极端情况下,其预测准确度仍有待加强。如2017 年7 月,属1 年之中的汛期,实测降雨量仅为7.8 mm,BP 误差与ABC-BP 误差分别高达167.95%、107.69%。由于本文评价指标为1 年所有月份相对误差平均值,个别特殊月份的预测误差也导致了全年总体误差的升高。故ABC-BP 方法在考虑多种影响因子、稳固模型结构方面仍有优化空间。

图4 2016 年预测结果

图5 2017 年预测结果

图6 2018 年预测结果

4 结语

本文利用ABC 方法优秀的全局寻优性能及BP 网络的自主学习和反馈修正能力,将人工蜂群方法(ABC)与BP 神经网络模型有效耦合,引入人工蜂群-BP 神经网络方法(ABC-BP 方法),并应用于洞庭湖区汉寿站月降雨量预测分析。模拟结果表明,该方法与传统神经网络相比,具有更高的预测精度及对极值更为敏感的特性,为洞庭湖区降雨预测、提升旱涝灾害预警精度提供一定参考。

猜你喜欢

降雨量蜂群降雨
来安县水旱灾害分析与防灾措施探讨
德州市多年降雨特征分析
降雨量与面积的关系
降雨型滑坡经验性降雨型阈值研究(以乐清市为例)
诠释蜜蜂中毒的诸种“怪象”
“蜂群”席卷天下
龙王降雨
泥石流
改进gbest引导的人工蜂群算法
降雨量