采用遗传算法的小波神经网络在降雨量预测中的应用
2015-12-22付立华魏林宏
付立华,王 刚,魏林宏
(1.河南工程学院 电气信息工程学院,河南 郑州 451191;2.南京大学 金陵学院,江苏 南京 210089)
采用遗传算法的小波神经网络在降雨量预测中的应用
付立华1,王刚1,魏林宏2
(1.河南工程学院 电气信息工程学院,河南 郑州 451191;2.南京大学 金陵学院,江苏 南京 210089)
摘要:为了提高降雨量预测的精度,提出了一种基于遗传算法(GA)优化小波神经网络(WNN)的降雨量预测方法.依据邯郸市1956—1998年历年的降雨量构造了两类不同的训练样本,分别利用BP神经网络、小波神经网络和遗传小波神经网络(GA-WNN)对7月份的降雨量进行了预测.仿真结果表明,遗传小波神经网络克服了BP算法容易陷入局部最优的缺点,提高了预测精度,为降雨量预测提供了一种新方法.
关键词:小波神经网络;遗传算法;降雨量;预测
降雨量对地下水资源的合理开采、干旱和洪涝灾害程度的预报都有很大影响[1-2].目前,降雨量预测方法包括时间序列法[3-5]、均生函数法[6-7]、人工神经网络预测法和支持向量机预测法[8-12].人工神经网络预测不需要显示函数,只需建立输入和输出变量的对应关系,并且可以通过各种算法对网络进行优化处理,提高预测精度.用于降雨量预测的人工神经网络主要有BP网络、RBF网络和Elman网络等.
近年来,结合了小波分析和神经网络优势的小波神经网络在故障诊断、预测和控制等领域得到了广泛应用,但在降雨量预测方面还鲜有文献报道.采用人工神经网络对降雨量进行预测主要有两种方法,一种是利用气温、气压、风速、湿度等相关气象数据进行预测,另一种是用前几年降雨量预测后几年降雨量.本研究以后一种方法为基础,加入用同一年前两个月的降雨量对本月降雨量进行预测对比法,以找出预报精度更高的方法.
1小波神经网络
图1 小波神经网络的拓扑结构模型Fig.1 Topological structure model of WNN
小波分析研究信号在局部时间范围内的频域特征,所以在时域和频域都具有表征信号局部特征的能力.小波函数根据需要调整时间和频率的分辨率,可进行多分辨率分析[13].人工神经网络的每个神经元都有信息处理和存储功能,神经元之间连接权值的变化反映了对信息的记忆,同时又和神经元对激励的响应共同反映了对信息的处理.小波神经网络用小波函数作为神经元的传输函数,其权重之间相关冗余度小,对某一权重训练不会影响其他权重.因此,小波神经网络具有比人工神经网络收敛速度快、逼近能力强[14]等优点.本研究采用三层小波神经网络,网络拓扑结构模型如图1所示.
图1中,xi为网络输入变量,y为网络预测输出降雨量,wij和vj分别为连接输入层与隐含层、隐含层与输出层之间的权值,隐含层神经元的传输函数即小波基函数ψj取Morlet小波,数学表达式为
ψ(x)=e-x2/2cos(1.75x).
(1)
隐含层输出计算公式为
(2)
式中,ψ(j)为隐含层第j个节点输出值, bj为小波基函数ψi的平移因子, aj为ψi的伸缩因子, m为隐含层节点数.
小波神经网络输出层计算公式为
(3)
小波神经网络的参数修正算法采用梯度下降法,使网络实际输出不断逼近期望输出.修正过程如下:
(1)定义网络目标误差
(4)
(2)参数修正公式为
(5)
(6)
(7)
(8)
式(5)~(8)中的ηw,ηv,ηa和ηb为网络学习速率,λ为动量项学习速率,通过最小化网络目标误差E来调整各个参数.
2遗传小波神经网络算法
2.1算法流程
小波神经网络的训练算法是基于BP算法的,所以网络参数的初始值对于网络是否收敛、收敛速度和预测精度都有很大影响.因此,引入了遗传算法来优化网络参数初始值,从而增强BP算法的全局搜索能力、避免陷入局部最优[15].遗传小波神经网络的算法流程如图2所示.
图2 遗传小波神经网络算法流程Fig.2 Algorithm flowchart of GA-WNN
该流程包括确定小波神经网络、遗传算法优化和小波神经网络预测3个部分.其中,根据网络输入输出参数的个数确定小波神经网络结构,进而确定遗传算法个体的长度;遗传算法优化使用遗传算法优化小波神经网络的权值和阈值,种群中每个个体都包含了一个网络所有权值和阈值,个体通过适应度函数计算个体适应度值,遗传算法通过选择、交叉和变异操作找到最优适应度值对应的个体;小波神经网络预测利用遗传算法得到最优个体对网络的初始权值和阈值进行赋值,网络经过训练后输出预测结果.
2.2算法实现
(1)种群初始化
三层小波神经网络中,输入节点数为n个,隐含层节点数为m个,输出层节点数为1个.网络参数wij为n×m个,bj为m个,aj为m个,vj为m×1个,即m个.每个参数使用10位二进制编码,则遗传算法个体编码长度为10×(n×m+m+m+m),编码排列顺序为w11,w12,…,wnm,a1,…,am,b1,…,bm,v1,…,vm.
(2)适应度函数
用训练数据训练网络后进行预测,把网络目标误差定义为个体适应度F,
(9)
(3)选择操作
对编码之后的网络参数采用轮盘赌法选择适应度优良的个体以形成新种群.
(4)交叉操作
从种群中选择两个个体,通过两个染色体以一定的概率交叉得到新的优秀个体.
(5)变异操作
从种群中随机选取一个个体,选择其中的一点进行变异以产生更优秀的个体.
(6)网络预测
对新种群进行解码操作,得到新网络参数继续训练网络,直到满足精度要求.
3训练样本构造
以邯郸市1956—1998年历年5,6,7月份降雨量为研究对象.由于降雨量数值的差别较大,为防止神经网络输出饱和,将雨量值归一化到区间[0,1].训练样本对神经网络预测性能的影响很大,构造两种不同的训练样本,建立小波神经网络预报模型,对7月份的降雨量进行预测研究.
(1)样本a
用前5年的降雨量预测后一年的降雨量,即以1956—1960年历年7月份的雨量数值作为网络输入向量,1961年7月份雨量数值作为网络输出向量;以1957—1961年历年7月份的雨量数值作为网络输入向量,1962年7月份雨量数值作为网络输出向量.按照同样的构造方式,共有38个样本,取前32个样本作为训练样本,后6个样本作为测试样本.
(2)样本b
用前3年和同一时期关联性较强的前2个月降雨量预测后一年的降雨量,即以1956—1958年历年7月份的雨量数值和1959年5,6月份的雨量数值作为网络输入向量,1959年7月份的雨量数值作为网络输出向量;以1957—1959年历年7月份的雨量数值和1960年5,6月份的雨量数值作为网络输入向量,1960年7月份的雨量数值作为网络输出向量.按照同样的构造方式,共有40个样本,取前34个样本作为训练样本,后6个样本作为测试样本.
4降雨量预测结果分析
4.1遗传小波神经网络参数设计
遗传小波神经网络共有3层,输入层节点数n=5,输出层节点数为1.经过多次试探,发现隐含层节点数m=11时效果最好.参数修正中的动量项学习速率λ=0.1.遗传算法参数设置如下:种群规模为30,遗传代数为100,交叉概率为0.7,变异概率为0.01,种群复制率为0.95.
4.2预测结果分析
分别采用BP神经网络、小波神经网络和遗传小波神经网络对邯郸市历年7月份的降雨量进行预测仿真研究.小波神经网络的迭代次数为500,图3和图4为遗传算法训练过程中误差的进化曲线,可见算法已经收敛.考虑到有可能出现的神经网络过拟合问题,目前的迭代次数可满足要求.
图3 样本a误差进化曲线Fig.3 Evolutionary error of sample a
图4 样本b误差进化曲线Fig.4 Evolutionary error of sample b
样本a的预测结果如表1所示,取误差绝对值进行分析.
表1 3种算法对样本a的预测结果对比
注:平均偏差为6个测试样本预测误差绝对值的平均值,平均相对误差为6个测试样本预测相对误差绝对值的平均值.
由表1可知,BP预测平均偏差为69.53 mm,平均相对误差为51.59%,预测误差标准差为90.45;小波神经网络预测平均偏差为69.79 mm,平均相对误差为43.85%,预测误差标准差为88.20;遗传小波神经网络预测平均偏差为16.08 mm,平均相对误差为14.19%,预测误差标准差为22.35.样本b的预测结果如表2所示.
表2 3种算法对样本b预测结果对比
由表2可知,BP预测平均偏差为60.42 mm,平均相对误差为34.11%,预测误差标准差为78.18;小波神经网络预测平均偏差为37.81 mm,平均相对误差为29.76%,预测误差标准差为51.49;遗传小波神经网络预测平均偏差为8.123 mm,平均相对误差为4.543%,预测误差标准差为14.89.可见,样本b的3种算法的预测精度都高于样本a,说明用年份和月份构造的样本更适于降雨量的预测.对于同一样本,小波神经网络预测的精度高于BP神经网络,经过遗传算法优化后的小波神经网络的预测精度大幅度提高,证明了所提出的样本构造方法、预报模型的建立方法和训练算法在降雨量预测中的可行性.
5结语
将小波神经网络引入降雨量预测,利用遗传算法对网络的初始参数进行了优化.在仿真实验中,针对两类不同的训练样本,分别利用BP算法、WNN算法和GA-WNN算法进行了预测对比.实验结果表明,遗传小波神经网络具有较强的全局搜索能力,提高了预测精度,而年份和月份组合的样本更适用于降雨量的预测.
参考文献:
[1]魏林宏,黄朝阳,郝振纯.人工神经网络预报降雨技术在地下水资源评价中的应用[J].勘察科学技术,2005(4):37-40.
[2]葛彩莲,蔡焕杰,王健.基于BP神经网络的降雨量预测研究[J].节水灌溉,2010(4):7-10.
[3]仲远见,李靖,王龙.改进马尔可夫链降雨量预测模型的应用[J].济南大学学报:自然科学版,2009,23(4):402-405.
[4]白玉洁.改进时间序列模型在降雨量预测中的应用研究[J].计算机仿真,2011,28(10):141-145.
[5]崔磊,迟道才,曲霞.基于小波消噪的平稳时间序列分析方法在降雨量预测中的应用[J].中国农村水利水电,2010(9):30-32,35.
[6]孙映宏.基于均生函数模型的杭州市年降雨量预测[J].水电能源科学,2009,27(2):14-16.
[7]冯健,张常俊.均生函数逐步回归模型在水文长期预报中的应用[J].东北水利水电,2010(8):44-46.
[8]封毅,武博强,崔灵周.基于BP神经网络的台风降雨量预测研究[J].水土保持研究,2012,19(3):289-293.
[9]李增,迟道才,于淼.基于遗传算法的改进Elman神经网络模型的降雨量预测[J].沈阳农业大学学报,2010,41(1):69-72.
[10]迟道才,张兰芬,李雪.基于遗传算法优化的支持向量及干旱预测模型[J].沈阳农业大学学报,2013,44(2):190-194.
[11]宋星原,张国栋.基于WA-SVM组合模型的流域月降雨量预测研究[J].长江科学院院报,2007,24(5):23-26.
[12]周佩玲,陶小丽,傅忠谦,等.改进RBF神经网络用于降雨量预测[J].小型微型计算机系统,2001,22(2):244-246.
[13]杨福生.小波变换的工程分析与应用[M].北京:科学出版社,2001:1-5.
[14]陈哲,冯天瑾.小波神经网络研究进展及展望[J].青岛海洋大学学报:自然科学版,1999,29(4):663-668.
[15]赵学智,邹春华,陈统坚,等.小波神经网络的参数初始化研究[J].华南理工大学学报:自然科学版,2003,31(2):77-79.
Application of WNN based on GA in rainfall forecasting
FU Lihua1,WANG Gang1,WEI Linhong2
(1.CollegeofElectricalInformationEngineering,HenanInstituteofEngineering,Zhengzhou451191,China;
2.SchoolofJinling,NanjingUniversity,Nanjing210089,China)
Abstract:In order to improve the forecasting accuracy of rainfall, a method of rainfall forecasting using wavelet neural network (WNN) optimized by genetic algorithm (GA) is presented. On the basis of rainfall calendar year from 1956 to 1998, two different kinds training samples are constituted. Using BP neural network, WNN and GA-WNN separately, rainfall of July is predicted. Simulations results show that GA-WNN avoids the weakness of BP algorithm falling into local optimum, improving the forecasting accuracy largely and providing a new prediction method for rainfall forecasting.
Key words:wavelet neural network; genetic algorithm; rainfall; forecast
作者简介:付立华(1973-),女,黑龙江双城人,讲师,硕士,主要研究方向为人工智能控制与虚拟测试技术.
收稿日期:2014-07-29
中图分类号:S161.6
文献标志码:A
文章编号:1674-330X(2015)01-0053-05