APP下载

基于BP神经网络对七里街测站洪峰的预报与分析

2016-05-04肖恭伟刘国林曹淑敏孙志阳

关键词:BP神经网络

肖恭伟, 刘国林, 曹淑敏, 孙志阳

(山东科技大学 测绘科学与工程学院, 山东 青岛 266590)



基于BP神经网络对七里街测站洪峰的预报与分析

肖恭伟, 刘国林, 曹淑敏, 孙志阳

(山东科技大学 测绘科学与工程学院, 山东 青岛 266590)

摘要:在分析预报误差的时间分段递推修正方法的基础上,以建溪流域东游、水吉、建阳三个水文站点的水位监测数据为基础,计算得到BP神经网络隐含层最优节点数目为10,建立了BP神经网络对七里街测站水位预报的数学模型.在此基础上,利用时间分段递推修正方法对预报的结果进行修正,计算结果表明,时间分段递推修正方法使得预报精度提高很多,其结果与实际更加符合.

关键词:BP神经网络; 洪峰预报; 隐含层节点; 误差修正

对洪峰的预报直接关系到人民的生命和财产安全,目前研究洪峰预报的方法主要有人工神经网络、灰色模型等[1-2].洪水的预报是非线性问题,而神经网络具有很强的非线性映射能力,将神经网络应用在对洪峰的预报模型是合适的,并通过对预报误差进行修正可以提高预报的精度,达到实际应用的水平.

1BP神经网络

1.1BP神经网络原理

BP神经网络是目前应用十分广泛的一种神经网络模型[3-4],包含输入层、隐含层、输出层三层拓扑结构,其BP神经网络原理[5-6]拓扑图见图1.

图1 BP神经网络结构图

隐含层的第j个节点的输入为

(1)

式中,wij、θj分别为隐含层的权值和第j个节点的阈值.对应的输出为

(2)

输出层第k个节点的输入为

(3)

式中,wjk、θk分别为输出层的权值和第k个节点的阈值.对应的输出为

(4)

其中f为激活函数,最常用的为sigmoid函数,类似的还有双曲正切函数,sigmoid把[-,+]映射到[0,1],而双曲正切则映射到[-1,1].

BP网络更新权值公式[7]:

w(t+1)=w(t)+ηδ(t)y(t)

(5)

其中:y(t)为神经元的输出,δ(t)为误差项,η表示学习效率.

1.2BP神经网络算法流程

下面给出模型中BP反向传播训练步骤[8]:

(1)置各层权值和阈值的初值,wij, wjk, θj,θk为随机数阵;误差代价函数ε赋值;循环次数R.

(2)提供训练用的学习资料:输入矩阵xki(k=1,…,R; i=1,…,M),经过参考模型后可得到目标输出ypk,即教师信号;经过神经网络后可得到yk,对于每组k进行下面的第(3)—(5)步.

(3)计算网络输出yk,计算隐含层单元状态aj.

(4)计算训练输出层误差值δk,计算训练隐含层的误差值δj.

(5)分别修正隐含层wij和输出层wjk.

(6)每次经过训练后,判断指标是否满足精度要求,即判断误差代价函数E是否达到E≤ε.若满足要求则转到第(7)步,否则再判断是否到达设定的循环次数.若循环次数等于R,转到第(7)步,否则转到第(2)步,重新读取一组样本,继续循环训练网络.

(7)停止.

BP模型把一组样本I/O问题变成了一个非线性的优化问题,使用了优化中最普遍的梯度下降法,用迭代运算求解权系数.下面给出算法步骤流程图(图2):

2预报误差的修正方法

时间分段递推修正公式为

T′(k)=T(k)+en

(6)

式中:T(k)为预报结果,T′(k)为修正之后的预报结果,en为修正点前n个小时误差的平均值作为修正因子.

修正因子的求法如下:

(7)

3隐含层最优节点数计算

3.1实验区与数据源

