段焕丰 俞海宁 俞国平 (同济大学 环境科学与工程学院,上海 200092) 摘要:对城市用水需求量的预测,是配水系统为其操作运行系统准备和执行计划在线控制的主要任务。本文运用了时间序列法和BP神经网络法分别对配水系统的短期和中长期用水量进行预测,并引入了遗传算法对这两种预测方法进行了优化改进。从算例结果比较来看,优化后的预测方法具有良好的有效性和实用性。 关键词:遗传算法 时间序列法 BP神经网络 用水量预测 Study on Improved Forecasting Models of Urban Water Demands Duan Huan-feng,Yu Hai-ning,Yu Guo-ping (School of Environmental Science and Engineering, Tongji University, Shanghai 200092) Abstract:Forecasting for urban water demands is the main task for on-line control of a water distribution system to prepare and execute a plan for operating the system. This paper forecasts the short-term and medium or long-term water demands by Time-series Analysis and BP Neural Networks respectively, and introduces Genetic Algorithms to improve and optimize these two forecasting methods. The cases study shows that the improved methods can obtain favorable validity and practicability. Key words: Genetic Algorithms;Time-series Analysis;BP Neural Networks;Forecasting for Water Demands 对配水系统未来用水量的预测是进行水规划的一项重要的任务。一般来说,用水量预测分为两种:一种是短期预测,以满足操作系统在线实时模拟和给水系统的优化调度;另一种是对水量的中长期预测,用以进行水资源规划和城市整体设计规划。目前,用以预测的方法很多,科学合理地选择预测模型应首先考虑预测的时间间隔,不用时间间隔应选用不同的预测模型。根据目前多年来各种预测积累的实践经验和各种预测方法的特点,对短期预测一般用到时间序列法,对中长期预测一般用到BP神经网络法或灰色模型法(本文只就前者讨论,后者可用同样方法讨论)。但是,预测与实际必然存在一定的误差,如何减少误差,以使得预测结果尽量准确,是目前急需解决难题。本文针对传统的预测方法,引入遗传算法对其进行参数优化,得到了两种改进预测方法。 1、短期预测优化模型 1.1时间序列预测法 时间序列法是根据已有的时间序列数据,通过统计分析的方法建立和已有数据尽量拟合的数学模型,如自回归模型AR(p)序列、滑动平均模型MA(q)序列以及回归与滑动平均混合模型ARMA(p,q)序列,并将得到数学模型根据递推预报法对未来的变化趋势进行预测。其一般的预测流程步骤如下: 第一步:取样。就是通过观测得到的样本序列Q1,…, Qn。 第二步:数据的预处理。 (1) 数据序列平稳性检验 (2) 均值归零处理。即作变换 , 其中, 第三步:计算出{Wi}的样本自相关函数,样本自协方差函数和样本偏相关函数。 第四步:模型识别。利用和来判断模型的类别(AR(p) 、MA(q)、 ARMA(p,q))和阶数(p和q值)。 第五步:模型的参数估计。根据第四步确立的模型类别和阶数,应用统计分析的方法估计出模型的参数。 第六步:写出模型方程。先写出适合Wt的模型方程,再用代入到模型方程中去。 第七步:用水量预报。根据已有的模型方程对未来的用水量进行预测。 1.2改进时间序列法 改进时间序列法就是对用遗传算法上述预测中第五步估计得到的参数进行优化,使得得到的模型方程更准确,预测结果更有效。其优化的思想方法为:利用得到的参数构造变化区间,以时间序列模型中的离散白噪声的均方误差为目标函数和各参数为变量,再利用遗传算法的搜索优化性能,在区间范围内找出更佳的参数解。 优化目标函数: 其中,E(ξt2)为离散白噪声均方误差,φj和θj为参数变量。 其优化步骤如下: 步骤1:构造变量区间。设有上述时间序列法得到的某一参数变量为cj,则它的变化区间可构造为[aj,bj],其中: aj =cj-d,bj =cj+d. 且d为一正常数。 步骤2:参数编码。采用二进制编码,设编码长度为e=10,群体规模为200。 步骤3:生成初始父代个体即初始解并评价适应度。若适应度满足要求,则结束。否则,继续。 步骤4:选择(采用比例选择法)、杂交(pc=1.0)、变异(pm=0.10)操作。 步骤5:进化迭代。有步骤5得到的子代个体作为新的父代个体,转步骤3。 步骤6:加速循环。把第一次和第二次进化迭代产生的优秀个体的参数变化范围作为新的变化区间,算法转入步骤2,如此往复循环,直到给定的加速次数。 1.3应用 以国内某市1991年6月份某段时间的时用水量为例,分别用时间序列法和改进时间序列法来预测未来24小时的时用水量(由于篇幅限制,原始数据省略),其得到预测模型方程分别为: 时间序列法模型:Xt=7966-0.17Xt-1+0.25Xt-2+ξt 改进时间序列法模型:Xt=7983-0.175Xt-1+0.257Xt-2+ξt 预测结果对比如下表1: 表1 预测结果及其误差比较(部分) 时段 | 实际用水量 (m3/h) | 预测用水量(m3/h) | 时间序列法 | 误差 | 改进时间序列法 | 误差 | 1 | 5699 | 5754 | 0.8% | 5723 | 0.6% | 2 | 5876 | 5832 | 0.7% | 5865 | 0.2% | 3 | 7743 | 8413 | 8.7% | 8330 | 4.7% | 4 | 8294 | 7994 | 3.6% | 8015 | 3.4% | 5 | 8604 | 8710 | 1.2% | 8670 | 0.8% | 6 | 8657 | 8484 | 2.0% | 8526 | 1.5% | · · · | · · · | · · · | 19 | 10200 | 9544 | 6.4% | 9986 | 2.1% | 20 | 12248 | 10885 | 11.1% | 11332 | 7.5% | 21 | 9813 | 8510 | 13.3% | 8566 | 12.7% | 22 | 9673 | 9240 | 4.5% | 9396 | 2.8% | 23 | 9075 | 8523 | 6.1% | 8540 | 5.8% | 24 | 8879 | 8827 | 0.6% | 8903 | 0.3% |
从上表可以看出,改进时间序列预测方法比一般的时间序列方法得到的结果更加准确有效,同时也看出,这类的预测方法在预测短时期的用水量是比较准确,误差较小,而越往后误差越大。 2、中长期预测优化模型 对城市用水量的中长期预测,BP网络算法使用较为普遍,并且从实践来看,结果相对较为理想。BP神经网络是以样本训练学习而不是用程序指令来完成某一特定的任务,一般由输入层、隐层和输出层三层拓扑结构组成,用来解决模式识别、预测及拟合等问题。利用BP神经网络解决用水量预测问题的模型如下: 2.1 BP神经网络预测用水量模型 该模型以已有的实际用水量序列以及气温、季节、节假日等影响因素作为输入量,通过学习训练得到预测模式。具体如下: 其中,QI为最终预测用水量,Qj为实测系统漏失量, Tj5为s层第j天输出的预测用水量修正值系数, πj5为s层第j天输出的预测用水量, 且 Qrj为实测系统漏失量阈值, Wj5为气温及节假日等影响因素权重值, S.t. 其中,E为最终输出系统误差,ε为系统误差允许值, e(k)为第k个样本系统误差,n为样本对数, 且: tIk为第k个样本最终输出期望值,m为网络节点数, QI为第k个样本最终预测用水量。 BP神经网络算法一般程序流程图如下: 2.2 优化改进模型 如同改进时间序列模型一样,引入遗传算法对BP网络的参数优化,这些参数包括各个权值wij和各个阈值θj,使得网络全局误差函数极小化。其参数优化步骤同1.2中步骤1~6。其优化目标函数为: 其中,n为样本对数,m为网络节点数,Qj为实测量,Qij为预测量。 2.3 应用 下面采用国外某城市1991年上半年部分日用水量数据,来预测该年7月份的用水量。预测的BP网络结构模型中,网络节点数m=40,隐层数s=1,节点作用函数采用Sigmiod函数yi=1/(1+e-xi),并设最大循环次数为5000次,允许系统误差设为0.01。分别用BP网络和改进BP网络来预测7月份的用水量(由于篇幅限制,原始数据省略),其得到预测结果如下表2,并且改进前后输出的全局网络误差分别为0.0081和0.0019。 表2 预测结果及误差比较(部分) 日期 | 气温(℃) | 节假日因素(星期) | 实际用水量(m3) | BP法(m3) | 改进BP法(m3) | 最高 | 最低 | 预测量 | 误差 | 预测量 | 误差 | 1 | 30 | 22 | Mon | 15618.8 | 16121.3 | 3.8% | 15882.7 | 1.7% | 2 | 32 | 23 | Tue | 18450.3 | 17968.2 | 2.6% | 17999.3 | 2.6% | 3 | 33 | 25 | Wed | 19889.2 | 19546.2 | 1.7% | 19925.2 | 0.2% | 4 | 33 | 22 | Thu | 19882.7 | 19794.2 | 0.4% | 19769.1 | 0.6% | 5 | 31 | 23 | Fri | 17302.5 | 17854.3 | 3.2% | 17193.5 | 0.6% | 6 | 32 | 20 | Sat | 10117.5 | 11056.2 | 9.2% | 10521.2 | 4.0% | 7 | 33 | 21 | Sun | 19908.0 | 19458.2 | 2.2% | 20001.7 | 0.5% | 8 | 32 | 19 | Mon | 16576.1 | 17158.9 | 3.3% | 16987.2 | 2.5% | 9 | 32 | 24 | Tue | 18157.1 | 18457.4 | 1.7% | 18111.1 | 0.3% | 10 | 34 | 24 | Wed | 20943.3 | 21378.6 | 2.1% | 20556.7 | 1.8% | · · · | · · · | · · · | 23 | 33 | 25 | Tue | 20533.4 | 21134.5 | 2.9% | 20345.2 | 0.9% | 24 | 29 | 22 | Wed | 17324.7 | 18002.3 | 3.9% | 17696.5 | 2.1% | 25 | 30 | 21 | Thu | 17575.2 | 17856.2 | 1.6% | 17444.4 | 0.7% | 26 | 29 | 20 | Fri | 16867.7 | 17082.3 | 1.3% | 16831.5 | 0.2% | 27 | 30 | 21 | Sat | 10653.7 | 10335.8 | 3.0% | 10112.3 | 5.0% | 28 | 35 | 23 | Sun | 24620.9 | 23987.2 | 2.6% | 24450.4 | 0.7% | 29 | 35 | 20 | Mon | 22227.0 | 23145.1 | 4.1% | 22514.2 | 1.3% | 30 | 32 | 21 | Tue | 21419.5 | 21987.0 | 2.6% | 22014.0 | 2.8% | 31 | 30 | 19 | Wed | 16876.5 | 17532.8 | 3.9% | 17102.5 | 1.3% |
从上表的预测结果可以看出,利用BP神经网络法对中长期用水量的预测较为合适,并且优化改进后的BP网络预测更加准确有效。 3、结语 通过上述实例仿真对比结果可以看出,通过遗传算法优化改进的时间序列预测模型和BP神经网络预测模型在预测精度上有很大的提高,使得预测结果更加准确,也证明了该方法的有效性和实用性;而且,这种方法也同样可以推广应用到其它的预测模型中(如灰色理论预测模型)。至于遗传算法作为优化方法,其自身的参数确定具有一定的经验性,仍需进一步的探究。 参考文献: [1] 金菊良,丁晶. 遗传算法及其在水科学中的应用. 成都,四川大学出版社,2000,68~88 [2] 周明,孙树栋. 遗传算法原理及应用. 北京,国防工业出版社,1999,78~89 [3] 袁一星,张杰等. 城市用水量中长期预测模型的研究. 给水排水,2004,30(6):102~105 [4] 俞峰,陶建科. 城市给水系统时用水量预测方法的探讨.城市公用事业,2003,17(6):23~26
作者简介:段焕丰,男,同济大学环境学院,021-65987044 ,[email protected] 通讯地址:上海市同济大学环境科学与工程学院 邮编:200092 |