APP下载

基于BP-Adaboost模型的年降水量预测研究

2014-12-11彭高辉郭春梅

关键词:预测器权值降水量

彭高辉,张 祥,郭春梅

(1.华北水利水电大学 数学与信息科学学院,河南 郑州 450045;2.开封市城区水利局,河南 开封 475000)

常见的水文预测模型分为统计模型和人工智能模型两大类[1-2]. 在统计模型方面,张永领等基于SVD 迭代的短期气候预测模型对华北16 个站和长江中下游地区30 个站近10 年夏季降水做预测[3];常青等融合时间序列模型与支持向量回归用于赤峰地区夏季降水量预测[4];廖捷等通过叠加马尔科夫链模型对小金站1961—2010 年的年降水量预测研究[5].在人工智能模型方面,刘国东等通过在水文预测中应用BP 模型,对网络结构的收敛准则的选择、训练速度较慢和预测精度不够等问题进行了研究[6];方永远等结合实例论证分析了在一定条件下有效加速BP 神经网络的收敛[7];闭良祖等将马尔科夫链和RBF 神经网络相结合,建立R -M 降水量预测模型[8].研究上述成果发现,统计模型对短时变化的降水序列难以预测,人工智能模型存在易过度拟合等不足.针对上述问题,借鉴数据挖掘中组合学习器,采用基于Adaboost 算法的BP 神经网络组合模型用于年降水量的预测.

1 研究方法

1.1 Adaboost 算法原理

Freund 等在1997 年提出Adaboost 算法[9],是Boosting 算法之一,是一种迭代算法. 其核心思想是利用弱学习算法通过集成的方式生成精度高的学习算法. Adaboost 算法对给定的弱算法采用重采样方法为每个分类器提供不同的训练数据进行迭代运算,根据每次训练中每个样本的分类是否正确、上次总体分类的准确率,确定每个样本的权值.权重更新过的样本集被用于下一个分类器训练,整个训练过程循环迭代,最后将每次训练得到的弱分类器集成为决策分类器.

1.2 BP-Adaboost 算法原理

BP-Adaboost 算法[10-11]是对BP 神经网络和Adaboost 算法的集成改进.通过合并多个BP 弱预测器以产生强预测器,弥补了易陷入局部极值、收敛速度慢的缺点,从而使组合后得到的强预测器具有较强的泛化能力.算法流程如图1 所示.

图1 BP-Adaboost 算法预测流程

具体算法步骤如下:

1)样本数据采集和网络的初始化. 从样本空间中随机选择m 组训练数据,初始化数据的分布权值Dt=1 m-1,根据样本输入和输出维数确定神经网络结构,并初始化BP 神经网络权值和阈值.

2)弱预测器的训练.训练第t 个弱预测器时,用训练数据训练BP 神经网络并预测训练数据输出,得到预测序列g(t)的预测误差

3)计算预测序列的权值.根据预测序列g(t)的预测误差et计算预测序列的权值

4)权值调整.根据预测序列权值at调整下一轮训练样本的权值

式中Bt为归一化因子,目的是在权值比例不变的情况下使分布权值和为1.

5)组合强预测函数.训练T 轮后得到T 组弱预测函数f(gt,at),由T 组弱预测函数f(gt,at)组合得到强预测函数

2 算例分析

2.1 数据来源及处理

数据来源于中国气象科学数据共享服务网,根据河南省10 个地市(郑州、安阳、开封、新乡、信阳(1951—2012 年)、南阳(1952—2012 年)、三门峡(1957—2012 年)、商丘(1954—2012 年)、许昌(1953—2012 年)、驻马店(1959—2012 年))的月降水量数据,进行年降水量预测研究.

2.2 算法试验

为验证本模型的可靠性,将10 个地市的数据分为训练集和测试集.采用BP-Adaboost 模型和BP 神经网络模型分别进行2,3,4 a 的降水量预测,通过和实际数据比较,检验2 种模型的效果.

经多次试验,选定使用6 个BP 神经网络模型的BP-Adaboost 模型,采用3 层网络结构,将误差超过0.05 的测试样本作为加强学习的样本,训练次数设置为100 次.经过反复训练,得到6 个BP 神经网络集成的强预测器.

