武风波 赵盼 吕茜彤
摘 要: 城市用水准确的预测结果,对城市供水系统的控制具有直接的影响,而良好的城市用水控制系统不仅能够提高城市各个时段的供水效率,而且对城市人民生活幸福指数有较高的影响。该文设计通过分析传统的BP神经网络对城市用水量预测容易陷入局部误差极小,预测结果存在一定误差,提出在BP神经网络的基础上通过遗传算法优化BP神经网络进行城市用水量预测。通过设计GA?BP神经网络的具体结构,对已知的城市每日时用水量数据进行网络训练和学习。结果显示该模型具有一定的精度和适用性,预测结果可用于城市供水优化调度模型。
关键词: 城市用水; 用水量预测; BP神经网络; 预测建模; 网络训练; 仿真分析
中图分类号: TN711?34; TP872 文献标识码: A 文章编号: 1004?373X(2020)08?0147?04
Urban water consumption prediction based on GA?BP neural network
WU Fengbo, ZHAO Pan, L? Xitong
(School of Communication and Information Engineering, Xian University of Science and Technology, Xian 710054, China)
Abstract: The accurate prediction of urban water usage has a direct impact on the control of urban water?supply system. The good urban water control system can not only improve the water?supply efficiency in every time bucket of the city, but also have a serious impact on the urban people′s life happiness index. On the basis of the analysis that the traditional BP neural network is easy to fall into the local error minimum in the prediction of urban water consumption, and the prediction results has a certain error, the urban water consumption prediction based on BP neural network optimized by genetic algorithm is proposed. The specific structure of GA?BP neural network is designed to perform the network training and learning of known data of water consumption per hour in a city. The results show that the model has a certain accuracy and applicability, and the prediction results can be used in the urban water?supply optimization scheduling model.
Keywords: urban water usage; water consumption prediction; BP neural network; prediction modeling; network training; simulation analysis
0 引 言
随着城市人口的不断增加,城市供水系统也逐渐显示出它的不足,例如在用水高峰期部分高层供水水压较低,不能满足人们基本的生活需求。而我国传统的供水调度系统也存在较大的问题,例如水资源调度消耗能源较大,水资源浪费较多等。因此,为了满足城市人口的需求,必须对用水系统进行优化,而优化的前提是需要进行精确的用水量预测。
我国用水量的预测研究整体处于较低的水平,从最开始以每月用水量数据为研究依据到现在以每天日时用水量以及影响因素为研究依据,通过逐渐采用智能算法对其预测[1]。通过分析几种预测模型,神经网络算法相较于其他有更好的预测效果,故选用神经网络进行用水量预测。但是BP神经网络在预测过程中模型的权值和阈值是随机获取,使得网络很容易出现局部最优,收敛速度过快等现象[2]。通过分析发现遗传算法具有优化神经网络结构,使得预测模型达到最优的效果,故本文采用遗传算法优化神经网络的结构模型预测城市用水量。
1 BP神经网络及遗传算法
1.1 BP神经网络的基本原理
人工神经网络是当前人工智能领域研究中非常活跃和重要的前沿研究,是一种模拟人脑运行方式的复杂网络系统,通过在人工神经元各个单元间建立广泛的连接来实现。人工神经网路具有较高的非线性、较好的鲁棒性、较强的学习能力以及大规模的并行处理特性[3]。
BP神经网络是人工神经网络应用中最广的一种神经网络。BP神经网络算法的实质是求解误差函数的最小值问题,正向传递的输入信号X通过隐含层节点作用于输出节点,每个神经的输入包括输入向量和期望输出向量,通过输出结果与预测结果求解偏差,若偏差向量不满足期望,通过反向传递调整输入节点与隐含层节点的连接权值和阈值等,使误差沿梯度方向下降,经过反复学习练习,使得误差达到期望值,结束训练[4]。
BP神经网络是一种分层型的典型多层网络,具有输入层、隐含层和输出层,层与层之间多采用全连接方式[5]。BP神经网络的拓扑结构如图1所示。
图1中X为BP神经网络的输入值,W为BP神经网络隐含层的权值,Y为BP神经网络最后输出的预测结果。由图1可知,BP神经网络可以看作非线性函数,其中函数的自变量为网络输入层的值,函数的因变量为预测输出值。
1.2 遗传算法
遗传算法是一种基于自然选择和基因遗传学原理的优化搜素方法,它将“优胜略汰,适者生存”的进化思想运用到该算法中[6]。
遗传算法的步骤如下:
1) 初始种群的生成:从种群数据中随机产生N个个体构成种群。
2) 根据初始种群计算每个个体的适应度,并从中找出最优个体。
3) 选择操作:在产生的个体中通过“适者生存”规则选择最优个体。
4) 交叉操作:通过设置交叉概率,从种群中随机选择两个个体进行交叉操作形成新的个体。
5) 变异操作:首先在群体中随机选择一定数量的个体,并通过设置变异概率改变基因。
6) 设置进化条件是否满足。若否,返回步骤2)。
基于遗传算法优化的BP神经网络,首先运用BP神经网络预测模型随机生成网络权值的初始参数,运用预测模型的误差为适应度,利用遗传算法对误差结果进行适应度计算,在选择合适的迭代代数后获取使得适应度值达到最优,在获得最优适应度值后确定BP神经网络模型的参数,使得训练结果较直接用BP神经网络预测有更好的预测效果[7]。GA?BP算法流程图如图2所示。
2 基于GA?BP的用水量预测模型
城市居民日用水量的数量受较多因素的影响,例如今天是节假日,大部分居民会选择出去吃饭或游玩,那日用水量的数据就会偏低;若今天天气比较严热,人们下班会选择洗漱的概率就会比较大,那日用水量的数据就会比较高[8]。
整体上来说,居民每天几个时间点的日时用水量基本上呈现稳定变化趋势,且用水量数据相较时间有较大的关联性。通过分析某市一周内每天用水量数据发现,用水量数据以时间为单位呈现波动性变化[9],而基于BP神经网络的用水量预测模型相比于时间序列模型与回归序列模型预测,预测结果具有更好的精确度与准确度。用水量变化曲线如图3所示。
BP神经网络预测模型构建主要包括对训练样本的选择与处理和神经网络结构确定。
首先确认训练样本,对于已知的部分城市日用水量,通过筛选剔除部分特殊数据来确保数据的均衡性和预测规模的准确性。由于本次城市用水量数值较大,通过对初始数值进行归一化处理,可以降低神经网络训练的时间,加快神经网络的收敛速度,使算法有较好的收敛速度和稳定性。
BP神经网络结构主要包括输入层、输出层和隐含层节点个数,输入与输出的变量以及激励函数。通过已知的某一段时间内24 h的时用水量数据来预测未来某一天的日时用水量,因此确定输入层变量为24个,即一天24 h时用水量,则输入层节点个数为24个,输出层变量为1个,即第二天的第一个日时用水量,则输出层节点个数为1个。对于网络结构中隐含层节点个数的确定和选取目前还没有明确的定论或理论指导,本文通过经验函数确定隐含层节点个数,并通过多次比对分析确定最终隐含层节点个数。
激励函数选取双曲正切Sigmoid函数,双曲正切函数作为单隐含层神经网络激励函数具有较好的映射能力,并且能够实现较好的拟合效果。图4为本文建立的神经网络结构图。
本文构建的遗传算法优化神经网络模型,其中遺传算法的进化代数为30,种群规模为10,交叉概率和变异概率分别为0.7和0.2。通过运行主程序,得到每代种群的适应度曲线如图5所示,由图可知,该种群在遗传到22代以后,适应度达到稳定状况。
使用一定量的数据样本建立BP神经网络的优化模型,通过相对误差函数来判断预测模型的准确性。该模型经过多次训练输出[yp](p=1,2,…),对应实际值用水量数据为[y0],则该预测模型的精度为[ep=yp-y0],则预测模型的相对误差F计算公式为:
3 仿真结果及分析
通过在Matlab仿真软件对训练样本的训练,通过改进的BP神经网络算法,即遗传算法优化的BP神经网络对实验数据进行训练,并对预测结果与实际值进行分析,发现遗传算法优化的BP神经网络有较好的效果。两种预测模型预测用水量与实际用水量对比如图6所示。
图6中,“+”表示某时刻下真实用水量数据,“o”表示训练的模型预测得到的某时刻用水量数据。图6分别给出BP神经网络预测结果和有遗传算法优化后BP神经网络的预测结果与真实用水量对比图。
从图中可明显看出:BP神经网络与遗传算法优化的BP神经网络两条预测曲线的趋势与波动与真实值是一致的,并且某些数据存在一定的重合,这说明BP神经网络模型预测城市用水量存在一定的可靠性。但BP神经网络的部分用水量预测结果存在较大误差,通过加入遗传算法优化神经网络使得城市用水量预测模型可以对实际用水量数据进行较大程度的逼近,在个别时刻存在一定的误差,模型整体上是合理的、有效的。
不同时刻下BP神经网络预测模型和GA?BP神经网络预测模型预测值和相对误差,将两个预测模型的相对误差绘制为误差直方图,如图7所示。从图中可以看出,基于遗传算法优化的神经网络预测模型相对误差值较BP神经网络预测模型的预测结果较小,且存在平稳预测趋势;并且由数据可知,相对误差在0.1范围内的时段有23个,比例约为95.8%,有9个时段预测结果的相对误差小于0.05,占比超过37.5%。