基于人工鱼群神经网络的城市时用水量预测方法

2015-05-16 03:57刘洪波郑博一蒋博龄
关键词:工作日鱼群用水量

刘洪波,郑博一,蒋博龄

(天津大学环境科学与工程学院,天津 300072)

基于人工鱼群神经网络的城市时用水量预测方法

刘洪波,郑博一,蒋博龄

(天津大学环境科学与工程学院,天津 300072)

城市供水时用水量预测精度对城市供水系统具有重要影响. 传统的反向传播(back-propaganda,BP)神经网络预测方法容易陷入局部解,并且需要大量的训练数据. 人工鱼群算法具有较优的全局收敛能力及较快的寻优速度.为此,利用人工鱼群算法对 BP神经网络的初始权值和阈值进行优化,建立了一种新的时用水量预测模型. 将该模型应用到华北某市时用水量的预测中,预测结果表明人工鱼群神经网络算法的均方差比 BP神经网络算法的均方差小 5%. 实例证明,人工鱼群神经网络比 BP神经网络的预测精度更高,收敛速度更快. 人工鱼群神经网络算法可用于短期水量预测.

城市用水;人工鱼群算法;水量预测

预测城市用水量可为供水系统优化调度、管网改扩建以及城市总体规划提供依据,预测精度的准确与否,关系到供水系统能否实现安全运行与科学管理.按照预测的时效性,通常将用水量的预测分为中长期预测和短期预测两大类.中长期预测主要是根据城市经济社会的发展情况,预测未来几个月、几年甚至更长时间的城市用水量发展变化趋势;短期预测则是根据过去实际用水量变化并考虑用水量的各种影响因素,对未来几小时、一天或几天的用水量做出预测[1].

用水量的预测方法主要有时间序列法、结构分析法和系统分析法.

时间序列法主要根据城市用水量周期性的变化规律以一定的时间为变化周期进行统计分析,提出拟合和预测的数学模型及计算方法,主要包括移动平均法[2]和指数平滑法[3]等,因其对用水量随机扰动性的变化趋势体现不明显,对历史数据的依赖性较强,因此更适用于中长期预测.

结构分析法通过具体分析城市用水量与各种相关因素(如人口、产值、气候等)之间的联系,试图揭示城市用水量的真正内涵,主要包括回归分析法[4]和指标分析法[5]等,但由于影响用水量的因素复杂,并且对各影响因素未来值的准确预测困难,故不宜用于短期用水量预测.

系统分析法不追究个别因素的作用效果,力求体现各因素的综合作用,削弱随机因素的影响,从而体现用水量变化的内在规律性,主要包括人工神经网络法[6-7]、灰色预测法[8-10]、系统动力学[11]等方法,可用于预测中长期或短期用水量.

近年来,以反向传播(back-propagation,BP)神经网络为代表的人工智能方法越来越广泛地应用于城市用水量的预测中,并取得了一定的进展[12-13].但BP神经网络在应用中要求训练样本数量大、训练时间长,容易陷入局部极值,影响了模型的精度.为解决BP神经网络存在的问题,许多学者利用智能算法与BP神经网络相结合来预测用水量.如储诚山等[14]采用遗传算法对BP神经网络权值和阈值进行优化,预测日用水量,但该方法只解决了BP神经网络容易陷入局部极小值的问题.马俊[15]将模拟退火算法与BP神经网络结合,用于预测西安市年用水量,解决了BP神经网络收敛速度慢的问题;但是遗传算法和模拟退火算法都存在编码方式、变异和交叉方式复杂、对初始参数要求过高等问题.徐瑾等[16]利用粒子群算法优化神经网络的权值和阈值,预测长期用水量,虽然提高了 BP神经网络的收敛速度,具有较好的全局收敛性,但是粒子群算法本身容易产生早熟收敛,不能从理论上保证得到最优解.李玉华等[17]采用蚁群算法与神经网络相结合,对日用水量进行预测,避免了BP神经网络易陷于局部极值的问题,但蚁群算法需要较长的搜索时间,收敛速度慢.以上文献中各类算法都存在一定的不足,而且对中长期用水量预测和短期负荷中日用水量的预测方法研究较多,对于时用水量预测方法的研究较少.

