APP下载

基于贝叶斯BP神经网络的区间需水预测方法

2018-09-10郭强李文竹刘心

人民黄河 2018年12期
关键词:BP神经网络

郭强 李文竹 刘心

摘要:结合校园历史用水数据,采用贝叶斯BP神经网络区间预测方法,对校园用水量进行预测。首先运用贝叶斯准则对BP神经网络进行优化,之后对区间预测进行仿真并和传统的BP神经网络预测法进行比较,结果显示预测准确率为%.7%,多数预测值和实际用水量吻合,相对误差绝对值平均为1.6%,最大预测误差为4.2%,表明该方法不仅可以解决传统BP神经网络易陷入局部极小化和收敛速度慢的问题,而且能够有效预测出校园日用水量的波动范围,验证了预测方法的有效性和精确性。

关键词:需水量预测;区间预测;贝叶斯准则;BP神经网络

中图分类号:TV214.9 文献标志码:A

水是人类生产、生活不可或缺的重要资源。随着全球气候变化和经济社会的发展,水资源短缺现象越来越严重,水资源供需矛盾加剧。需水量预测是供水、用水和节水规划的重要基础[1],进行合理有效的需水量预测是各个国家和地区水资源规划的主要任务[2]。

目前国内外所采用的需水量预测方法有很多种,比較常见的有:①基于恩格尔系数的需水预测方法[3],该方法把恩格尔定律运用到城市生活用水量预测上面,能较好地反映生活用水量的变化,但是个别年份的相对误差较大,对非线性数据预测不准确;②基于灰色预测模型的需水量预测方法[4],通过分析历史用水数据,建立需水预测模型,能预测长期和短期的用水量,该方法无需太多历史用水数据,在数据极其匮乏的情况下很适用,但其对历史用水数据具有很强的依赖性,而且没有考虑各个影响因素之间的联系;③BP神经网络需水预测方法[5-7],具有非线性映射能力,能预测非线性数据,自学习和自适应能力强,能够自动提取数据和输出数据,容错能力强,在局部或部分数据受到干扰后不会影响最后的预测结果,但是容易陷人局部极小化,收敛速度比较慢,数据在传递过程中存在不确定性。上述需水预测方法得到的预测结果均是确定性的,属于点预测,不足之处在于不能准确预测用水量在未来时段的波动范围,在实际供用水过程中会出现影响预测的各种不确定因素,而区间预测[8]能够反映水资源需求的不确定性。

笔者提出一种基于贝叶斯准则[9]的BP神经网络区间需水预测模型,能描述未来预测结果的波动范围。该模型首先利用贝叶斯准则求取预测值的均值与方差,进而确定BP神经网络最优权值和阈值,避免BP神经网络陷于局部极小化;然后,通过构造目标函数对局部权值和阈值进行调整,解决BP神经网络算法收敛速度慢的问题;最后,将每一步迭代过程中的BP神经网络输入量作为随机变量,充分考虑BP神经网络数据在传递过程中的不确定性。

1 需水量区间预测方法

先通过聚类算法[10]对不同的用水样本数据进行归类,得到多个不同的相似状态数据,然后输入到基于贝叶斯准则的BP神经网络区间预测模型中,输出得到多个预测值,再根据用水历史数据预测误差概率分布范围,最后形成需水量概率性区间预测结果。

1.1 用水样本数据的聚类分析

选取历史用水量样本数据进行分析。首先采用聚类算法进行合理化分类,设定s为给定的用水数据之间的一个分类距离阈值,对日用水量的任意两个数据X(t)、X(t),如果满足下列公式,则称X(t)和X(t)为一类,即属于相似状态:式中:D(t,t)为两个数据之间的距离。

为了提高预测精度,对同一类的两个数据Xa和Xi进行关联度计算,公式为式中:ri为数据X0和Xi的关联度,关联度越高表示数据越接近,预测精度越高;d为数据总量;k为数据中的某个值,取1到24;ξi(k)为数据X0和Xi在k点的关联系数;X0(k),Xi(k)分别为数据X0和Xi在k点的取值;p为关联度的比例系数。