论文所采用的实验数据是来源于闽江支流建溪流域,建阳、水吉、东游及七里街河流每小时采集一次水位.数据时间跨度从2008年1月1日的18:00到2012年3月6日的8:00,共3年3个月的36615条数据,其中30024条样本作为训练数据,6591条数据作为预报数据进行验证.

3.2数据预处理

数据预处理是训练神经网络的关键步骤,直接影响到训练后神经网络的性能.为了提高神经网络的训练效率,需要对输入输出样本集数据进行必要的预处理.

利用Matlab内部函数mapminmax函数对输入和目标数据进行归一化处理,使其落入[-1,1]区间.mapminmax函数归一化公式[9]见式(8),其中默认情况下ymax=1,ymin=-1:

(8)

当xmax=xmin时,整个向量元素全部相等,所以此时y=xmin.数据的后处理是将计算结果进行还原,即反归一化:

(9)

3.3最优隐含层节点数的选取

目前,隐含层数目的确定十分复杂,一般只能根据经验公式来获取最佳隐含层节点数目[10].

(2)n1=log2n,其中n是输入节点数目,n1是隐含层节点数目.

通过(1)和(2)可以计算出隐含层节点数的大致范围,遍历所有节点就可以找到预报误差最小的隐层节点数目,即为最佳节点数目.

针对本文实验,首先根据经验公式计算隐层节点的选取范围在3~12之间,然后采用均方误差最小的方法计算出最优隐含层节点数目为10,其误差分布见图3.

图3 隐含层误差分布图

4实验结果分析

4.1BP神经网络对七里街水位的预报

东游、水吉、建阳三个站点洪峰到达七里街的时间分别是5h、6h、6h.七里街站点水位预报以东游、水吉、建阳站水位为输入,七里街水位作为输出,预报未来5h七里街的水位.为了得到更好的预报结果,使得神经网络能够学习、记忆的更加完善,在对神经网络输入的时候增加了预报站点的同时水位,发现预报精度较高.预报效果见图4.

(a)预测及真实数据

(b)加入同时水位后图4 七里街水位BP神经网络模型预报图

BP神经网络模型预报水位误差统计表见表1.

表1BP神经网络模型水位误差概率统计表%

站点名输入站点误差<30cm误差<20cm误差<10cm七里街建阳、东游、水吉62.1544.8820.91

对洪水的预报,洪峰的预报效果关系到模型的优劣程度,在此也统计了在高水位即洪峰误差小于30cm、20cm、10cm的预报效果见表2.

表2BP神经网络模型洪峰预报统计%

站点名输入站点误差<30cm误差<20cm误差<10cm七里街建阳、东游、水吉48.2536.613.99

由表2 可见,BP神经网络模型对洪峰的预报精度未达到理想精度,故采用时间分段递推方式修正.

4.2基于误差修正的BP神经网络对七里街水位的预报

为了对误差修正,某个时刻的误差可能与其前一段时间的误差有关系.利用时间分段递推方法,利用前n个小时误差的平均值修正后面1个小时误差,得最优n值见图5,其七里街为1.

(a)全体误差随前n小时的修正

(b)洪峰误差随前n时的修正图5 最优n值的选取

时间分段递推方法对全体预报误差小于30cm、20cm、10cm分布的情况见表3,对洪峰预报误差小于30cm、20cm、10cm的分布情况见表4.

表3时间分段递推法对全体误差修正结果对比%

站点名输入站点修正前误差修正后误差修正后误差增量七里街建阳东游水吉62.1444.8720.9158.7445.7228.42-3.400.857.51

表4时间分段递推法对洪峰误差修正结果对比%

站点名输入站点修正前误差修正后误差修正后误差增量七里街建阳东游水吉48.2536.3613.9999.3095.1081.1251.0558.7467.13

由表3和表4可以看出,采用时间分段递推方法对全体误差的修正效果很低,但是对洪峰的修正非常合适.图6展示了三段洪峰修正前后的对比图,由图6可以看出时间分段递推方法修正洪峰预报结果非常显著,达到可以实际应用的水准.