为比较预测能力的提升度,对2 种模型的误差作如下处理:

式中:H 为强预测器的输出值;hi为第i 个弱预测器的输出值;L 为测试样本中相应的数据;error1 和error2 分别为强、弱预测器的误差百分率. 结果见表1.

由表1 可以得出,使用BP-Adaboost 强预测器预测的10 个地市的数据预测误差率小于BP 神经网络弱预测器的误差率,可见集成Adaboost 和BP 算法的BP-Adaboost 组合模型的预测能力比单个BP神经网络的强,3 种预测长度下的平均预测误差率分别为4.824 3%,2.526 8%,4.068 5%.

为定量比较改进前后2 模型的预测能力,引入预测能力提升率,用w 表示,

表1 强、弱预测器对2 ~4 a 长度年降水量预测误差率

根据表1 中的数据,由式(7)可得出BP-Ada-boost 模型的预测能力提升率.

图2 2 ~4 a 预测长度下预测能力提升率

结合图2 可以看出,2 a 预测长度下的预测提升率波动最大,3 a 和4 a 预测长度下预测能力较为稳定.总体而言,2 ~4 a 的预测长度下的预测能力分别平均提升56.651 1%,41.135 4%,42.578 3%.

在上述研究基础上,分别对2013 年和2014 年的年降水量进行预测,并取其均值作为对2013 和2014 年的年降水量预测值,结果见表2.

表2 2013 年和2014 年的年降水量mm

3 结 语

利用Adaboost 算法和BP 神经网络相结合的BP-Adaboost 强预测器模型对河南省10 个地市的年降水量进行预测. 试验分析表明,BP-Adaboost 模型的预测能力较单一BP 神经网络模型有较大幅度的提升;同时可以看出,通过将Adaboost 算法和其他算法进行耦合得到的新算法可以显著提高算法的学习能力.不足之处在于预测能力的提升率存在波动,有待进一步深入研究.

[1]Breiman L.Statistical modeling:the two cultures[J].Statistical Science,2010,16(3):199 -215.

[2]Tiwari M K,Chatterjee C. Uncertainty assessment and ensemble flood forecasting using Boostrap based Artificial Neurial Networks(BANNs)[J]. Journal of Hydrology,2010,382(1 -4):20 -33.

[3]张永领,吴胜安,丁裕国,等.SVD 迭代模型在夏季降水预测中的应用[J].气象学报,2006,64(1):121 -128.

[4]常青,赵晓莉.时间序列模型在降水量预测中的应用研究[J].计算机仿真,2011,7(28):204 -206.

[5]廖捷,陈功,胡豪然. 叠加马尔科夫链在年降水量预测中的应用[J]. 安徽农业科学,2012,40(9):5532-5533.

[6]刘国东,丁晶. BP 网络用于水文预测的几个问题探讨[J].水利学报,1999,30(1):66 -71.

[7]方红远,陈建军.水文预测的BP 网络模型及其拟合度分析[J].扬州大学学报,2001,4(4):57 -61.

[8]闭祖良,张展羽,朱新国,等.基于RBF 神经网络马尔可夫模型的降水量预测[J].节水灌溉,2010(11):1 -3.

[9]张晓龙,任芳.支持向量机与Adaboost 的文本算法研究[J].计算机应用研究,2009,26(1):77 -78.

[10]董元元,陈基漓,唐小侠. 基于BP-Adaboost 的文本分类研究[J].网络安全技术与应用,2012(3):42 -43.

[11]严超,王元庆,李久雪,等.Adaboost 分类问题的理论推导[J].东南大学学报,2011,41(4):700 -705.

猜你喜欢

预测器权值降水量
1958—2019年新兴县汛期降水量的气候特征
一种融合时间权值和用户行为序列的电影推荐模型
输入延迟系统的切换伪预测镇定控制器
CONTENTS
一种改进型TAGE分支预测器的实现
降水量是怎么算出来的
黄台桥站多年降水量变化特征分析
1988—2017年呼和浩特市降水演变特征分析
基于权值动量的RBM加速学习算法研究
爱情预测器