张天一 刘心
摘要:随着经济的增长和人民生活水平不断地提高,国内生活用水需求量呈现逐年增长的趋势,水资源短缺已成为人类发展的瓶颈,合理利用水资源势在必行。需水预测环境因素复杂,不同的地区影响因子各不相同,且影响因子的筛选直接决定需水量预测的结果精确与否。对此,本文提出了考虑节假日、降雨、季节、高温天气四项因素与BP神经网络、时间序列预测相结合的需水预测模型。并以校园用水为例,结合实际环境,建立模型,进行预测。结果表明,本文所提出的方法能够有效的预测校园需水量,预测精度较于单一的预测模型有明显提高。
关键词: BP神经网络1;时间序列2;预测3;影响因素4;用水5
中图分类号:TP18 文献标识码:A 文章编号:1009-3044(2018)11-0283-05
Water Demand Forecasting Based on Analysis of Influencing Factors
ZHANG Tian-yi, LIU Xin
(Hebei Engineering University, Hebei Handan, 056038, China)
Abstract:With the economic growth and improvement of people's living standard, the demand for domestic water has been increasing year by year. The shortage of water resources has seriously endangered the normal life of human beings and the rational use of water resources is imperative. There are many factors involved in water demand forecastin. The influence factors in different regions are different and vary, and the choice of influence factors directly determines the result of water demand forecasting. A water demand forecasting model combining four factors of holidays, rainfall, season and high temperature with BP neural network and time series forecast is proposed. Take the campus water as an example, through forecasting the main influencing factors and constructing the water demand forecasting model with the influence of factors.
Key words:BP neural network1; time series2; water demand prediction3; influencing factors4; water5
1 引言
水資源日益短缺的今天,人类社会生存和发展无可取代的自然资源及生态环境系统的组成就是宝贵的水资源,合理利用水资源已是势在必行。需水预测极为复杂,主要是因为涉及的影响因素众多,如人口、社会经济发展水平、节假日、高温天气、降水量等。需水量预测的准确程度直接影响供水系统投资、管网布局和运行的合理性[1-3]。不论选取什么预测方法,首要考虑的就是合理分析并筛选各因子作为输入模型,保证预测精准度。因此,要想合理使用宝贵的水资源、进行有效的供水就必须对水资源进行科学严瑾的预测。
当前需水预测的方法有很多,较早的需水预测方法有定额法,它的准确度较低,由实验经验决定[4]。文献[5]指出,时间序列法有移动平均法、指数平滑法、季节变动法、趋势外推法、博克斯一詹金斯法;其他预测方法有人工神经网络、灰色预测等。文献[6]指出,探究用水效率的影响因素,结合当地实际制定用水策略对用水灌溉的效率有显著的提高。文献[7]中,进行了3次需水预测,并对预测结果进行对比分析,得到水预测的影响因素为:城市生活、城市化、工业发展、工业用水定额、结构调整、还有水价等。文献[8]则建立了一种多元分析特点的动态需水预测模型,该模型将影响因素作为神经网络的输入节点,结果精准的反映了影响因子对水预测产生的巨大影响。
为探究各因素影响下的用水量以及需水预测之间的关系,本文详细列出解决方法,经过分步量化后,深入挖掘用水量与各影响因素间的动态关系,以获得主影响因子,并将其作为输入量,同时对预测的用水量做出分析修正,跟踪用水量的变化,更为精确满足校园供水需求。
2 预测方法及因素分析
2.1 方法概述
本文需水预测方法是针对校园的需水量提出的,该方法流程如图1所示。各种影响因素与需水量的预测密切相关。在不同情况下,由于灵敏度不同,响应特性的程度大小也不同。若直接以总需水量进行建模预测,在一定程度上影响了预测精度。进行因素分析后的修正预测则可以使用水和影响它的因素关联起来,并在预测中以一定的形式反映出来,从而使得预测精度得到一定的提高。对此,本文提出针对不同预测情况,及具体环境,提出假设,考虑节假日、降雨、季节、高温天气因素,并以用水分析进行理论验证,从预测输入端方面进行优化。因此,针对任何需水预测模型,影响因子的筛选都必不可少。影响因子选择太少,预测结果的准确性过低;影响因子过多,使得模型建立复杂化,陷入局部优化问题,无法得到整体优化解[9]。通过对用水行为和影响因子的详细分析[10],发现需水预测中存在的问题和原因,对校园用水历史数据进行大量统计,找出与用水量相关的主要因素,由此提取出主要影响变量,选择重要因子建立预测模型。
2.2 考虑影响因素判定
一般情况下,直接使用原始数据库的用水数据都会因为各种人为或自然因素而出现粗糙预测等情况,这就会对预测精度造成一定的影响,对此本文采用了一些与BP神经网络、时间序列相结合的样本数据处理及预测方法。
1)节假日因素
输出端:包含节假日预测因素为输出预测端;
输入端:按照“近大远小”原则,将三年该节假日前夕数据,以及样本中存在节假日当天的数据作为模型序列输入进行预测;分别针对不同节假日进行不同程度的系数进行修正。
2)降雨因素
输出端:包含降雨因素为输出预测端;
输入端:将样本中时段降水数据输入模型序列进行预测。
3)季节因素
判断预测日期所属季节,把近三年该季节的相同时段作为输入端序列,进行预测。
4)高温天气因素
输出端:带有高温天气因素为输出预测端;
输入端:样本数据中相应时刻的温度输入作为输入端序列预测;同时将该样本数据低于平均温度的数据进行剔除,保留高温数据;针对不同高温做出与之对应的温度系数修正。
2.3 用水数据因素分析
2.3.1 节假日因素
五一期间,时用水量明显低于正常人员工作日。小长假期间,学校中的学生和工作人员回家休息,导致各时段的用水量显著降低,且低于平均水平,如图2所示,4.29日假期前夕,用水量开始减少,5.2日假期即将结束的时候,用水量又逐渐增加,直到恢复正常用水量。经过大量数据统计与分析,元旦、春节、五一、清明、端午、国庆等假期的用水模式具有相同的特点。假期因素是直接影响因素,且对数据分析,发现该因素影响度稳定,影响量较大,当与其他影响因素冲突的时候,须优先考虑假期因素,故假期因素排在第一位。
2.3.2 降雨因素
降雨量是影响用水的突发性要素之一。理论上来看,当有强降雨或者连续降雨的时候,用水量会在相应时刻明显减少,这是因为降雨带来了气温和湿度的变化,气温的降低和湿度的增加,会影响人们在相应时刻的用水。降雨量为突发性影响因素,影响效果显著。如图3所示,可以清晰地看出,降雨量和用水量呈现负相关的关系,该时间段降雨的出现,会一定程度的影响用水量。当遇到强降雨或者连续降雨的时候,用水量顯著减少,降雨会影响气温的变化,故降雨因素排在第二位。
2.3.3 季节因素
季节特性是影响用水量的一个重要因素。如图4所示,不同的季节,人们用水习惯是一样的,用水量会因为季节特性而产生变化。春冬季节的用水量应是低于夏冬季节的用水量。夏季用水量理论上应该是高于秋季的,但是,由于夏至期间,学生们正值暑假期间,影响用水,导致夏至用水量不如秋分的用水量。随着季节的变化,人们的生产、生活习惯也会随着季节的气候特征而变化。邯郸地处河北省南端,四季分明,用水量受天气、季节的影响比较大。因为影响时间较长,且影响缓慢变化,故将季节特性排在第三位。
2.3.4 高温天气因素
研究区域分布于河北省南端,属半湿润半干旱大陆性季风气候,用水量受夏季高温天气影响比较大。根据《中国气象局》给出的月平均温度,研究区域夏季高温下用水强度与平均温度之间的关系。如图5可以看出变化趋势:温度升高,用水量呈现相应增加的趋势。可见高温是用水量增加的直接因素,且通过上图对数据的拟合可以看出:气温与时用水量呈现一次线性关系,可见气温是时用水量的重要影响因素。气温受到季节影响较大,且夏季局部高温才对用水量产生较大影响,故将气温排在第四位。
3 校园需水量预测模型的建立及预测分析
3.1 BP神经网络介绍
BP神经网络具有多层的神经元结构,即含有多个隐层,因此该网络被广泛地应用。该神经网络使用Widorw.Hoff模型,同时具有非线传递函数的特点。在网络学习中,信号的输入是正向传播。
Sigmoid函数经常作为该模型使用的激活函数。每一个神经元的网络输入为:
[net=x1w1+x2w2+...xnwn] (1)
其中X1、X2、X3、...Xn为该神经元所接受的输入,W1、W2、W3、...Wn分别是它们对应的连接权。该神经元输出为:
[a=f(net)=11+enet] (2)
上述式子中,[wi]是等待确定的权重系数,简称权值,f的常用函数为Sigmoid函数,激活函数必须处处可导。权重值的选择不同,神经元网络就会对应不同种输入与输出的关系。神经元网络的具体工作原理:把样本数据作为输入直接输入到网络模型中,得到的输出不够精准,与实际相差甚远。于是,权值的修正就是按照实际的输出与理想输出的差来计算的。经过多次系统的训练,当实际与理想的输出趋于一致的时候,神经元网络就可以替代我们所需要的模型了。
三层BP网络模型如图所示。
BP神经网络训练由信息的正向传播、误差的反向传播构成。正向传播时,信息中的数据[X(i)]通过隐含层节点后传入输入层。然后,通过一系列非线性变换,在输出层输入[Y(k)]。如果出现实际输出[Y(k)]与事先设定好的期望[t]的差异很大的情况,学习过程会启动误差的反向传播,即误差值在传递进程中被分给各层中的神经节点,传递进程中可以得到各级神经节点的重要信息。修正依据则是通过神经节点时获得的信息。输出值的误差减小,依靠的是连续修正输入层、隐含层节点的连接[Wij],隐含层、输出层节点的连接[Tjk]。经过训练后的输出结果目的就是与期望值趋于一致。信息正向传播、误差反向传播、权值调整就是BP神经网络训练和学习的核心过程。
考虑影响因素的BP神经网络进行模型训练的主要步骤如下:
1)找到模型的参数。输入层神经元个数、隐含层神经元个数、输出层神经元个数。
2)针对本文提出的样本筛选法进行样本预先处置。
3)设定相关参数。将输入项设置为:样本用水、节假日、降雨量、季节、高温五个输入。
4)根据训练要求,设置BP网络训练模型参数,进行训练、仿真,进而得到预测结果。
影响因素的BP神经网络模型流程见图7。
3.1.1 BP神经网络预测模型分析验证
模型输入端为:样本数据、是否节假日、降雨量、季节、温度,输出端为实际校园用水数据,构造3层BP神经网络模型。收集到2017年5月1-20日各主要因子和实际校园用水量的相关数据,选择2017年5月1-20日各主要因子数据作为训练样本,5月21日的数据作为测试样本。原始数据不能直接输入到训练中,需要对数据整体归一化对待;隐含层个数经试算法确定,最佳为22;tansig、purelin为传递函数,trainlm为训练集函数。为了与有因素考虑的模型做对比,需要再次构建传统BP神经网络,训练函数、学习速率、误差目标值等全部不变,但是不考虑各种因素带来的影响。算法的参数设置如表1所示。
预测精度的体系指标则是采用平均绝对百分误差度量,用来验证预测效果是否达到理想的效果,公式为:
[MAPE=100Nt=1NYt-YtYt] (3)
式中:[Yt]表示[t]时刻实际需水量,[Yt]表示[t]时刻预测需水量,N表示一天时间长度。
从图8可知,有因素考虑的各个小时需水预测值与实际值拟合精度更高,曲线重合效果较为理想。表2中检验结果表明,基于影响因素构造而成的BP神经网络的训练过程误差较小,取得的预测结果较为精准。
3.2 时间序列预测法介绍
时间序列是一种表象在不同时间上组合而成的一组数字序列。时间序列预测方法的基本思想是:对历史数据进行综合分析,找到表象变化的时间规律,将该种规律应用到对未来作出的某种预测上。
设时间序列为:[y1,y2,...yi,...]加权移动平均公式为:
[Mtw=w1yt+w2yt-1+...+wnyt-n+1w1+w2+...+wn] (4)
式中:[Mtw]为[t]期加权移动平均数;[wi]为[yt-i+1]的权数,该公式表现出不同的[y]在加权思想中的作用是不尽相同的。故其预测公式为:
[yt+1=Mtw] (5)
第[t+1]的预测值就是[t]的加权平均数。
在上述方法中,每个时期的数据的作用是相等的,但在实际情况中,不同时期的数据所蕴含的信息也都是不同的,距离预测时期越近的信息蕴含着未来的信息更为重要。所以,考虑不同时期数据的作用大小尤为必要。加权移动平均法的核心思想即是权重分配不同。近期数据根据经验赋予的权重大一些,而远期数据赋予的权重小一些。
3.2.1 样本因素考虑与修正
用水量的实际影响因子呈现多样化、复杂化,其中,节假日与否、降水量、季节因素以及高温天气等都会对用水量的变化产生影响。这些因素与需水预测之间的某种关系在文献[11]的研究结果中被论述,理论上他们之间的关系为线性关系,且拟合程度较高。根据用水量和不同节假日及温度变化幅度情况,选用不同的参数优化预测模型并进行分析,选出最优建模参数。根据长达近3年的历史数据进行模型优化,同时对误差做统计分析的工作,考虑了节假日、气温、降水量、高温等参数对应在内的数据,计算误差修正系数。
使用不同节假日系数θ乘以预测水量进行修正,不同节假日的修正系数θ如表3所示:
例如,2016年一年的节假日初始预测水量和经过修正后的节假日水量误差见表4,
按照前文提出的样本筛选方法,然后采用移动平均加权算法,预测结果通过对比发现,高温情况下预测结果反应不强烈,且根据权重的近大远小原理,距离预测日期越近的数据,所占权重更加重要,但是此种思想忽略温度差异对预测带来的影响,预测会有失精准,所以,需要针对温度变化对预测结果产生巨大影响的问题进行调整与修正,修正系数为α,预测调整中将夏季高温天气作为影响因素进行系数修正。系数修正如表5:
利用2017年5月1-20日实际校园用水量的时相关数据作为训练及筛选样本,5月21日的数据作为测试样本。考虑预测样本所受节假日、降雨、季节、高温天气影响因素,同时,根据修正系数对预测数据进行修正。根据资料条件最终预测需水量如图9所示,显然单一的时间序列预测值与实际数据的变化趋势拟合度较低,有十分不精确的点存在,在采用考虑带有影响因素的模型后,算法精度有所提高。其中,针对温度因素影响预测结果反应不及时的问题,在本次预测调整中将高温变化作为影响因素进行系数修正。如表6所示,为初始预测水量,对比节假日系数和温度变化系数修正后的预测结果。综合各种具体以及复杂条件考虑的情况,精度要优于直接预测的算法。
4 结论
本文从节假日、降雨、季节、高温四个方面进行影响因素的数据分析,建立了将影响因子作为输入端的BP神经网络模型,该方法经过验证比传统神经网络更为精准;采用时间序列法,全面考虑影响需水预测的各种因素,得到了相比于初始方法更为精准的数据。不同的预测都有不同的特点,在进行预测时,须从实际情况入手,纵观历史数据及实际影响因素,筛选高质量的样本,建立模型。同时,在以后的研究中还可根据影响用水的因素,加入更多的输入元素,提高预测方法的精度。需水量预测实验研究仅从历史数据中探寻规律,考虑到各预测方法本身的不足,尚且不能最大程度的客观反映节水之影响因素对预测需水结果的影响。故需水预测的输入因子所起作用的量化程度需要继续探究规律。
参考文献:
[1] Adamowski J,Prokoph A.Assessing the impacts of the urban heat island effect on streamflow patterns in Ottawa, Canada. Journal of Hydrology, 2013. 496: 225-237.
[2] Bakker M.A fully adaptive forecasting model for short-term drinking water demand. Environmental Modelling & Software, 2013(48):141-151.
[3] Fullerton Jr, T.M., A. Ceballos, and A.G. Walke, Short-Term Forecasting Analysis for Municipal Water Demand. Journal - American Water Works Association, 2016(108): E27-E38.
[4] Qin, T.L., et al., Water Demand Forecast in the Baiyangdian Basin with the Extensive and Low-Carbon Economic Modes. Journal of Applied Mathematics, 2014: 1-10.
[5] 尹學康. 城市需水量预测系统的开发研究[D].湖南大学,2003.
[6] 刘军,朱美玲,贺诚. 新疆棉花节水技术灌溉用水效率与影响因素分析[J].干旱区资源与环境,2015,29(2):115-119.
[7] 张维敏. 两种需水预测影响因素分析方法的比较[J].人民珠江,2017,38(3):29-31.
[8]许仕荣,尹学康,李黎武. 城市用水量的综合动态预测建模方法[J].湖南城建高等专科学校学报,2002(1):37-38+53.
[9] 臧冬伟,陆宝宏,朱从飞,等. 基于灰色关联分析的GA-BP网络需水预测模型研究[J]. 水电能源科学,2015,33(7):39-42+6.
[10] 侯保灯,高而坤,吴永祥,等.水资源需求层次理论和初步实践[J].水科学进展,2014,25(6):897-906. [2017-09-15].
[11]张雄,党志良,张贤洪,等.城市用水量预测模型综合研究[J].水资源与水工程学报,2005(4):28-32.