基于主成分分析的GA—BP模型在城市需水预测中的应用
2018-01-09李晓英苏志伟周华贾晓菲叶根苗蔡晨凯
李晓英+苏志伟+周华+贾晓菲+叶根苗+蔡晨凯
摘要:针对城市需水预测模型中需水量影响因子多、影响因子之间普遍存在多重共线问题,以及BP神经网络收敛速度慢、易陷入局部最优等缺点,提出一种由主成分分析、遗传算法及BP神经网络三者相结合的改进预测模型。以泰州市为实例,建立以主成分分析筛选需水量主要影响因子,遗传算法优化BP网络连接权值和阈值的需水预测模型,预测结果与BP神经网络预测模型预测结果做对比。结果表明:改进预测模型对泰州市2003-2014年需水量预测的平均相对误差为0564%,最大相对误差为1681%,精度优于BP神经网络预测模型;改进预测模型预测值与实际泰州市需水量吻合良好且训练速度更快、预测精度更高,可作为需水预测的一种有效方法。
关键词:主成分分析;BP神经网络;遗传算法;GABP模型;需水预测
中图分类号:TV211文献标识码:A文章编号:
16721683(2017)06003906
Abstract:There are too many impact factors of water demand in the urban water demand prediction model and most of the factors are multicollinearBesides,the BP neural network has slow convergence rate and easily gets into a local optimumTo tackle these problems,we proposed an improved prediction model by combining the principal component analysis (PCA),genetic algorithm (GA),and back propagation neural network (BPNN)Taizhou city was taken as a case for studyWe established a water demand prediction model that selects the main impact factors of water demand by principal component analysis and optimizes the connection weights and thresholds of the BP neural network by genetic algorithmThe BP neural network prediction model was set up as the contrast modelThe results showed that the average relative error and the maximum relative error of water demand prediction by the improved model in 20032014 in Taizhou city were 0564% and 1681% respectivelyThe precision was superior to that of the BP neural network prediction modelThe results predicted by the GABP model matched with the actual water demand data of Taizhou city,and the model had faster calculation speed and higher precisionIt can be used as an effective method for water demand prediction
Key words: principal component analysis;BP neutral network;genetic algorithm;GABP model;water demand prediction
需水預测是一个由区域总人口、产业结构、各产业发展水平、社会经济发展程度等共同作用的多因素、多层次复杂非线性系统[1]。现有的需水预测方法主要有粒子群算法、人工神经网络、灰色模型理论、小波神经网络、回归分析模型、支持向量机、随机森林模型等[29],目前尚不存在公认的普适性预测方法。城市需水量是一个受诸多因素影响的变量,因其外生变量(城市人口、产业结构等)受人为规划和实践的影响,具有较强的不确定性和模糊性[10]。自JMBates等[11]在1969年提出组合预测模型的理论及方法以来,已有许多学者应用组合模型进行城市需水预测。巩琳琳[12]采用遗传模拟退火算法的神经网络模型对陕西省进行需水预测,有效提高了预测精度;舒媛媛等[13]采用基于主成分分析的BP神经网络预测模型对延安市进行预测分析,有效简化了网络;崔东文[14]将相空间重构原理与遗传算法相结合,建立了城市需水预测模型,消除了变量间的多重共线问题,有效提高了预测精度;张倩等[15]将灰色理论和回归分析相结合,对大鹏半岛进行了需水预测。已有研究中,对于人工神经网络收敛速度慢、易陷入局部最优等问题的处理有待进一步优化。为此,本文针对上述问题,提出了基于主成分分析的GABP需水预测模型,即通过主成分分析筛选出需水量主要影响因子,达到简化网络结构的目的;采用遗传算法优化BP神经网络的连接权值和阈值,达到提高网络收敛速度及避免网络陷入局部最优的目的,为城市需水预测提供一种新的思路方法。
第15卷 总第93期·南水北调与水利科技·2017年12月
李晓英等·基于主成分分析的GABP模型在城市需水预测中的应用endprint
1方法原理
11主成分分析法
主成分分析法是通过数学降维方法,从众多原始变量中找出几个综合性强的变量来替代原始变量,这些综合性强的几个变量彼此间互不相关且能尽可能地反映原始变量的信息量。
主成分分析计算步骤[16]如下。
步骤1:对原始数据进行标准化处理并计算其相关系数矩阵。
步骤2:计算特征值与特征向量。求出相关系数矩阵的特征值λi(i=1,2,…,p),并使其按大小顺序排列,即λ1≥λ2≥…≥λp≥0,然后分别求出对应于特征值的特征向量ei(i=1,2…,p),其中p为相关系数矩阵的阶数。
步骤3:计算主成分贡献率与累计贡献率。经过筛选分析,选取累计贡献率达到85%以上的因子作为需水量的主要影响因子即主成分。
步骤4:计算主成分载荷。表示原始数据的协方差矩阵的特征值。
12BP神经网络
BP神经网络[17]的学习过程分为两个阶段,正向学习阶段和反向学习阶段。其学习规则采用梯度下降算法,输入向量首先正向传递到隐含层,经过传递函数计算,将结果传递到输出层即得到输出结果。若实际输出结果与期望输出结果存在误差时,则进行误差反向传递,根据预测误差来调整网络权值与阈值,从而使BP神经网络预测输出不断逼近期望误差,最终达到设定期望误差或设定学习次数作为网络学习终止条件。BP神经网络训练过程基本步骤如下。
步骤1: 初始化网络。包括网络输入向量确定、隐含层数确定、输出层确定、权值和阈值的初始化。
步骤2: 隐含层输出计算。由输入向量、权值及阈值计算隐含层输出。
步骤3: 输出层输出计算。由隐含层输出及权值与阈值,计算神经网络的预测输出。
步骤4: 预测误差计算。由输出层输出与期望输出作差即得到预测误差。
步骤5: 权值、阈值更新。由预测误差反向传递更新网络的权值、阈值。
步骤6: 由终止条件判断迭代是否结束,若没有结束,则返回步骤2。
13GABP神经网络模型
遗传算法和BP神经网络均具有极强解决问题的能力[1822],遗传算法优化BP神经网络是采用遗传算法来优化BP神经网络的初始值与阈值,使优化后的BP神经网络能够更好地预测函数输出。网络建立步骤如下[23]。
步骤1: 确定编码长度S及输入层个数R、隐含层个数S1、输出层个数S2。
S=R·S1+S1·S2+S1+S2(1)
步骤2: 种群初始化。包括种群规模、迭代次数、交叉概率、变异概率的确定。
步骤3: 适应度函数确定。本文把预测输出和实际值的絕对误差值之和作为个体适应度值。
步骤4: 种群迭代,生成新的种群并计算其适应度值,直到迭代次数达到设定值结束。
步骤5: 将种群中最优个体进行解码,作为BP神经网络的权值和阈值。
步骤6: 设定神经网络参数,进行神经网络模型的训练、检验、预测。
2实例应用
21研究区域概况
泰州位于江苏省中部,长江北岸,北部与盐城毗邻,东邻南通,西接扬州,是苏中入江达海5条航道的交汇处。全境属于亚热带季风气候,四季分明,雨量夏丰冬少,如何合理充分利用水资源,对社会经济及城市的发展具有重要的影响。因此,对泰州市进行需水量预测可为城市合理分配水资源提供依据。
22主要影响因子确定
以2003-2014年为时间序列,依据《泰州市水资源公报2003-2014》社会经济和水资源利用相关数据,初步选取10个影响因子做为泰州市需水预测的影响因子,见表1。
基于MATLAB软件编写主成分分析法程序并运行程序,得到标准化后的数据见表2,影响因子主成分特征值和贡献率及累计贡献率见表3,主成分载荷矩阵见表4。由表3可见,前4个因子的累计贡献率达93414%,由此表明,前4个因子代表了原来10个因子90%以上的信息,即选用GDP、人口、农业用水量、工业用水量4个影响因子作为主成分替代原影响因子。另外从表4可以看到X10即耕地面积与主成分X1相关系数达到0772 4,X8即第三产业值与主成分X2相关系数达到0761 3,而其余变量与主成分之间相关系数较低,小于06,因此耕地面积与第三产业值也选作为主影响因子。综上,选取GDP、人口、农业用水量、工业用水量、耕地面积、第三产业值6个因子作为需水预测模型的输入量。
23需水预测模型建立
231GABP需水预测模型
将选取的6个因子作为GABP模型的输入量,泰州市总需水量作为输出量,建立3层的神经网络模型。从样本中选取2003-2010年数据作为训练样本,2011-2014年数据作为检验样本。由于样本数据的量纲及数量级不相同,首先需对样本数据进行归一化处理,再输入到GABP模型中进行学习训练。其中,网络参数设定如下:隐含层神经元个数经过试算取10,种群规模取40[24],遗传迭代次数取80,交叉概率取04,变异概率取008,网络训练函数采用traindm,性能函数采用mse,设定期望均方差为0001,通过学习训练后得到预测模型。
232BP神经网络需水预测模型
将选取的6个因子作为BP神经网络的输入量,泰州市总需水量输出量,建立3层的神经网络模型。从样本中选取2003-2010年数据作为训练样本,2011-2014年数据作为检验样本。对样本数据进行归一化处理后输入到BP神经网络模型中进行学习训练。其中,网络参数设定如下:隐含层神经元个数经过试算取8,网络训练函数采用traindm,学习率取01,性能函数采用mse,期望均方差为0001,通过学习训练后得到预测模型。endprint
24模型评价指标
选用平均相对误差eMRE及最大相对误差emaxMRE作为需水预测模型评价的标准,其计算公式如下:
eMRE=[SX(]1[]n∑[DD(]n[]i=1[DD)][SX(]|[AKx^]i-xi|[]xi(2)
emaxMRE=[SX(]|[AKx^]i-xi|[]xi(1≤i≤n)(3)
式中:[AKx^]i为第i个样本的预测值;xi为第i个样本的实际值。
25需水预测结果及分析
利用训练好的GABP需水预测模型和BP需水预测模型对泰州市2003-2014年需水量进行预测,预测结果及实际需水量见表5。模型训练中的误差变化曲线见图1、图2。
由表5可见,GABP需水预测模型对样本的拟合效果及对检验样本的预测性能均优于BP神经网络需水预测模型,GABP需水预测模型对检验样本(2011-2014年)的平均相对误差和最大相对误差分别为10961%和16807%,对整体样本(2003-2014年)的平均相对误差和最大误差分别为05640%和16807%,此四项数据均优于BP神经网络预测模型预测结果。可见,GABP需水预测模型具有较高的预测精度和泛化能力。由图1、图2可以看到,GABP神经网络在训练213步时达到了目标误差值0001,而BP神经网络训练次数到1174步时才达到目标误差值0001,可以看出,GABP神经网络在经过权值和阈值的优化后能快速收敛到目标值,对网络的优化效果非常显著。
参考文献(References):
[1]鲁凤,徐建华,王占永合肥市需水预测遗传小波神经网络模型研究[J]测绘科学,2013,38(5):2831(LU F,XU J H,WANG Z YResearch on Hefei water demand prediction model based on wavelet neural network[J]Science of Surveying and Mapping,2013,38(5):2831(in Chinese)) DOI:1016251jcnki10092307201305002
[2]郭华,郑侃,林占东,等粒子群算法在城市需水预测模型中的应用[J]中国农村水利水电,2008(12):6365(GUO H,ZHENG N,LIN Z D,et alApplication of particle swarm optimization in urban water demand forecasting[J]China Rural Water and Hydropower,2008(12):6365(in Chinese))
[3]俞亭超,张土乔,毛根海,等预测城市用水量的人工神经网络模型研究[J]浙江大学学报(工学版),2004,38(9):5560(YU T C,[JP3]ZHANG T Q,MAO G H,et alStudy of artificial neutral network model for forecasting urban water demand[J]Journal of Zhejiang University(Engineering Science),2004,38(9):5560(in Chinese))
[4]屈迟文,傅彦铭,戴俊改进的CSGRNN模型在城市需水量预测中的应用[J]西南师范大学学报(自然科学版),2014,39(9):127132(QU C W,FU Y M,DAI JOn application of generalized regression neural network potimized by chckoo search algorithm in urban water demand prediction[J]Journal of Southwest China Normal University(Natural Science Edition),2014,39(9):127132DOI:1013718jcnkixsxb201409022
[5]王弘宇,马放,杨开,等灰色新陈代谢GM(1,1)模型在中长期城市需水量预测中的应用研究[J]武汉大学学报(工学版),2004,37(6):3235(WANG H Y,MA F,YANG K,et alA study of information renewal GM(1,1) model for predicting urban medium and longterm water demand[J]Engineering Journal of Wuhan University(Engineering Science),2004,37(6):3235(in Chinese))
[6]佟长福,史海滨,包小庆,等基于小波分析理论组合模型的农业需水量预测[J]农业工程学报,2011,27(5):9398(TONG C F,SHI H B,BAO X Q,et alApplication of a combined model based on wavelet analysis for predicting crop water requirement[J]Transactions of the CSAE,2011,27(5):9398(in Chinese)) DOI:103969jissn10026819201105015
[7]王春娟,馮利华,罗伟,等主成分回归在需水预测中的应用[J]水资源与水工程学报,2013,24(1):5053(WANG C J,FENG L H,LUO W,et alApplication of principle component regression model to water demand forecast[J]Journal of Water Resources and Water Engineering,2013,24(1):5053(in Chinese))endprint
[8]张日俊,董增川,郭慧芳基于支持向量机的鄱阳湖环湖区需水预测模型[J]水电能源科学,2010,28(4):2223,55(ZHANG R J,DONG Z C,GUO H FWater demand forecast model of Poyang lake area based on support vector machine[J]Water Resources and Power,2010,28(4):2223,55(in Chinese))
[9]王盼,陸宝宏,张瀚文,等基于随机森林模型的需水预测模型及其应用[J]水资源保护,2014,30(1):3437,89(WANG P,LU B H,ZHANG H W,et alWater demand prediction based on random forests model and its application[J]Water Resources Protection,2014,30(1):3437,89(in Chinese)) DOI:103969 jissn10046933201401007
[10][ZK(#]张灵,陈晓宏,刘丙军,等基于AGA的SVM需水预测模型研究[J]水文,2008,28(1):3842,46(ZHANG L,CHEN X H,LIU B J,et alSVM Model of Water Demand Prediction Based on AVG[J]Journal of China Hydrology,2008,28(1):3842,46(in Chinese))
[11]BATES J M,GRANGER C W JThe combination of forecast[J]Operation Research Quarterly,1969,20:451468
[12]巩琳琳基于遗传模拟退火算法的神经网络模型在陕西省需水预测中的应用[J]地下水,2006,28(5):1013,20(GONG L LThe NN Model based on annealing arithmetic of genetic simulation under the application of waterdemand forecast in Shaanxi province[J]Ground Water,2006,28(5):1013,20(in Chinese))
[13]舒媛媛,周维博,刘雷,等基于主成分分析的BP神经网络在延安市需水预测中的应用[J]水资源与水工程学报,2012,23[JP3](6):172175(SHU Y Y,ZHOU W B,LIU L,et alApplication of BP neutral networks to water demand forecast of Yanan City based on principle component analysis[J]Journal of Water Resources and Water Engineering,2012,23(6):172175(in Chinese))
[14]崔东文基于相空间重构原理的遗传神经网络模型在城市需水预测中的应用[J]水利水电科技进展,2014,34(1):8589(CUI D WApplication of genetic neural network model to urban water demand prediction based on theory of space reconstruction[J]Advances in Science and Technology of Water Resources,2014,34(1):8589(in Chinese)) DOI:103880jissn10067647201401018
[15]张倩,沈利,蔡焕杰,等基于灰色理论和回归分析的需水量组合预测研究[J]西北农林科技大学学报(自然科学版),2010,38(8):223227(ZHANG Q,SHEN L,CAI H J,et alCombination forecast research on water demand based on the grey theory and regression analysis[J]Journal of Northwest A & F University(Natural Science),2010,38(8):223227(in Chinese))
[16]万金保,曾海燕,朱邦辉主成分分析法在乐安河水质评价中的应用[J]中国给水排水,2009,25(16):104108(WAN J B,ZENG H Y,ZHU B HApplication of principal component analysis in evaluation of water quality of Lean river[J]China Water and Waste Water,2009,25(16):104108(in Chinese))
[17]杨建刚人工神经网络实用教程[M]杭州:浙江大学出版社,2003:4445(YANG J GArtificial neural network practical tutorial[M]Hangzhou:Zhejiang University Press,2003:4445(in Chinese))
[18]崔东文基于BP神经网络的文山州水资源承载能力评价分析[J]长江科学院院报,2012,29(5):915(CUI D WEvaluation and analysis of water resources carrying capacity in Wenshan prefecture based on BP neural network[J]Journal of Yangtze River Scientific Research Institute,2012,29(5):915(in Chinese)) DOI:103969jissn10015485201205003endprint
[19]王小川,史峰,郁磊,等MATLAB神经网络30个案例分析[M]北京:[JP3]北京航空航天出版社,2002(WANG X C,SHI F,YU L,et alAnalysis of 30 cases of MATLAB neural network[M]Beijing:Beijing Aerospace University Press,2002(in Chinese))
[20]何斌,张澎辉,梁国华,等基于BP神经网络的场次洪水河道沙量预报[J]南水北调与水利科技,2015,13(3) :406408,416(HE B,ZHANG P H,LIANG G H,et alFlood and sediment prediction based on BP neural network[J]SouthtoNorth Water Transfers and Water Science & Technology,2015,13(3):408,416(in Chinese)) DOI:101:3476jcnkinsbdqk201503002
[21]苑希民,李鴻雁,刘树坤,等神经网络和遗传算法在水科学领域的应用[M]北京:中国水利水电出版社,2002(YUAN X M,LI H Y,LIU S K,et alApplication of neural network and genetic algorithm in water science[M]Beijing:China Water power Press,2002(in Chinese))
[22]张德丰MATLAB神经网络应用设计[M]北京:机械工业出版社,2009(ZHANG D FMATLAB neural network design[M]Beijing:Mechanical Industry Press,2009(in Chinese))
[23]蔡臣,黄涛,李云祯基于GABP神经网络水下隧道涌水量预测及应用[J]路基工程,2013(1):3942(CAI C,HUANG T,LI Y ZForecast and application on water inflow of underwater tunnel based on GABP neural network[J]Subgrade Engineering,2013(1):3942(in Chinese)) DOI:103969jissn10038825201301010
[24]刘晓霞种群规模对遗传算法性能的研究[D]保定:华北电力大学,2010(LIU X XResearch of population size on the performance of genetic[D]Baoding:North China Electric Power University,2010(in Chinese))endprint