(a)修正前洪峰

(b)修正后洪峰图6 误差修正后的洪峰预报对比图

5结论

本文基于BP神经网络模型对七里街测站洪峰的预报,通过对预报误差的修正,使得预报精度进一步提高.实验证明建溪流域可以采用BP神经网络洪峰预报,利用时间分段递推方法可以将洪峰预报误差小于30cm精度提高到99.30%,误差小于20cm精度提高到95.10%,误差小于10cm的精度提高到81.12%,从而说明了本文所建立的模型对洪峰的预报具有可行性.

参考文献:

[1]包为民. 水文预报[M]. 北京:中国水利水电出版社,2008.

[2]赵琪,吴素芬,薛燕,等. 神经网络模型在中长期水文预报中的实用性探究[J]. 新疆水利,2008,6(38):20-22.

[3]Zhu C J,Wu L P,Li S. Flood forecasting research based on the chaotic BP neural network model [J]. Key Engineering Materials,2010(439): 411-416.

[4]Chen Y,Yi Z. The BP artificial neural network model on expressway construction phase risk [J]. Systems Engineering Procedia,2012(4): 409-415.

[5] 王德明,王莉,张广明. 基于遗传BP神经网络的短期风速预测模型[J]. 浙江大学学报,2012,5(46):837-841.

[6] 李鸿雁等. 提高人工神经网络洪水峰值预报精度的研究[J]. 自然灾害学报,2002,11 (1):57-61.

[7] 贾世杰,杨东坡,刘金环. 基于卷积神经网络的商品图像精细分类[J]. 山东科技大学学报,2014,6(33):91-96.

[8] 侯媛彬,杜京义,汪梅. 神经网络[M]. 西安:西安电子科技大学出版社,2007.

[9] 朱星明,卢长娜,王如云,等. 基于人工神经网络的洪水水位预报模型[J]. 水利学报,2005,7(36):806-811.

[10] 叶斌,雷燕. 关于BP网中隐含层层数及其节点数选取方法浅析[J]. 商丘职业技术学院学报,2004,6(3):52-53.

(编辑:姚佳良)

The analysis and forecast of flood crest in Qilijie Station based on the BP neural network

XIAO Gong-wei, LIU Guo-lin, CAO Shu-min, SUN Zhi-yang

(Geomatics College, Shandong University of Science and Technology, Qingdao 266590, China)

Abstract:According to the recursion in different section of time, and the monitoring data of water level in three hydrological sites including the east reach of Jianxi, Shuiji, and Jianyang, we find that the optimal node number of hidden layer of BP neural network is 10 through complex calculation, and establish a mathematical model to forecast the water level in Qilijie Station using the BP neural network. On this basis, we can amend the forecast results with recursion in different section of time. The caculation results show that this method improves the forecast accuracy.It can be pointed out through calculation that the correction method of recursion in different section of time is a better choice due to the coincidence between results and facts.

Key words:BP neural network; flood crest forecast; hidden layer node; error correction

中图分类号:P426.616; TP183

文献标志码:A

文章编号:1672-6197(2016)04-0049-04

作者简介:肖恭伟,男,xiaogongwei10@163.com; 通信作者: 刘国林,男,gliu@sdust.edu.cn

基金项目:山东省自然科学基金项目(ZK2012DM001)

收稿日期:2015-08-21

猜你喜欢

BP神经网络
基于神经网络的北京市房价预测研究
一种基于OpenCV的车牌识别方法
基于遗传算法—BP神经网络的乳腺肿瘤辅助诊断模型
一种基于改进BP神经网络预测T/R组件温度的方法
基于BP神经网络的光通信系统故障诊断
提高BP神经网络学习速率的算法研究
就bp神经网络银行选址模型的相关研究
基于DEA—GA—BP的建设工程评标方法研究
复杂背景下的手势识别方法
BP神经网络在软件质量评价中的应用研究 