人工鱼群算法是继粒子群算法、蚁群算法之后又一种新的基于动物群体的智能优化算法,该算法具有并行性、简单性、能很快跳出局部极值、寻优速度快等特点,目前已成为智能算法的重要分支[18].本文利用人工鱼群算法对 BP神经网络的初始权值和阈值进行优化,并将其应用于城市时用水量的预测,提高了BP神经网络的预测精度和收敛速度,具有较好的预测效果.

1 人工鱼群神经网络算法原理

1.1 人工鱼群算法

鱼往往能自行或尾随其他鱼找到食物浓度高的地方,因此鱼生存数目最多的地方一般就是水中食物最充足的地方.人工鱼群算法就是通过对自然界中鱼群的长期观察,构造人工鱼来模仿鱼类的觅食、聚群、追尾、随机行为,通过鱼群中个体的局部寻优,使局部最优值在群体中突显,即达到全局最优从而实现寻优的过程[19].

(1) 觅食行为.鱼类通过视觉或嗅觉感知水中食物的浓度来选择趋向.

(2) 聚群行为.鱼类的一种生存方式,大量或少量的鱼都能聚集成群,可进行集体觅食和躲避敌害.

(3) 追尾行为.当某一条鱼或几条鱼发现食物时,它们附近的鱼会尾随其后快速游过来,进而导致更远处的鱼也尾随过来.

(4) 随机行为.鱼在水中悠闲地自由游动,基本上是随机的,其实也是为了更大范围地寻觅食物或同伴.

1.2 人工鱼群神经网络算法

1.2.1 参数定义

利用人工鱼群算法训练BP神经网络时,每条人工鱼代表一个神经网络,人工鱼当前位置的食物浓度C为

式中E为神经网络实际输出和期望输出的误差.

以 3层(输入层、隐含层、输出层)BP神经网络为例,设输入层神经元的个数为 n,隐含层神经元的个数为h,输出层神经元的个数为m.定义2条人工鱼状态分别为 Fp和 Fq,两条人工鱼个体的和(Fp+Fq)或者两条人工鱼个体的差(Fp-Fq)仍代表一个神经网络.两条人工鱼个体间的距离 dp,q为

式中:wij为输入层-隐含层的连接权值;vki为隐含层-输出层的连接权值;wi0为隐含层神经元的阈值;vk0为输出层神经元的阈值.

1.2.2 行为描述

1)觅食行为与随机行为

人工鱼当前状态为 Fp,在其视野范围内,随机选择另一个状态 Fq,如果 Fq的食物浓度 Cq高于 Fp的食物浓度 Cp,即 Cq> Cp,则向着 Fq的方向前进一步;反之,则执行随机行为,即在视野里随机选择一个状态,然后向该方向移动.人工鱼训练 wij(p)的变化过程为

式中:T为人工鱼移动步长的最大值;Rand(T)为[0,T]之间的随机数.

vki(p)、wi0(p)、vk0(p)的变化与 wij(p)同理.

一般地,将自然界中鱼类的觅食行为和随机行为统一概括为算法中的觅食行为,作为聚群行为和追尾行为的缺省行为.

2)聚群行为

设状态为 Fp的人工鱼视野中,有

式中:Yp为其他人工鱼伙伴个体所形成的集合;V为状态为 Fp的人工鱼视野范围.

若 Yp≠∅,则其中心位置的状态 Fc(参数为和所有参数初值赋为0)的搜索公式为

扫描完视野里所有的人工鱼个体后,按照式(6)计算状态为 Fp的人工鱼视野中伙伴中心位置状态 Fc的参数.

式中 f为状态为 Fp人工鱼视野中的其他人工鱼伙伴数目.

设 Cc为中心位置食物浓度值,若满足式(7),表明伙伴中心位置较优且不太拥挤,则人工鱼参数wij(p)的变化过程可如式(8)所示;否则,人工鱼执行觅食行为.

式中δ为拥挤度因子.

若 Yp=∅ ,人工鱼执行觅食行为. vki(p)、wi0(p)、vk0(p)的变化过程与 wij(p)相同.

3)追尾行为

