Journal of Water Resources Research 水资源研究, 2012, 1, 340-346 http://dx.doi.org/10.12677/jwrr.2012.15052 Published Online October 2012 (http://www.hanspub.org/journal/jwrr.html) Study on the Precipitation Forecast Based on BP-Neural Network and Wavelet Analysis* Haijing Xiong1, Shicheng Wang2, Dong Wang3 1Anhui Huai River Water Technology Limited Company, Bengbu 2Hydrological Bureau, Huaihe River Commission, Bengbu 3Department of Hydrosciences, School of Earth Sciences and Engineering, State Key Laboratory of Pollution Control and Resource Reuse, Nanjing University, Nanjing Email: xionghaijing@126.com Received: Jul. 29th, 2012; revised: Aug. 14th, 2012; accepted: Sep. 1st, 2012 Abstract: Jiangsu province is located in the Yangtze and Huaihe River basins, which is one of the areas most severely affected by droughts and floods. Therefore, it is important to study on the precipitation forecast in this area for the flood control with drought relief. In this paper, the precipitation forecast model based on BP Neural Network and Wavelet Neural Network is established with the precip itation data fro m four rainfall sta- tions in Jiangsu Province, which include the Xuzhou, Ganyu, Dongtai and Nanjing Stations. The following conclusions can be obtained by the example analysis: 1) The minimum relative error of BP neural network is 1.16%, the maximum relative error is 16.35%, the determine coefficient is 0.87, the mean square error is 4.27%; 2) The minimum relative error of WNN neural network is 0.7%, the maximum relative error is 88.65%, the determine coefficient is 0.94, the mean square error is 4.2%. The resu lts show th at: 1) It is feasi- ble to apply the back propagation neural network precipitation forecast model. To a certain extent, this model can reflect the trends of the precipitation; 2) There is more error of WNN in some years, so a variety of forecasting methods in practice are used to mutual authentication and mutual checking to improve forecast accuracy. Keywords: Back Propagation Neural Network; Wavelet Neural Network; Annual Precipitation; Rainfall Forecast BP 神经网络和小波分析在年降水预报中的应用研究* 熊海晶 1,王式成 2,王 栋3 1安徽淮河水资源科技有限公司,蚌埠 2淮河水利委员会水文局,蚌埠 3南京大学地球科学与工程学院水科学系,南京 Email: xionghaijing@126.com 收稿日期:2012 年7月29 日;修回日期:2012 年8月14 日;录用日期:2012 年9月1日 摘 要:江苏省地处江淮流域,是受旱涝灾害影响最为严重的地区之一。在该地区开展降水预报的研 究,对防汛抗旱具有重要意义。本文采用江苏省徐州站、赣榆站、东台站和南京站的降水数据,建立 了BP 神经网络和小波神经网络降水预报模型。通过实例分析得出:1) BP网络模型预报的最小相对误 差为 1.16%,最大相对误差为16.35%,最优确定性系数 0.87,均方误差 4.27%;2) WNN网络模型预 报的最小相对误差为 0.7%,最大相对误差为 88.65%,最优确定性系数 0.94,均方误差 4.2%。结果表 明:1) BP神经网络模型预报降水具有可行性,该模型能在一定程度上反映降水变化的趋势;2) WNN *基金项目:国家自然科学基金资助项目(41071018);水利公益项目(201201074);南京大学青年骨干教师培养计划和优秀中青年学科带头人 培养计划资助项目。 作者简介:熊海晶(1988-),女,江苏如皋人,安徽淮河水资源科技有限公司,助理工程师,主要从事水文水资源的研究。 Copyright © 2012 Hanspub 340 熊海晶,等:BP 神经网络和小波分析在年降水预报中的应用研究 Copyright © 2012 Hanspub 第1卷 · 第5期 341 模型在某些年份预报误差较大,可在实践中将多种预报方法相互验证,相互校核,提高预报精度。 关键词:BP 神经网络;小波神经网络;年降水量;降水预报 1. 引言 减到 0的一类函数,即 。常用的小波函 d0tt 年降水量作为水资源管理、洪涝灾害预报以及水 文情势预报分析的重要参数,决定了一个地区的天然 水资源丰富程度。水资源是基础性的自然资源和战略 性的经济资源。因此,准确地预报降水,一方面可为 开发利用水资源提供科学依据,另一方面又可为防汛 抗旱提供合理参考。 数有 Haar 小波、Morlet 小波、Mexocan Hat小波、 Daubechies 小波等。 2.2.2. 小波变换 小波变换采用改变时间–频率窗口形状的方法, 很好的解决了时间分辨率和频率分辨率的矛盾,在时 间域和频率域里都具有很好的局部化性质。对信号中 的低频成分,采用宽的时间窗,得到高的频率分辨率; 对信号中的高频成分,采用窄的时间窗,得到低的频 率分辨率。 20 世纪 80 年代以前,国内外对降水预报的研究多 以实测数据的统计分析为基础。然而,经济社会的快 速发展导致人类活动对自然系统的影响逐渐加大,气 象因素更加错综复杂,降水的影响因子逐渐增多,导 致降水系统的复杂性增强,从而使得建立降水预报模 型的难度增加,进而加大了降水预报研究工作的难 度。 为子小波,对于时间序列 2 f tLR, 换为: 若 ,at 其连续小波变 20 世纪 80 年代初Morlet 提出小波分析理论[1], 小波分析理论是数学中的“显微镜”,具有良好的时、 频多分辨能力。1992 年,Zhang 等结合了小波分析和 神经网络的优势,提出了小波神经网络(WNN)[2]。 1 2 ,d ftb Wab aftt a 式中: t 为 t 的复共轭函数; 为对应于 不同尺度不同位置的小波变换系数。一般的时间序列 是离散的,则离散小波变换形式为: , f Wab 2. 研究方法简介 1 2 1 ,N fk kt b Wabat fkta 2.1. BP神经网络 式中: 为离散点数;N t 为抽样时间间隔。 BP 神经网络是一种多层前向反馈型神经网络, 其神经元的传递函数是S型函数,输出的是 0到1之 间的连续值,它可以实现从输入到输出的任意非线性 映射。BP 神经网络具有广泛的适应性和有效性,主 要应用于模式识别与分类、数据压缩和函数逼近等方 面。BP 网络体现了神经网络最精华的部分 ,在实 际 应用中,很多模型都采用BP 网络及其变式。 2.2.3. 小波分解与重构 小波分解常用快速变换算法计算,其中有著名的 Mallat 算法[3]和A. T rous算法[4]。这里采用 Mallat 算法。 对任意水文时间序列 01, 2,, f tVt n i i c ,可以将 其分解成高频部分和低频部分 ,然后把高、低频 率系数进行进一步分解,如此重复就可以得到任意尺 度(或分辨率)上的高频部分和低频部分。其算法为: w BP 神经网络是一种分层型的典型多层网络,具 有输入层、隐含层和输出层,层与层之间多采用全连 接的方式,同一层单元之间不存在相互连接。本文选 取LM(Leven berg-Marq u ardt) 算法。 1, 0, 2 ik im m chmk c 1, 1, 2 ik im m whmk c 2.2. 小波分析 1,0, 1, 22 i kikik kk chmkchmk c 2.2.1. 小波函数 式中:i、k、m为正整数,是高频成分; 02hm k、 小波函数 指的是具有震荡特性、能够迅速衰 t 熊海晶,等:BP 神经网络和小波分析在年降水预报中的应用研究 第1卷 · 第5期 12hm k 02hm k 分别为离散低通和高通滤波器系数; 、 均是共轭滤波器系数; 12hm k i ct 为在尺度 i的背景信号的低频成分; 为在尺度 下的细节信号(高频成分)。 i wt i wt 小波重构是小波分解的逆变换,也就是把分解得 到的近似系数 和细节系数得到原始的水文 时间序列 i ct i wt f t。与小波分解过程相比,小波重构过程 首先从尺度最低的近似系数 i ct和细节系数 wt i开 始通过作用低频和高频重构滤波器恢复出上一尺度 的近似信号 1i ct ,将这个过程继续下去,直到得到 原始水文时间序列 f t。 3. 实例分析 本文选用江苏省徐州站(1960~2009 年)、赣榆站 (1957~2009 年)、东台站(1953~2009 年)和南京站(1951~ 2009 年)的多年降水数据,对其建立BP 和WNN 降水 预报模型。 3.1. BP神经网络应用实例 3.1.1. 建模原理与方法 运用 BP 神经网络建立降水预报模型,研究内容 与建模步骤如下。 1) 数据样本的选取 本文选取最大日降水、最大月降水、最大连续 4 个月降水和最大连续2个月降水这4个因子作为预报 模型的输入变量,选取年降水作为输出变量。徐州站 (1960~2004 年)、赣榆站(1957~2004 年)、东台站(1953~ 2004 年)和南京站(1951~2004年)的降水数据作为学习 样本,2005~2009 年的降水数据作为检验样本。 2) 数据的归一化处理 样本数据的归一化是为了加快训练网络的收敛 性,同时由于降水受到一些偶然因素的影响,资料序 列不够稳定,数据波动较大,如果直接采用降水实测 数据作为目标值进行预报,误差非常大,因此将降水 数据归一化到[0.05,0.95]区间内,可以达到较高的预 报精度。 3) 建立 BP 网络模型 理论上,一个 3层的 BP 网络模型能够实现任意 的连续映射[5]。增加隐含层节点数和隐含层层数可以 提高模型精度,但是隐含层过多会导致网络复杂化, 伴随着隐含层的增加而产生的连接权和阈值会增加 网络训练时间。本文选取一个隐含层,即建立三层 BP 神经网络。 4) 网络训练 网络训练就是模式顺传播和误差逆传播的反复 交替的过程。为了提高网络的性能,避免陷入局部最 小,本文采用改进的BP 算法,即 11 ijij ijij ttt t ij E 式中: 为动量因子;E为误差函数。 时间 t网络的误差函数定义为 2 1 1 2 q jj j Ety td t 式中: j y t为输出层第j个神经元在时刻t的实际输 出; j dt为该时刻的希望输出;q为输出层的神经元 数。当 Et 时,网络停止训练,此时的网络模型 就是所需要的。 5) 隐含层节点数 隐含层节点数采用试凑法确定。先设置较少的隐 节点训练网络,然后逐渐增加隐节点数,用同一样本 集进行训练,从中确定网络误差最小时对应的隐节点 数。 6) 建模 输入层和输出层的传递函数分别为tansig 和 purelin,训练函数采用 trainlm,网络采用 net=newff (p_train,t_trai n ,[i 1],{'tansig','purelin'},'trainlm', 'learngd')格式,网络训练为[net,tr]=train(net,p_train, t_train);网络仿真为 y(i,:)=sim(net,p_test);训练参 数设置如下:学习率net.trainParam.lr=0.1,最大训练 次数 net.trainParam.epochs=5000,目标误差 net. trainParam.goal=0.001,显示步长 net.trainParam.show= 50。 3.1.2. 模型预报结果分析 各站 2005~2009 年降水的预报值及相对误差,如 表1和图1所示。 Copyright © 2012 Hanspub 342 熊海晶,等:BP 神经网络和小波分析在年降水预报中的应用研究 Copyright © 2012 Hanspub 第1卷 · 第5期 343 Table 1. Result and error of precipitation forecast based on BP-Neural Network (mm) 表1. BP神经网络降水预报结果及误差(mm) 测站 项目 2005年 2006年 2007年 2008年 2009年 实测值 1162.9 879.8 921.1 867.6 750.9 预报值 1116.0 890.0 885.2.4 908.4 873.7 徐州站 相对误差(%) 4.03 1.16 3.90 4.70 16.35 实测值 1237.5 1102.7 1222.1 1097.5 755.8 预报值 1288.3 1213.7 1282.8 1147.8 739.5 赣榆站 相对误差(%) 4.11 10.07 4.97 4.58 2.16 实测值 1104.1 1083 1135.2 852.0 1104.6 预报值 1155.7 1001.3 1092.3 963.2 1079.8 东台站 相对误差(%) 4.67 7.54 3.78 13.05 2.25 实测值 992.3 1106.8 1070.9 975.0 1363.5 预报值 966.8 1037.9 1001.5 1001.0 1317.0 南京站 相对误差(%) 2.57 6.23 6.48 2.67 3.41 (a) 徐州站 (b) 赣榆站 (c) 东台站 (d) 南京站 Figure 1. Observed and forecasted precipitations for each station during 2005-2009 图1. 2005年~2009 年各测站实测降水和 BP 网络预报降水 3.2. 小波神经网络应用实例 3.2.1. 数据序列的小波分解 计算仍采用徐州站、赣榆站、东台站和南京站的 降水序列,样本的划分与前面的BP 神经网络降水预 报模型完全一致。小波函数选用 db4[6],当分解到第 3 层时,能够清晰看出降水序列的趋势,因此对降水序 列进行了 3层的小波分解。各站小波分解如图2所示。 3.2.2. 数据序列的小波重构 对分解后的降水序列进行重构得到小波重构的 各子序列 3321 ,, ,addd。 熊海晶,等:BP 神经网络和小波分析在年降水预报中的应用研究 第1卷 · 第5期 (a) 徐州站 (b) 赣榆站 (c) 东台站 (d) 南京站 Figure 2. Wavelet decomposition for each station 图2. 各测站年降水小波分解图 3.2.3. BP降水预报模型 对重构后的降水数据建立BP 神经网络模型,以 t时刻小波重构序列 3321 ,, ,addd 作为 BP 网络的输 入,t + T时刻原始序列的值作为 BP网络的输出(T为 预报的预见期),进行预报,得到小波神经网络降水预 报模型结果如表 2所示。 3.3. BP/WNN模型对比 将各测站的 BP/WNN 模型的预报值与实测值进 行对比,结果如表 3和图3所示。 进一步采用确定性系数DC、均方误差 MSE 和平 均绝对误差MAE 对模型的预报精度进行比较。计算 得到降水预报模型的确定性系数、均方误差和平均绝 对误差如所表 4所示。 4. 结语 本文运过 BP/WNN 神经网络对年降水序列建立 了降水预报模型,对模型的研究表明: 1) BP神经网络模型预报效果良好,能够大致反 映降水序列变化的趋势。但BP 网络对于降水较低值 的预报效果不太理想。主要原因由于BP 网络作为前 馈网络,它的输出只取决于网络的输入和权重,这就 存在了一些局部极小点,导致面临局部极小值问题; 此外“试错法”增加了确定最优值的难度,进而影响 了模型精度。 2) WNN模型在某些年份预报误差较大,导致整 体的预报模拟精度低于 BP神经网络。但 WNN模型 构建比 BP 网络模型简单,造成预报序列最值误差很 Copyright © 2012 Hanspub 344 熊海晶,等:BP 神经网络和小波分析在年降水预报中的应用研究 第1卷 · 第5期 Table 2. Precipitation forecasts of WNN( mm) 表2. 小波神经网络降水预报模型结果(mm) 测站 项目 2005年 2006年 2007年 2008年 2009年 实测值 1162.9 879.8 921.1 867.6 750.9 预测值 1095.6 889 924.3 861.2 771.2 徐州站 相对误差(%) 5.79 2.2 0.7 1.57 7.01 实测值 1237.5 1102.7 1222.1 1097.5 755.8 预测值 1189 1152.5 1073.3 1116.6 1048.7 赣榆站 相对误差(%) 5.97 7.35 18.67 2.85 88.65 实测值 1104.1 1083 1135.2 852 1104.6 预测值 1098.6 1096.9 1097.1 1097 1097.8 东台站 相对误差(%) 0.77 2.02 5.14 53.41 0.96 实测值 992.3 1106.8 1070.9 975 1363.5 预测值 1041.4 1130.8 1095 1012.1 1100.1 南京站 相对误差(%) 9.28 3.73 3.97 7.24 29.23 Table 3. The results of BP/WNN precipitation forecasts (mm) 表3. 各站 BP/WNN 降水预报模型结果对比(mm) BP WNN 站点 年份 实测值 预测值 相对误差(%) 预测值 相对误差(%) 2005 1162.9 1116.0 4.03 1095.6 5.79 2006 879.8 890.0 1.16 889.0 2.20 2007 921.1 885.2 3.90 924.3 0.70 2008 867.6 908.4 4.70 861.2 1.57 徐州站 2009 750.9 873.7 16.35 771.2 7.01 2005 1237.5 1288.3 4.11 1189.0 5.97 2006 1102.7 1113.7 10.07 1152.5 7.35 2007 1222.1 1232.8 4.97 1073.3 18.67 2008 1097.5 1147.8 4.58 1116.6 2.85 赣榆站 2009 755.8 739.5 2.16 1048.7 88.65 2005 1104.1 1155.7 4.67 1098.6 0.77 2006 1083.0 1001.3 7.54 1096.9 2.02 2007 1135.2 1092.3 3.78 1097.1 5.14 2008 852.0 963.2 13.05 1097.0 53.41 东台站 2009 1104.6 1079.8 2.25 1097.8 0.96 2005 992.3 966.8 2.57 1041.4 9.28 2006 1106.8 1037.9 6.23 1130.8 3.73 2007 1070.9 1001.5 6.48 1095.0 3.97 2008 975.0 1001.0 2.67 1012.1 7.24 南京站 2009 1363.5 1317.0 3.41 1100.1 29.23 Copyright © 2012 Hanspub 345 熊海晶,等:BP 神经网络和小波分析在年降水预报中的应用研究 第1卷 · 第5期 (a) 徐州站 (b) 赣榆站 (c) 东台站 (d) 南京站 Figure 3. Comparison of observed and forecasted precipitations for each station 图3. 各测站 BP/WNN 实测值与预报值对比图 Table 4. Comparison of BP/WNN precipitation forecasts for each station 表4. 各测站 BP/WNN 降水预报模型模拟精度对比 站点 模型 最小相对误差 最大相对误差 DC MAE MSE BP 1.16% 16.35% 0.78 6.03% 63.7 徐州站 WNN 0.7% 7.01% 0.94 4.2% 31.8 BP 2.16% 10.07% 0.86 5.18% 65.3 赣榆站 WNN 2.85% 88.65% 0.25 24.7% 150.4 BP 2.25% 13.05% 0.55 6.26% 69.5 东台站 WNN 0.77% 53.41% –0.16 12.46% 111.1 BP 2.57% 6.48% 0.87 4.27% 51.1 南京站 WNN 3.73% 29.23% 0.24 10.69% 121.9 大的原因可能是小波分解后的系数在重构过程存在 失真,以及小波基函数和小波分解层数的选择是人为 确定的。 参考文献 (References) [1] 崔锦泰. 小波分析导论[M]. 西安: 西安交通大学出版社, 1995. CUI Jingtai. Introduction of wavelet analysis. Xi’an: Xi’an Communication University Press, 1995. (in Chinese) [2] ZHANG, Q. H., BENVENISE, A. Wavelet network. IEEE Tran- son Neural Network, 1992, 3(6): 889-897. [3] CHUI, C. K. An introduction to wavelet. Boston: Academic Press, 1992. [4] AUSSEN, A., MURTAGH, F. Combining neural network fore- casts on wavelet-transfomed time series. 1997, 113-121. [5] KITAHARA, M., ACHENBACH, J. D. and GUO, Q . C. Neural network for crack-dapth determination from ultrasonic back- scattering data. Review of Progress in Quantitative Nondestruc- tive Evaluation, 1992, 11: 701-708. [6] DAUBECHIES, I. Orthonormal bases of compactly supported wavelets. Communications on Pure and Applied Mathematics, 1988, 41(7): 909-996. Copyright © 2012 Hanspub 346 |