1.2 需水预测区间选取

区间预测是由点预测组合而成的,设输入的用水数据为X(ti)(i=1,2,…,k),根据点预测方法,计算区间最小值min和最大值max,[min,max]即需水预测区间。公式为

min=min X(ti+η)(1

max=max X(ti+η)(1

1.3 相似状态选取

为了量化预测值的可变性,引入方差公式,用来表示离X(t)最近的k个临近点的状态:式中:σt2为预测的方差值,用水量数据从1输入到k;X(ti)为输入的第i个用水量数据;μ为用水量平均值。

把输入的数据进行相似状态划分,得出不同类别的输出值。输出值计算公式为

Yi=Y(X,δ)+εi(7)式中:Yi为同一类别的输出值;Y(X,δ)为输入的不同数据;εi为误差调节值,服从正态分布εi~N(0,σ2),用来调节误差。

把经过聚类的区间样本数据输入到贝叶斯BP神经网络预测模型中,输出的需水量预测结果会形成一个区间,再根据用水数据历史预测误差产生的概率分布范围,形成需水量概率性区间预测结果。

2 贝叶斯优化BP神经网络权值阈值

实现区间预测的关键在于对用水数据进行准确分析,并利用BP神经网络进行有效训练及仿真。贝叶斯BP神经网络区间预测的步骤:①将筛选后的若干个用水样本数据的相似状态进行归一化处理,初始化BP神经网络的结构和参数;②BP神经网络初始化权值阈值,选择和函数与核参数,构造似然函数,利用贝叶斯准则求得权值的高斯分布,采用反复迭代的极大似然估计方法找到最佳超参数,确定最优权值阈值;③对最优权值阈值进行训练、仿真,对仿真输出的数据进行仿真精度和预测精度验证,输出满足条件的预测值;④对输出的用水预测数据进行误差校正,转化数据,输出用水数据的预测结果。

2.1 神经网络权值概率分布

对于归类输出后的训练样本(Xi,Yi)(i=1,2,…,n),应用贝叶斯法则,可以得到神经网络权值的后验概率分布[11],表达式为式中:α和σ2为最佳超参数,决定权值ω的先验分布;Y为输出的用水量预测值;式中的分母为归一化因子,表示权值的先验分布。

神经网络权值的后验概率分布同时服从多变量高斯分布[12]:

P(ω|Y,α,σ2)=N(μ,Σ)(9)式中:Σ为用水量数据的协方差。

通过均值和协方差来确定最佳超参数,从而确定最优权值。

2.2 权值最优解

根据用水数据的均值和协方差,采用极大似然估计方法可得出最佳超参数α和σ2的最优解:式中:Φ迭代参数。

反复计算上式直到满足收敛条件,可以得到更新后的最佳超參数,然后代入式(8)中,从而可以求出权值的最优解。

2.3 阈值最优解

将得到的权值最优解代入下列公式,就可以求出BP神经网络的阈值最优解:式中:Y*为输出的最优预测值;w*为最优权值。

2.4 权值和阈值的调整

BP神经网络结构分为输入层、隐含层和输出层[13]3层,每一层都包含有神经元。本研究把温度、湿度、降水量作为输入神经元,把日用水量作为输出神经元,然后进行预测。

提供训练样本,输入向量X'=(X1',X2',…,Xn'),期望输出向量Y'=(Y1',Y2',…,Yn'),对输入的用水样本数据进行迭代,得到神经网络的实际输出值:式中;akj为第k个样本在第j层的输出;fj为修正系数;wji为第j层和第i层的连接权值;aki为第k个样本在第i层的输出;bj为第j层的阈值。

在训练结束后,调整权值和阈值,对应的输出结果若不满足精度要求,则继续调整直至符合要求,其算法公式为式中:a为权系数调整常数;δj为各层的反传误差。