设人工鱼视野中所有伙伴中食物最大的人工鱼的状态为 Fmax,若其食物浓度 Cmax满足式(9),则表明人工鱼 Fmax的食物浓度高且周围不太拥挤,人工鱼参数 wij(p)的变化过程如式(10)所示;否则,人工鱼执行觅食行为.

式中 wij(max)为 Fmax状态下人工鱼的参数.

若 Yp=∅,人工鱼执行觅食行为. vki(p)、wi0(p)、vk0(p)的变化过程与 wij(p)相同.

1.2.3 行为选择

首先,对人工鱼当前所处的环境进行评价,即模拟执行聚群、追尾行为.其次,比较两种行为发生后的浓度值,选择浓度值较高的动作来执行.每条人工鱼在行动后都将自身当前状态的食物浓度与“公告板”比较,如果优于“公告板”上的记录状态,则用自身状态取代“公告板”状态.所谓“公告板”是指用来记录最优人工鱼个体状态的单元.最后,将人工鱼群算法找到的最优解,即“公告板”中人工鱼的状态转换成 BP神经网络的相应参数,即为训练结果.

人工鱼群神经网络算法流程如图 1所示.算法中try_number为行为尝试的最大次数,MAXGEN为算法最大迭代次数.

图1 人工鱼群神经网络算法流程Fig.1 Flow chart of artificial fish-swarm neural network algorithm

2 实例应用

本文采用华北某市2012年11月1日—2012年11月30日共30,d的时用水量历史数据在Matlab环境下进行模型的建立、训练和验证.

鉴于时用水量具有周期性的变化特征,本文对于工作日(周一至周五)和非工作日(周六和周日)分别进行建模.对于工作日,选取预测日前5个工作日作为训练数据.对于非工作日,采取预测日前3个非工作日作为训练数据.

为了便于神经网络的计算,对时用水量数据进行归一化,即

式中:x为时用水量;xmax、xmin分别为时用水量的最大值和最小值;x*为归一化后的值,数值大小在[0,1]范围内.

采用误差E作为分析指标,其计算式为

式中:yi′为第i小时用水量的预测值;yi为第i小时用水量的实际值.利用均方差E按照式(1)计算人工鱼食物浓度.

本例中,BP神经网络采用 3层结构,根据笔者所建立的预测模型,工作日模型输入层神经元的个数为 5,非工作日模型输入层神经元的个数为 3;两种模型输出层神经元的个数均为 1;经多次实验,两种模型隐含层神经元的个数均取 8.除神经元个数以外,其他参数取值考虑了运算量和收敛性能等情况,具体取值如下:人工鱼数量 N=100;视野范围 V=0.65;移动最大步长 T=0.35;拥挤因子 δ=0.618;行为尝试的最大次数 try_number=20;最大迭代次数MAXGEN=100.

分别利用 BP神经网络及人工鱼群神经网络对工作日和非工作日的时用水量进行预测.在程序运行中,人工鱼群神经网络的收敛速度明显快于BP神经网络,为了证明人工鱼群神经网络快速收敛性,以工作日为例,对比两种算法训练性能,结果如表 1所示.图2和图3为工作日的预测结果和预测误差.图4和图5为非工作日的预测结果和预测误差.

表1 训练方法的比较Tab.1 Comparison of training methods

图2 工作日时用水量预测结果Fig.2 Forecasting results of water consumption per hour on weekday

图3 工作日时用水量预测误差Fig.3 Forecasting errors of water consumption per hour on weekday

图4 非工作日时用水量预测结果Fig.4 Forecasting results of water consumption per hour on weekend

图5 非工作日时用水量预测误差Fig.5 Forecasting errors of water consumption per hour on weekend

从预测结果可以看出,传统的BP神经网络收敛速度慢,并且误差较大,工作日的最大误差在 10%左右,非工作日的误差因其样本较少,最大误差在 15%左右,且误差波动较大.经过人工鱼群算法训练的BP神经网络预测模型的收敛性和精度都有较大的提高,并且其误差变化也比较均匀,工作日的预测误差小于5%,非工作日的误差均在6%之内.

3 结 论

(1) 将人工鱼群算法与 BP神经网络相结合,可克服BP网络容易陷入局部解的缺点,且该方法编码过程相对简单,具有较强的鲁棒性.

