第 5 期2021 年 10 月
水利信息化
Water Resources Informatization
NO.5Oct .,2021
一种融合 KPCA 和 BP 神经网络的用水总量预测方法
赵和松 1,王圆圆 2,赵  齐
3
(1. 水利部信息中心,北京    100053;2. 北京金水信息技术发展有限公司,北京    100053;3. 河海大学计算机与信息学院,江苏    南京    211100)
收稿日期:2021-01-11
作者简介:赵和松(1975-),男,安徽怀宁人,博士,高级工程师,主要从事水利信息化、水利通信和水资源监测等研究管理工作。                    E -mail:******************
摘 要:为提高用水总量预测的准确性,针对现有方法中存在的非线性多维用水因子选取不合理的问题,提出一种融合 KPCA (核主成分分析)和 BP 神经网络的用水总量预测方法。使用皮尔逊相关系数对用水因子进行相关性分析,选择与用水总量最相关的多个因子作为数据输入,利用 KPCA 对预测因子进行降维处理,解决数据间的非线性特征,再采用 BP 神经网络建立用水总量预测模型,网络的权值和阈值采用思维进化学习算法进行调优。采用国家统计局 2007—2016 年度开放统计用水数据进行实验,结果表明:融合 KPCA 和 BP 的用水总量预测方法相对预测误差小于 5%,预测用水精度有明显提升,可以较好预测未来用水总量,为高维非线性数据的预测提供新的优化思路。
关键词:用水总量预测;KPCA ;BP 神经网络;思维优化算法;融合方法
中图分类号:TV213.4          文献标志码:A     文章编号:1674-9405(2021)05-0042-05
DOI: 10.19364/j.1674-9405.2021.05.007
0    引言
水是人类维持地球生命质量的基本需要和必要条件之一,由于人口急剧增加、技术进步及经济增长,水的不平衡和不受管理的使用使其稀缺,使水资源供需矛盾日益加剧 [1]。目前,部分地区水资源的供应量已不能满足人口增长和工农业发展的需求,严重阻碍地区的社会和经济效益,因此,对水资源进行合理
规划和调度已经迫在眉睫。用水总量预测工作是在当今水资源严峻形势下,对水资源合理分配、调度及分析估量的重要举措 [2]。用水总量预测有多种用途,如规划城市新发展或排水系统的扩建、抽水站及水管规模的运作和城市水资源管理的规划 [3]。合理化的用水总量预测可以改善用水片区的用水管理,为输水系统设计、现代化开发提供参考数据 [4]。
传统的用水总量预测是基于已知的连续性的用水时间序列,从中挖掘当前用水量与历史用水量之间的线性关系进行用水总量预测的。然而用水总量受人口、灌溉面积等影响因素的控制,用单一的历史用水量数据去预测当前用水量数据显然是不太准
确的,因此,寻当前各用水量因子与用水总量之间的关系值得研究。
常用的用水总量预测方法有指标分析法、时间序列法、回归分析法,以及灰系统及神经网络模型。刘呈玲等 [5] 用时差相关分析法筛选出影响用水因子,再建立多元回归模型预测用水总量。达瓦等 [6] 应用灰系统理论建立用水预测模型,分析区域未来用水总量。然而这些预测效果都不太明显。近年来,用神经网络进行用水总量预测使预测精度有了很大的提高。占敏等 [7] 选择日用水量、最高温度等 5 个预测指标,构建了基于 BP 神经网络的用水总量预测模型,并利用贝叶斯正则化对 BP 神经 网络进行优化,使其符合用水总量预测的高精度要求。高学平等 [8] 采用组合降维算法 PCA (主成分分析)和 RBF 神经网络进行用水总量预测,预测能力较好。然而,用水总量因子数据具有非线性、复杂性、不确定等特点,采用神经网络进行线性降维虽然能去除冗余信息,但也会丢失一些有用的信息。
PCA 适合处理高维线性且在同一平面内的数据,对于非线性数据降维效果较差。PCA 中加入核函数可以很好地对高维特征空间上的非线性数据进
43
第 5 期
行主成分分析,即形成 KPCA (核主成分分析),可很好地解决数据之间的非线性特征,消除冗余信息对预测造成的干扰,同时结合调优后的神经网络整体提高用水总量预测的精度。为此,针对影响用水总量的相关用水因子的不确定性和非线性多维特点,提出一种融合 KPCA 和思维优化 BP 神经网络的用水总量预测方法(以下简称融合 KPCA -BP 用水总量预测方法),建立 KPCA -BP 用水总量预测模型。
1    预测方法分析
KPCA -BP 用水总量预测模型建立过程如图 1 所示。
1.1    数据收集和预处理
本方法使用的数据来源于国家统计局年度地区分省数据集,该数据集是每个省级行政区域的文本格式用水总量相关数据,每个省都有用水总量相关的因子及数据。选取其中可用的 2007—2016 年 31 个省、自治区、直辖市每年的,国内生产总值 GDP 、农业增加值、粮食产量、有效灌溉面积、工业增加值、规模以上工业企业产成品、水产品总产量、城市污水日处理能力、城镇生活污水排放量、废水排放量、火力发电量、城市绿地面积、水产品养殖面积、生活用水总量、农业用水总量、用水人口、渔业增加值、工业用水、粮食产量、生态用水、企业所得税总额和个人所得税总额等 22 个直接或间接影响用水总量的数据因子作为研究数据集,共 279 组数据样本。
数据预处理包含用水因子相关性计算和核主成分分析 2 个部分。用水总量与多个用水因子有关,无关因子的输入会对模型的训练造成干扰,提前出与用水总量相关性较大的因子能够提高模型预测精度。皮尔逊相关系数是度量因子相关性的常用方
图 1  KPCA -BP 用水总量预测模型建立过程
法,又叫作皮尔逊积矩相关系数,用于计算待处理数据与历史数据之间的线性相关程度。收集用水因子和总量数据后,皮尔逊相关系数 R (x ,y ) [9] 在用水场景下的计算公式如下:
(x i -
x )(y  - y )(x i - x )2    (y  - y )2R (x ,y ) =                                    ,m
∑i =1
m ∑i =1
m
∑i =1√(1)
式中:x i 是第 i  个用水因子的样本值大小;x 是用水因子 x 的均值;y 是用水总量实测值的大小;y 是实测值的均值。
影响用水量多少的因素很多,用水量的多少由多个因子共同影响,去掉与用水无关的因子后仍然有数据维度较高的问题,如果把所有的相关因子直接输入模型中,那么各因子之间存在的多重共线性可能会导致解的空间不稳定,输入后续网络中进行训练时存在模型泛化能力较弱的问题,因此在对因子相关性计算后需要对这些因子进行降维处理。使用 KPCA 可以有效解决非线性数据的降维问题 [10]。KPCA 是 PCA 的变体,PCA 降维是通过坐标轴的线性变化实现的,同维的映射只是改变方向,数据映射后仍然为直线。而 KPCA 对坐标轴进行了非线性变换,数据映射后是曲线或曲面。KPCA 可以删除输入因子中互相重复的信息,使用较少的因子代表较多的信息,若输入因子为 P =(P 1,P 2,…,P n ),经过 K
PCA 得到的因子为 Q =(Q 1,Q 2,…,Q m ),其中 m  为新生成的因子数,n 为原输入因子的个数,则 P  与 Q  的关系如下:
Q 1 = α11 P 1 + α12 P 2 + … + α1 n  P n Q 2 = α21 P 1 + α22 P 2 + … + α2 n  P n ,
Q m  = αn  1 P 1 + αn  2 P 2 + … + αn n  P n
式 (2) 中的 α 为预设的常数,选择合适的 α 使得 P 的各因子互不相关,同时因子 Q  的主要信息都集中到 P  的因子中,因此可以使用因子 Q  代表因子 P 。α 的计算使用原始变量的相关系数矩阵进行计算,在数值上为对应的系数矩阵特征向量组合。
KPCA 的实质就是用较少的变量覆盖全部数据的非线性信息,从而提高数据的质量,减少计算成本。根据计算用水因子的贡献率大小,排序选择出包含大部分预测信息的新因子用作预测模型的输入,这样可以在保证用水信息不丢失的情况下减少
(2)
赵和松等:一种融合 KPCA 和 BP 神经网络的用水总量预测方法
水利信息化2021 (5)
44网络训练时间,提高模型性能。
KPCA 降维计算的一般步骤如下:
1)求核矩阵 K 。对于各用水因子样本 x 1,x 2,…,x n ,使用非线性映射函数 Φ 映射到更高维的特征空间 Г 中,特征空间中重构变量的内积可以用核函数描述,核函数公式如下:
exp K (x i ,x j ) =                                        ,(3)
n
∑i =1n
∑j = i
|‌ x i - x j |2
2α2-(((
(式中:x i 是第 i  个样本的所有列;x j 是第 j  个样本的所有列;核矩阵 K  由训练集构造。
2)将核矩阵 K  中心化,以修正核矩阵,得到中心化的核矩阵 K c :
K c = K - L N  K - K L N + L N  K L N ,          (4)式中:L N 是 N ×N  的矩阵,每一个元素是 1/N 。
3)计算核矩阵 K c 的特征值 λ1,…,λn ,特征向量 v 1,…,v n ,将特征值降序排列并相应调整特征向量的顺序。
4)计算各特征值的累计贡献率 r 1,…,r n ,根据给定的贡献率阈值 p ,如果某特征值的累计贡献率 r t  > p ,则选取前 t  个分量作为降维后用水因子的数据。
1.2    参数调整和训练
BP 神经网络是一种多层的误差反向传播神经网络,具有输入层、隐藏层和输出层 3 层网络结构,3 层前馈网络能以任意精度逼近任意连续非线性函数
[11]
。相邻的各层通过 1 个权重值完全连接,同一
层中的各单元互不连接。1 个神经元有 n  个输入,每个输入按权重 w  与下一层相连。输入层的数据通
过隐藏层传播到输出层。误差反向传播,修改各层权重,使误差最小。BP 神经网络结构如图 2 所示,图中 x 1,x 2,…,x n  为输入的因子值,w i j 和 w  j k 为权值,y 1,y 2,…,y m
为输出的预测用水值。
输入层
隐含层
输出层
图 2  BP 神经网络的结构
如果 BP 神经网络隐含层和节点足够多,可以看作是非线性映射关系,但是隐含层和节点数量过多,对资源的消耗也就越多,因此确定隐含层和节点的数量是建立网络模型的关键。另一方面,寻最优权值和阈值,能够提高 BP 神经网络的预测精准度,因此本研究采用思维优化算法输出最优个体训练优化 BP 神经网络权值及阈值 [12]。
思维优化算法(MEA )是由遗传算法演变而来的,是遗传算法的一种,具有趋同和异化 2 个算子,通过迭代学习使每一代所有个体成为一个体,在初始阶段,MEA 的收敛速度非常快,MEA 最强大的一点是它的正反馈和负反馈机制。正反馈机制指下一代所有个体与当前子体的赢家之间的关系,所有子体都根据社会和当前子体的信息更新自己的行为,正反馈机制使种朝着易于生存的方向发展;负反馈机制是指公告板上的信息不断更新,旧信息逐渐被新信息取代,从而消失,负反馈机制使 MEA 避免陷入局部最优。MEA 的全局寻优能力能够很好地出用水量预测的最优解,同时,MEA 在改善神经网络的收敛速度和提升模型精度方面也有较好的效果 [13]。
MEA 优化 BP 神经网络的步骤如下:
1)确定 BP 神经网络的拓扑结构。初始化输入层、隐含层和输出层的节点数,本研究 BP 神经网络拓扑结构为 3-12-1,输入训练集和测试集,获取最优权值和阈值。
2)设计函数产生初始种、优胜和临时子体大小。
3)求个体和种的得分值。本研究个体和种的得分函数用训练集的均方差的倒数表示,即
f  =                              ,(
(y i -
Y i )2)
/S m
∑i =1
1
式中: y i 为第 i 个训练样本的网络输出值;Y i  为第 i  个样本的目标输出;S  为训练样本数量。
4)不断迭代,输出当前迭代获得的最佳个体及正则化可以理解为一种什么法
得分,把最优个体作为 BP 神经网络的初始权值和阈值,训练模型,用得到的权值和阈值训练 BP 神经网络模型。
1.3    结果对比
为衡量使用 KPCA 和思维优化 BP 神经网络组合预测用水总量方法的准确性,将预测的用水量与实际值进行比较,评价标准采用相对误差表示:
(5)
45
第 5 期赵和松等:一种融合 KPCA 和 BP 神经网络的用水总量预测方法δ =          ×100%,                  (6)
Y  - y w Y 式中:δ 为相对误差;Y 为用水总量真实值;y w  为网络预测值。
2    预测结果分析
2.1    用水因子相关性分析结果
根据用水总量的特点及影响因素,同时为避免与用水总量相关性较小的因子对预测结果的影响,使用皮尔逊相关系数 R (x ,y ) 进行预测因子与用水总量之间的相关性度量,R (x ,y ) 可以直观展示变量之间的相关性程度。R (x ,y ) > 0. 4 表示为中等以上相关,因此为准确预测,本研究选择 12 个 R (x ,y ) > 0.5 的因子作为用水总量预测因子,结果如表 1 所示,从表 1 可看出,与用水总量直接相关的主要是工业和农业用水及有效灌溉面积。
表 1  用水因子相关性结果
因子变量GDP (x 1)有效灌溉面积 (x 2)粮食产量 (x 3)发电量 (x 4)废水排放总量 (x 5)用水人口 (x 6)工业用水 (x 7)农业用水 (x 8)城市绿地面积 (x 9)生活用水 (x 10)水产品养殖面积 (x 11)污水处理能力 (x 12)
R (x ,y )
0.5090.6690.5840.5120.6230.5020.7040.9230.5750.6620.539
0.6402.2    核主成分分析结果
用水总量受多个因子影响,由于多个因子数据的量纲不同,为精确预测,需要消除量纲不同造成的预测不准确问题。因此,在做核主成分分析前需要将用水数据进行离差标准化处理,使因子数据处在 [0,1] 之间,离差标准化的计算公式为
式中:x ' 为离差标准化数据;x min ,x max 分别为用水因子序列的最小值和最大值。
进行用水数据集离差标准化后,需要计算相应的核矩阵满足中心化条件。在符合处理非线性数据的核函数中,径向基函数核是较为常用的方法,有参数少、性能稳定等优点,通过对比试验证明使用
x ' =                  ,                      (7)
x  - x min
x max  - x min 径向基函数作为核函数模型的准确性最高,因此本研究采用径向基函数为 KPCA 的核函数。主成分对应的累计贡献率结果如表 2 所示,经过计算,当累计贡献率达到 90% 以上时,主成分个数为 3 个,基本能代表用水因子的全部信息。这 3 个主成分组成的列向量作为后面 BP 神经网络预测模型的输入。
表 2  主成分分析结果            %
主成分序号
123
方差贡献率64.5318.82  7.08
累计贡献率64.5383.3590.43
2.3    用水总量模型训练与预测分析
采用国家统计局 2007—2016 年度开放统计用水数据进行实验,其中 2007—2015 年共 248 组数据作为训练样本,2016 年 31 组数据作为测试样本。经过实验,BP 神经网络设计为具有输入层、隐含层和输出层的 3 层网络结构,输入节点为 3 个,隐含节点为 12 个,输出节点为 1 个。经实验,在思维优化算法中,当种数量为 100 个,优胜和临时子种各为 6 个时,在算法迭代训练 100 次后,网络最终达到最优。图 3 为 2016 年全国 31 个省、自治区和直辖市的用水总量预测结果,从图中可以看出:绝大部分预测数据与原始数据偏差较小,预测较为准确,证明该模型能够很好地适用于预测用水总量,具有较高的实用性和可用性。
图 3
用水总量预测结果图
省份
用水总量/亿 m 3
为验证 KPCA -BP 用水总量模型的优越性,通过对数据非线性结构特点分析,将基于 PCA 与 KPCA 和思维优化 BP 神经网络预测模型用相对误差评价方法分别进行比较,不同降维方式下不同省份用水总量预测结果的比较如表 3 所示。从表 3 可以看出:对于非线性的用水总量数据,虽然相对误差都小于 10%,但是用 KPCA 降维后,预测结果比用 PCA 降维的预测结果要好。PCA 虽然也降低了数据
水利信息化2021 (5)
46表 3  不同降维方式下用水总量预测结果比较
北京天津河北山西内蒙古辽宁吉林黑龙江上海江苏浙江安徽福建江西山东河南湖北湖南广东广西海南重庆四川贵州云南西藏陕西甘肃青海宁夏新疆
38.227.2182.675.5190.3135.4132.5352.6104.8577.4181.1290.7189.1245.4214227.6282.0330.4435.0290.645.077.5267.3100.3150.231.190.8118.426.464.9565.4
35.0224.62196.1372.09188.91128.24143.50342.04102.22588.01190.88286.29197.62249.41206.79218.84301.52337.77451.37302.2742.9082.12246.3298.12141.9028.5593.38121.2427.1570.71574.07
8.39.47.44.57.05.28.32.92.41.85.41.54.51.63.33.86.22.23.74.04.65.97.82.15.58.12.82.42.88.91.5
36.3626.13184.5675.66191.27139.52132.01348.50103.65578.94185.51294.22185.51245.70217.11223.40306.07329.29434.74286.8044.6278.12273.3299.57150.1532.4192.18117.8926.9564.79566.93
4.83.91.00.20.53.00.31.11.00.22.41.21.80.11.41.88.50.30.11.30.81.12.20.70.14.21.10.42.10.10.2
实际值/亿 m 3预测值/亿 m 3相对误差/ %预测值/亿 m 3相对误差/ %PCA -BP 预测模型KPCA -BP 预测模型省份参考文献:
[1] BHATTI A M ,NASU S. Domestic water demand foreca-sting and management under changing socio-economic scenario[J]. Society for Social Management Systems ,2010,6 (1):1-8.
[2] 吕智,陈文贵,丁宏伟. 干旱区内陆盆地水资源的合理配置——以甘肃省高台县为例[J]. 水资源保护,2005,21 (6):45-48.
[3] BOUGADIS J ,ADAMOWSKI K ,DIDUCH R. Short-term municipal water demand forecasting[J]. Hydrological Processes ,2005,19 (1):137-148.
[4] PULIDO-CALVO I ,MONTESINOS P ,ROLDÁN J ,et al. Linear regressions and neural approaches to water demand forecasting in irrigation districts with telemetry systems[J].Biosystems Engineering ,2007,97 (2):283-293. [5] 刘呈玲,方红远. 基于时差相关分析与回归模型的用水总量预测[J]. 节水灌溉,2017 (10):70-73,83. [6] 达瓦,普穷,大普穷. 西藏水资源开发趋势 GM (1,1)预测模型的应用[J]. 人民长江,2010,41 (7) :19-22.[7] 占敏,薛惠锋,王海宁,等. 贝叶斯神经网络在城市短期用水预测中的应用[J]. 南水北调与水利科技,2017,15 (3):73-79.
[8] 高学平,陈玲玲,刘殷竹,等. 基于 PCA -RBF 神经网络模型的城市用水量预测[J]. 水利水电技术,2017,48 (7):1-6.
[9] 唐伟斌,李涛,邹品晶,等. 基于皮尔逊相关系数的电网夏季空调负荷预测研究[J]. 电力需求侧管理,2017,19 (6):7-13.
[10] HU H T ,FAN L ,GUAN X. The research on modeling
and simulation of crude oil output prediction based on KPCA-DE-SVM [C]//2017 2nd IEEE International Conference on Computational Intelligence and Applications  (ICCIA). Beijing :IEEE ,2017:93-97.
[11] LIU Q ,ZHANG F , LIU M ,et al. A fault prediction
的维度,但它是线性变换的,对于非线性的数据,会损失原始数据因子的有用信息,降低最终预测的准确率,而 KPCA 克服了因子之间的非线性、复杂性和不确定性,因此预测结果好。
3    结语
本研究提出了融合 KPCA -BP 用水总量预测方法,旨在解决影响用水总量的相关用水因子数量多、不确
定性和非线性多维等问题,经实验表明本研究中的 KPCA 可以很好地解决因子之间的非线性特征,消除冗余信息造成的干扰,采用思维优化
学习算法优化 BP 神经网络的权值和阈值建立基于 BP 神经网络的预测模型,可以进一步提高模型对用水总量预测的精度。结果证明 KPCA -BP 用水总量预测模型可以很好地预测用水,相对预测误差小于 5%。相较于现有工作,本研究在数据细化处理、算法优化方面有一定的创新性,在使用真实数据的测试中也取得较好的预测效果,有较高的实用性。本研究也会进一步探讨其他深度学习方法在用水总量预测上的应用,并为水资源合理分配、调度及分析估量指明方向。
(下转第 58 页)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。