调整主要是对上一层的权值和阈值进行误差改进,为了加快收敛速度,一般要考虑上一层的权系数。

2.5 学习速率调整

标准BP神经网络算法收敛速度缓慢的一个重要原因是学习速率选择不当[14],学习速率若选得太小,则收敛太慢;若选得太大,则有可能导致振荡甚至发散。本文对于BP神经网络学习速率的调整方法是:在收敛的情况下,增大η,以缩短学习时间;当η偏大致使不能收敛时,及时减小η,直到收敛为止。

3 仿真结果

3.1 需水区间预测结果

使用MATLAB软件[15-16]进行需水预测仿真,以河北工程大学校园用水量为研究对象,采用2017年6月30日以前的日用水量样本数据对6月30日的逐时用水量进行预测,并与实际值进行比较。首先根据聚类算法,将用水样本数据相近的点进行归类筛选,找到不同相似状态的用水预测值,然后将这些预测值输入到贝叶斯BP神经网络模型中,输出得到需水区间预测曲线(见图1)。由图1可以看出,6月30日24个实际值均落在预测值区间内,说明本文的预测方法是准确有效的。

3.2 需水预测区间置信水平

置信水平[17]是指总体参数值落在样本统计值某一区间的概率,置信水平越高,说明所选取的区间范围可靠程度越高,需水预测的结果也就越准确。本文以区间覆盖率XCP(实际测量值落在预测区间内的概率)来衡量区间的置信水平,图1所有的实际值都位于预测区间内,即区间覆盖率达到了100%,表明本文的需水预测区间是有效的。

3.3 需水预测区间上限与下限曲线

取图1预测结果曲线族的包络曲线,得到预测区间上限与下限曲线(见图2),日用水量逐时实际值全部落在预测区间内。由预测区间上限和下限曲线可以更加直观地看出实际用水量的波动范围,虽然用水数据存在一定的局限性,但是本文的预测区间上下限波动范围为50~350m3,实际值均落在区间之内,进而说明预测的有效性和精确度。

3.4 需水预测区间中值曲线

根据图2预测区间上限和下限曲线得到区间中值曲线(见图3),把区间中值作为需水量确定性预测结果,再结合贝叶斯准则算出置信水平。由图3可以看出,预测区间中值曲线和实际值曲线较为接近,但是局部仍存在一定的误差,需要通过误差校正的方法对中值曲线进行合理优化,以提高预测精度。

3.5 预测区间中值误差校正

在一定置信水平下,区间预测结果在某些点处的区间长度略显过大,因此局部预测结果精度不高。为使需水量预测更加准确,应采取误差校正的方法来改善输出值,具体步骤如下。

(1)把区间预测输出值中的最优值u*输入到数据训练库中。

(2)求u*与BP神经网络的输出均值u之差:

(3)对神经网络的输出值ui进行误差校正:式中:ui'为误差校正之后的值;hi为反馈校正系数。

最后将校正过的结果输出即可,校正后的区间中值曲线见图4。

从图4可以看出,经过误差校正之后的区间中值曲线和实际值曲线更为接近,逐时用水量经过调整后更加趋近实际用水量,相对误差绝对值平均为1.6%,误差大于3%的点有3个,最大误差为4.2%,预测准确率为96.7%,说明本方法预测精度很高。

4 贝叶斯BP神经网络预测法与传统BP

神经网络预测法的比较

传统BP神经网络预测方法收敛速度较慢,本文根据贝叶斯法则构造目标函数,对神经网络传递过程中的局部权值进行了调整,收敛速度大大加快。两种预测方法的对比见图5。可以看出,传统BP神经网络预测方法容易陷入局部极小化,而贝叶斯BP神经网络预测方法改善了局部极小化的问题,需水预测结果更加准确,精度更高。

5 结语