(2) 由于客观条件限制,采用的训练样本数较少,导致 BP神经网络预测误差较大.而利用人工鱼群神经网络进行时用水量预测,在样本较少的情况下,预测精度有较明显的提高,避免了 BP神经网络需要大量数据训练的不足.

(3) 通过传统 BP神经网络算法与人工鱼群神经网络算法对比,可看出后者的自适应能力更强,其收敛速度更快,但由于人工鱼群神经网络是以历史数据作为训练样本确定其权值和阈值的,因此在实际应用中要注意模型使用一段时间后,应采用最新的时用水量数据作为训练样本重新训练,及时调整网络的权值和阈值,以确保预测结果的准确性.

[1] Herrera M,Torgo L,Izquierdo J,et al. Predictive models for forecasting hourly urban water demand[J]. Journal of Hydrology,2010,387(1):141-150.

[2] 常淑玲,尤学一. 天津市需水量预测研究[J]. 干旱区资源与环境,2008,22(2):14-19.

Chang Shuling,You Xueyi. Prediction of water demand of Tianjin[J]. Journal of Arid Land Resources and Environment,2008,22(2):14-19(in Chinese).

[3] Caiado J. Performance of combined double seasonal univariate time series models for forecasting water demand[J]. Journal of Hydrologic Engineering,2009,15(3):215-222.

[4] Billings R B,Agthe D E. State-space versus multiple regression for forecasting urban water demand[J]. Journal of Water Resources Planning and Management,1998,124(2):113-117.

[5] 张雅君,刘全胜. 需水量预测方法的评析与择优[J].中国给水排水,2001,17(7):27-29.

Zhang Yajun,Liu Quansheng. Evaluation and merit of water consumption forecasting methods[J]. China Water & Wastewater,2001,17(7):27-29(in Chinese).

[6] 王剑俊. 基于 RBF网络的城市供水短期负荷预测[J].西南给排水,2007,29(3):24-27.

Wang Jianjun. Forecasting of city supply water shortterm load based on RBF network[J]. Southwest Water & Wastewater,2007,29(3):24-27(in Chinese).

[7] Liu Hongbo,Zhang Hongwei,Tian Lin,et al. Study on artificial neural network forecasting method of water consumption per hour[J]. Transactions of Tianjin University,2001,7(4):233-237.

[8] 舒诗湖,向 高,何文杰,等. 灰色模型在城市中长期用水量预测中的应用[J]. 哈尔滨工业大学学报,2009,41(2):85-87.

Shu Shihu,Xiang Gao,He Wenjie,et al. Application of GM(1,1)in long-term urban water demand forecast[J]. Journal of Harbin Institute of Technology,2009,41(2):85-87(in Chinese).

[9] 田一梅,汪 泳,迟海燕. 偏最小二乘与灰色模型组合预测城市生活需水量[J]. 天津大学学报,2004,37(4):322-325.

Tian Yimei,Wang Yong,Chi Haiyan. Urban domestic water demand forecasting by combining partial leastsquares regression and grey model[J]. Journal of Tianjin University,2004,37(4):322-325(in Chinese).

[10] 邓丽娟,魏光辉. 基于灰色模型的城市用水量预测[J]. 地下水,2011,33(1):100-101.

Deng Lijuan,Wei Guanghui. Prediction of city water demand based on GM(1,1)model[J]. Ground Water,2011,33(1):100-101(in Chinese).

[11] 刘俊良,臧景红,何延青. 系统动力学模型用于城市需水量预测[J]. 中国给水排水,2005,21(6):31-34.

Liu Junliang,Zang Jinghong,He Yanqing. Application of system dynamics model for urban water demand prediction[J]. China Water & Wastewater,2005,21(6):31-34(in Chinese).

[12] Bennett C,Stewart R A,Beal C D. ANN-based residential water end-use demand forecasting model[J]. Expert Systems with Applications,2013,40(4):1014-1023.

[13] 向 平,张 蒙,张 智,等. 基于 BP神经网络的城市时用水量分时段预测模型[J]. 中南大学学报:自然科学版,2012,43(8):3320-3324.

Xiang Ping,Zhang Meng,Zhang Zhi,et al. Perioddivided predictive model of urban hourly water consumption based on BP neural network[J]. Journal of Central South University:Science and Technology,2012,43(8):3320-3324(in Chinese).

[14] 储诚山,张宏伟,郭 军. 基于遗传算法和 BP 神经网络的用水量预测[J]. 中国农村水利水电,2006,4(3):36-38.

Chu Chengshan,Zhang Hongwei,Guo Jun. Prediction of water demand with genetic algorithm and BP neural network[J]. China Rural Water and Hydropower, 2006,4(3):36-38(in Chinese).

[15] 马 俊. 基于遗传模拟退火算法与神经网络组合模型的需水预测方法研究[D]. 西安:西安理工大学水利水电学院,2009.

Ma Jun. Research on Forecasting Water Demand of Genetic Simulated Annealing Algorithm and Neural Network[D]. Xi’an:Institute of Water Resources and Hydro-Electric Engineering,Xi’an University of Technology,2009(in Chinese).

[16] 徐 瑾,赵 涛. 城市生活需水量预测中智能算法的应用研究[J]. 中国给水排水,2012,28(21):66-68.

Xu Jin,Zhao Tao. Application of intelligent algorithm to predict urban domestic water demand[J]. China Water & Wastewater,2012,28(21):66-68(in Chinese).

[17] 李玉华,王 征. 蚂蚁算法在日用水量预测中的应用研究[J]. 哈尔滨工业大学学报,2005,37(1):60-62.

Li Yuhua,Wang Zheng. Using and researching of ant algorithm for forecasting daily water demand[J]. Journal of Harbin Institute of Technology,2005,37(1):60-62(in Chinese).

[18] 江铭炎,袁东风. 人工鱼群算法及其应用[M]. 北京:科学出版社,2012. Jiang Mingyan,Yuan Dongfeng. Artificial Fish Algorithm and Application[M]. Beijing:Science Press,2012(in Chinese).

[19] 史 峰,王 辉,郁 雷,等. MATLAB智能算法30个案例分析[M]. 北京:北京航空航天出版社,2012.

Shi Feng,Wang Hui,Yu Lei,et al. Analysis of MATLAB Intelligent Algorithm in 30 Cases[M]. Beijing:Beihang University Press,2012(in Chinese).

(责任编辑:金顺爱)

Forecast Method of City Water Consumption Per Hour Based on Artificial Fish-Swarm Neural Network

Liu Hongbo,Zheng Boyi,Jiang Boling
(School of Environmental Science and Engineering,Tianjin University,Tianjin 300072,China)

The forecast precision of city water consumption per hour has great effect on the city water supply system. The traditional forecast method of back-propagation(BP)neural network tends to offer local values and requires a lot of data training. The artificial fish-swarm algorithm(AFSA)has better global convergence ability and higher optimization speed. AFSA was adopted to optimize the initial setting weights and thresholds of BP neural network. Then a new forecast model of water consumption per hour was built and was applied to forecast the water consumption per hour of a city in North China. Results show that the mean square error of the artificial fish-swarm neural network algorithm is lower than that of BP neural network algorithm by 5%. It has been verified by instances that the artificial fish-swarm neural network has better forecast precision and higher convergence speed than BP neural network. Artificial fishswarm neural network algorithm can be used to forecast the short-term water consumption.

city water consumption;artificial fish-swarm algorithm;water consumption forecast

TU991.31

A

0493-2137(2015)04-0373-06

10.11784/tdxbz201312073

2013-12-26;

2014-03-04.

国家社会科学基金重点资助项目(13AZD011).

刘洪波(1972— ),女,博士,副教授.

刘洪波,llhhbb@tju.edu.cn.

时间:2014-03-13.

http://www.cnki.net/kcms/doi/10.11784/tdxbz201312073.html.

猜你喜欢
工作日鱼群用水量
新疆生产建设兵团某师用水水平分析与评价
你的用水量是多少?
你的用水量是多少?
澳大利亚研发出新型农业传感器可预测农作物用水量
人工鱼群算法在雷达探测器射频端电路设计中的应用
对于马克思关于工作日的思考
关于休闲的量的问题的考察
鱼群漩涡
朱梦琪??《鱼群》
具功能反应食饵捕食模型动力学分析