本文利用校园历史用水数据,采用贝叶斯准则对BP神经网络进行合理优化,解决了传统BP神经网络容易陷人局部极小化和收敛速度慢的问题,从仿真结果印证了区间预测方法的准确度更高、预测效果更好,从而为需水预测提供了有效方法。

在建立需水预测模型的过程中,影响用水量的因素还有很多,对于输入因子的选择今后还需要进一步研究。另外,可以尝试将其他效果较为理想的需水预测方法和BP神经网络预测方法结合起来形成组合预测模型进行研究。

参考文献:

[1]李琳,左其亭,郑二伟,等.水资源约束下城市需水量预测研究[J].水资源与水工程学报,2014,25(5):42-45.

[2]王咏铃,夏军,刘兵.基于水资源合理配置的地下水开发利用研究[J].人民黄河,2017,39(9):51-55.

[3]张志果,邵益生,徐宗学.基于恩格尔系数与霍夫曼系数的城市需水量预测[J].水利学报,2010,41(11):1304-1309.

[4]王有娟,冯卫兵,李奥典.基于灰色组合模型的浙江省需水量预测[J].水电能源科学,2015,33(3):22-26.

[5]高学平,陈玲玲,刘殷竹,等.基于PCA-RBF神经网络模型的城市用水量预测[J].水利水电技术,2017,48(7):1-6.

[6]马辉,孙颖桃,肖艳,等.基于灰色-BP神经网络组合模型的水位预测案例[J].人民黄河,2016,38(12):89-92.

[7]杨永宇,尹亮,刘畅,等.基于灰关联和BP神经网络法评价黑河流域水质[J].人民黄河,2017,39(6):58-62.

[8]孟煜,张斌,郭军,等.云计算环境下云服务用户并发量的区间预测模型[J].计算机学报,2017,40(2):378-396.

[9]BERGMAN J J,NOBLE J S,MCGARVEY R G,et al.ABayesian Approach to Demand Forecasting for NewEquipment Programs[J].Robotics and Computer-IntegratedManufacturing,2017,47:17-21.

[10]周涛,陆惠玲.数据挖掘中聚类算法研究进展[J].计算机工程与应用,2012,48(12):100-111.

[11]FRIEDMAN J S,DROULEZ J,BESSIERE P.Approxi-mation Enhancement for Stochastic Bayesian Inference[J].International Journal of Approximate Reasoning,2017,85:139-158.

[12]YAO We,ZENG Zhigang,LIAN Cheng.Generating Probabi-listic Predictions Using Mean-Variance Estimation and EchoState Network[J].Neurocomputing,2017,219:536-547.

[13]BENNETT Christopher,STEWART Rodney A,BEAL CaraD.ANN-Based Residential Water End-Use Demand Fore-casting Model[J].Expert Systems with Applications,2013,40(4):1014-1023.

[14]PATAN Krzysztof,PATAN Maciej.Neural Networks in De-sign of Iterative Learning Control for Nonlinear Systems[J].IFAC Papers on Line,2017,50(7):13402-13407.

[15]聶影.MATLAB软件应用研究[J].软件导刊,2014,13(7):102-104.

[16]高洪涛,陈晓宁,张丽彬,等.基于LabVIEW与MATLAB平台的神经网络设计与应用研究[J].自动化技术与应用,2012,31(2):51-54.

[17]梁骏,宋松柏.水文设计值置信区间估计研究[J].西北农林科技大学学报,2016,44(10):221-228.

猜你喜欢

BP神经网络
基于神经网络的北京市房价预测研究
一种基于OpenCV的车牌识别方法
基于遗传算法—BP神经网络的乳腺肿瘤辅助诊断模型
一种基于改进BP神经网络预测T/R组件温度的方法
基于BP神经网络的光通信系统故障诊断
提高BP神经网络学习速率的算法研究
就bp神经网络银行选址模型的相关研究
基于DEA—GA—BP的建设工程评标方法研究
复杂背景下的手势识别方法
BP神经网络在软件质量评价中的应用研究 