基于BP神经网络的文山州水资源承载能力评价分析
2012-11-12崔东文
崔东文
(文山州水务局,云南文山 663000)
1 研究背景
水资源承载能力是指一个地区的水资源对该地区社会经济和生态与环境的最大支撑能力或最大支撑规模,最终目的都是为了指导该地区的水资源配置,解决水资源短缺和社会经济的可持续发展问题[1]。水资源承载能力评价的目的是为了揭示有限的水资源与人口、环境和经济发展之间的关系,以便合理充分地利用水资源,促进经济社会的可持续发展[2]。水资源承载能力评价过程中,诸如趋势法、模糊评价法、多目标分析法、契比雪夫算法等评价方法在对各评价指标权重的确定上存在着明显的主观臆断成分。为能客观地对水资源承载能力进行评价,本文引入了BP神经网络,该网络可以通过网络训练从数据中概括出必要的信息,并将其存储于各神经元中,构成网络知识,然后利用这些知识评价或预测相似因素的结果,具有很高的实用性。加之BP神经网络不需要像其它方法那样人工确定权值,有效地避免了评价人员的主观成分和人为因素[3]。本文依据《文山州水资源综合规划报告》基础资料,参考相关水资源承载能力评价指标和分级标准[4-5],运用人工神经网络模式识别理论和方法,建立BP神经网络水资源承载能力评价模型,设计神经网络训练样本和评价输出模式,对文山州及各县级行政区域不同规划水平年不同保证率情景下的水资源承载能力进行评价分析,从而为区域水资源可持续开发利用提供参考依据。
2 基于BP神经网络的水资源承载能力评价模型的构建
2.1 BP 网络概述
1982年,Rumelhart,McClelland和他们的同事洞察到神经网络信息处理的重要性,成立了PDP(Parallel Distributed Processing)小组,研究并行分布信息的处理方法,探索人类认知的微结构。1985年发展了BP网络(Back-Propagation Network,简称BP网络)学习算法,实现了Minsy的多层网络设想。BP网络是一种单向传播的多层前馈神经网络,其主要特点是信号前向传播,误差反向传播。在前向传播中,输入信号从输入层经隐含层逐层处理,直至输出层。每一层的神经元状态只影响下一层神经元状态,如果输出层得不到期望输出,则转入反向传播,根据预测误差调整网络权值和阈值,从而使BP神经网络预测输出不断逼近期望输出。由非线性变换单元组成的BP神经网络,不仅结构简单(仅含输入、输出和隐节点3层),而且具有良好的非线性映射能力,BP网络主要应用于函数逼近、模式识别、分类和数据压缩等领域[6-7]。
2.2 BP网络模型结构
BP神经网络的拓扑结构如图1所示。
图1中,X1,X2,…,Xn是BP 神经网络的输入值,Y1,Y2,…,Ym是BP 神经网络的预测值,ωij和ωjk为BP神经网络权值。从图1可以看出,BP神经网络可以看作一个非线性函数,网络输入值和预测值分别为该函数的自变量和因变量。当输入节点数为n,输出节点数为m时,BP神经网络就表达了从n个自变量到m个因变量的函数映射关系。BP神经网络预测前首先要训练网络,通过训练使网络具有联想记忆和预测能力,其标准算法具体实现步骤如下[8]。
(1)网络初始化:根据系统输入输出序列(X,Y)确定网络输入层节点数n、隐含层节点数l,输出层节点数m,初始化输入层、隐含层和输出层神经元之间的连接权值为ωij,ωjk,初始化隐含层阈值a,输出层阈值b,给定学习速率和神经元激励函数。
(2)隐含层输出计算:根据输入向量X,输入层和隐含层间连接权值ωij以及隐含层阈值a,计算隐含层输出H。
图1 BP神经网络拓扑结构图Fig.1 Topological structure of BP neural network
式中:l为隐含层节点数;f为隐含层激励函数,该函数有多种表达形式,本文所选函数为
(3)输出层输出计算:根据隐含层输出H,连接权值ωjk和阈值b,计算BP神经网络预测输出O。
(4)误差计算:根据网络预测输出O和期望输出Y,计算网络预测误差e。
(5)权值更新:根据网络预测误差e更新网络连接权值 ωij,ωjk。
式中:i=1,2,…,n;j=1,2,…,l;ω'ij为更新前的连接权值;η为学习速率。
(6)阈值更新:根据网络预测误差e更新网络节点阈值 a,b。
(7)判断算法迭代是否结束,若没有结束,返回步骤(2)。
本文中,将水资源承载能力评价指标作为样本输入,评价级别作为网络输出,BP网络通过不断学习,归纳出评价指标与评价级别间复杂的内在对应关系,利用这样的网络模型即可进行区域水资源承载能力综合评价。
3 水资源承载能力评价指标
3.1 评价指标体系
表1 水资源承载能力评价指标分级标准Table 1 Grades of the evaluation indexes of water resources carrying capacity
对水资源承载能力进行综合评价,首先必须确定一套评价指标[9]。本文结合区域水资源开发利用现状和特点,参照《水资源评价导则》和全国水资源开发利用分析中的指标体系和评价标准,选取8个指标作为评价因子[4-5,10],依次是:①x1(灌溉率,%):灌溉面积与土地面积之比;②x2(水资源开发利用率,%):不同水平年不同保证率供水量与可利用的水资源量之比;③x3(供水量模数,m3/km2):不同水平年不同保证率供水量与土地面积之比;④x4(人均供水量,m3/人):不同水平年不同保证率供水量与总人口之比;⑤x5(生态环境用水率,%):生态环境用水量与水资源总量之比;⑥x6(人均水资源可利用量,m3/人):区域水资源可利用量与总人口之比;⑦x7(人均水资源量,m3/人):区域水资源总量与总人口之比;⑧x8(灌溉水利用系数,%):灌区实灌水量与渠首引水总量之比。水资源承载能力评价指标及分级标准值见表1。
表1将水资源承载能力分为三级,Ⅰ级较差,表示水资源承载能力已接近其饱和值,进一步开发潜力较小,区域经济社会发展下去将发生水资源短缺,应采取相应对策,否则将制约经济社会的发展;Ⅲ级较好,表示区域水资源仍有较大的承载能力,其供给情况较为乐观;而Ⅱ级情况介于两者之间,表示区域水资源开发利用已有相当规模,但仍有一定的开发利用潜力,水资源的供给需求在一定程度上能满足区域的经济社会发展[4]。
3.2 指标一致性检验和处理
由于灌溉率、水资源开发利用率、供水量模数指标值均为其值越小则承载能力越强;而人均供水量、生态用水率、人均水资源可利用量、人均水资源量和灌溉水利用系数的取值正好相反,即相应的值越大则承载能力越强[2]。因此,对于整个评价指标体系来说,应对评价指标作一致性处理。本文将灌溉率、水资源开发利用率、供水量模数3项指标进行处理,即对这2项指标的原始值取倒数(为便于计算,取倒数后再同时乘以1 000)。处理后的指标数据值见表2。
4 应用实例——文山州水资源承载能力评价
4.1 区域概况
文山州位于云南省东南部,属亚热带低纬度高原季风气候区,辖文山、砚山、西畴、麻栗坡、马关、丘北、广南、富宁8县,降水量及水资源量相对丰沛,多年平均降水量1 178.5mm,但时空分布不均,多年汛期(5—10月)平均降水量约占全年的80%,其中降水量又主要集中在7—9月,约占年降水量的60%;而且降水量的年际变化悬殊,变差系数Cv在0.20~0.60之间,总趋势是南、北小,中西部大。径流的地区变化也不均匀,南部马关、麻栗坡及富宁朗恒河流域径流深高达800~1 000mm,北部丘北羊雄山达600~700mm,广南九龙山地带500mm,最小径流区为地处盘龙河上游的砚山县、文山县和西畴县,年径流深仅150~200mm。2008年,全州水资源开发利用率仅为7.1%,人均水资源量为5 303 m3。随着国家对中西部地区水利建设投入的持续加大,不同规划期内水利工程的大规模兴建,以及节水型社会建设的不断推进等,文山州水资源利用条件将大为改观,区域水资源承载能力将得到改善。但经济社会和人口的迅猛发展,将在不同程度上制约着区域水资源承载能力的提高。
4.2 网络评价模型
该文采用三层BP神经网络对水资源承载能力进行评价,网络包括输入层、隐含层和输出层3部分。由于承载能力评价中输入向量的维数也就是影响评价等级因素的个数,因此选取灌溉率、水资源开发利用率、供水量模数、人均供水量、生态环境用水率、人均水资源可利用量、人均水资源量、灌溉水利用系数8个指标作为评价因素集,即输入层神经元个数为8个;网络输出结果为Ⅰ级、Ⅱ级和Ⅲ级,分别对应输出模式(1 0 0),(0 1 0)和(0 0 1),即输出层的神经元数为3个;在隐层结点数的选取上,目前并没有统一的计算方法,若隐层结点数过少,则网络收敛过慢达不到精度的要求,结点数过多,则增加了计算量,也会导致过拟合,降低网络的泛化能力,因此需要通过实验来确定隐层的结点数,本文采用目前较为普遍的Kolmogorv定理确定隐含层单元数,即本文为17个隐含层神经元。因此,网络评价模型结构为8-17-3,如图2所示。
图2 水资源承载能力评价BP网络模型示意图Fig.2 Structure of the BP neural network model for evaluating water resources carrying capacity
4.3 网络训练样本设计
如何参照表2构建合理的训练样本是水资源承载能力评价的关键[4]。表2中,灌溉率、水资源开发利用率和灌溉水利用系数上下限均为1和0;而供水量模数、人均供水量、生态环境用水率、人均水资源可利用量和人均水资源量没有上限值。该文参照《文山州水资源综合规划报告》不同规划水平年的供水量模数、人均供水量、生态环境用水率、人均水资源可利用量和人均水资源量的规划成果,结合区域实际,以水资源承载能力评价分级标准不失一般性为原则,确定供水量模数、人均供水量、人均水资源可利用量和人均水资源量的上限值依次为30(m3/km2)、1 000(m3/人)、4 000(m3/人)和10000(m3/人);考虑到生态环境用水量难于估量,规定以生态环境用水量占水资源总量的10%作为生态环境用水量的上限。因此,构造符合区域实际的水资源承载能力评价指标分级标准[11]见表3。
表2 评价指标值一致性处理结果Table 2 Results of the consistency of evaluation values
表3 符合区域实际的水资源承载能力评价指标分级标准Table 3 Grades of the evaluation indexes of water resources carrying capacity in line with the reality in the regions
实践表明,网络训练所需样本数取决于输入输出非线性映射关系的复杂程度,映射关系越复杂,样本中含的噪声越大,为保证一定的映射精度所需的样本数就越多,而且网络的规模也越大,但当样本多到一定程度时,网络的精度也很难再提高,一般训练样本数取网络连接权总数的5~10倍。本文按照表3评价指标分级标准,将每一等级评价指标值利用线性插值的方法按等比例划分为20个训练样本,即1—20号样本为Ⅰ级;21—40号样本为Ⅱ级;41—60号样本为Ⅲ级。将这60个样本作为学习样本,区域不同规划水平年不同保证率资料[11]作为检验样本,即为待评价样本。水资源承载能力评价包括3个等级,用表4中的输出模式来表示网络模型的输出。
表4 水资源承载能力评价学习样本及输出模式Table 4 Learning samples and output modes of water resources carrying capacity evaluation
4.4 数据处理
网络的各个输入数据常常具有不同的物理意义和不同的量纲及数量级,在网络训练前要先对原始数据进行归一化处理。数据归一化方法很多,本文采用最大最小法,公式如下:
4.5 BP 网络训练
利用Matlab2010a神经网络工具箱中的newff()函数编写算法程序,运用图2的评价模型对60个训练样本进行网络学习训练,在达到训练精度要求后对文山州及各县级行政区域不同规划水平年不同保证率情景下的水资源承载能力进行评价。经过反复测试,训练次数为5 000次,训练目标为0.000 001,学习速率为0.05,中间层的传递函数为S型正切函数,网络所用训练函数为trainlm(即LMBP算法,该优化算法比传统的BP及其他改进算法,如共轭梯度法、附加动量法、自适应调整法等的迭代次数少,收敛速度快,精确度高等优点),其余参数取默认值。当训练满足预先设定的误差要求时,网络训练收敛。训练结果见表5。
从表5训练结果可以看出,网络输出的数据误差绝对值介于0~0.4.9%之间,说明训练精度较高,能够满足要求,可以运用该网络进行区域水资源承载能力评价。
4.6 结果与分析
运用上述训练好的网络模型对文山州及各县级行政区域不同规划水平年不同保证率情景下的水资源承载能力进行综合评价,评价结果见表6。
分析表6可以得出以下结论:
(1)文山州及各县级行政区域的水资源承载能力在不同水平年不同保证率情景下均未达到Ⅰ级,说明各评价区域水资源承载能力未达到其饱和值,水资源仍有一定的开发利用潜力。
(2)从整个评价区域来看,不同水平年不同保证率情景下,各评价区域水资源承载能力大小顺序不同,表明在不同时期不同区域,由于水利工程的兴建、节水措施和产业结构的调整等,评价指标改善程度不同,导致各评价区域水资源承载能力大小的改变,即顺序不同。
表5 学习样本训练结果Table 5 Training results of learning samples
表6 各评价区域不同水平年不同保证率水资源承载能力综合评价结果Table 6 Comprehensive evaluation results of water resources carrying capacity of different regions in different target years and with different reliabilities
(3)在现状水平年的不同保证率情景下,除砚山县水资源承载能力呈Ⅱ级外,其余各评价区域水资源承载能力均呈Ⅲ级,说明此类区域水资源仍有较大的承载能力;在近期不同保证率情景下,除富宁县、马关县和麻栗坡县水资源承载能力均呈Ⅲ级外,其余各区域水资源承载能力均呈Ⅱ级;在远期不同保证率情景下,除富宁县水资源承载能力均呈Ⅲ级外,其余各区域水资源承载能力均呈Ⅱ级,表明各区域水资源承载能力随着经济社会的快速发展呈下降趋势。
(4)相对而言,各评价区域在不同水平年不同保证率情景下,除富宁县水资源承载能力始终呈Ⅲ级外,其余各县水资源承载能力均有不同程度的变化,虽未达到Ⅰ级标准,但随着经济社会的快速发展,水资源的开发利用已具有一定的规模,进一步开发潜力逐渐减小;整体而言,富宁县、马关县和麻栗坡县水资源承载能力相对较大,且在同一保证率情景下,文山州各评价区域水资源承载能力随着现状~远期整体呈减小趋势。
(5)表6的评价结果客观真实地反映了不同水平年不同保证率情景下各评价区域水资源承载能力的大小,与区域实际情况相符,可以作为区域水资源开发利用的决策依据。
(6)从BP神经网络评价模型而言,该方法不仅网络稳定,评价结果直观明了,而且不需建立数学模型,它只需将处理的数据输入训练好的网络中,通过相应的数学工具即可得出结果,评价过程方便、快捷。
5 结论
由于影响水资源承载能力评价的因素众多,且极其复杂,致使如何客观评价区域水资源承载能力一直是人们探讨研究的问题[12]。本文基于现有水资源承载能力评价指标体系,结合区域水资源情势及社会经济发展状况,提出符合区域实际的水资源承载能力综合评价指标,利用人工神经网络模式识别理论和方法,构建BP神经网络水资源承载能力评价模型,并采用线性插值方法得到训练样本,将模型应用于文山州区域水资源承载能力综合评价中。评价结果可信度高,说明本文提出的评价方法是合理可行的。
[1]夏 军,张永勇,王中根,等.城市化地区水资源承载力研究[J].水利学报,2006,37(12):1482-1488.(XIA Jun,ZHANG Yong-yong,WANG Zhong-gen,et al.Water Carrying Capacity of Urbanized Area[J].Journal of Hydraulic Engineering,2006,37(12):1482-1488.(in Chinese))
[2]陈守煜,胡吉敏.可变模糊评价法及在水资源承载能力评价中的应用[J].水利学报,2006,35(3):264-271.(CHEN Shou-yu,HU Ji-min.Variable Fuzzy Assessment Method and Its Application in Assessing Water Resources Carrying Capacity[J].Journal of Hydraulic Engineering,2006,35(3):264-271.(in Chinese))
[3]许 莉,赵嵩正,杨海光.水资源承载力的BP神经网络评价模型研究[J].计算机工程与应用,2008,44(8):217-219.(XU Li,ZHAO Song-zheng,YANG Hai-guang.Research on BP Neural Network Model of Performance Appraisal for Water Resources Carrying Capacity[J].Computer Engineering and Applications,2008,44(8):217-219.(in Chinese))
[4]王顺久,张欣莉,倪长键,等.水资源优化配置原理及方法[M].北京:中国水利水电出版社,2007.(WANG Shun-jiu,ZHANG Xin-li,NI Chang-jian,et al.Principles and Methods of Optimal Allocation of Water Resources[M].Beijing:China Water Power Press,2007.(in Chinese))
[5]杜守建,崔振才.区域水资源优化配置与利用[M].郑州:黄河水利出版社,2009.(DU Shou-jian,CUI Zhencai.Optimal Allocation and Utilization of Regional Water Resources[M].Zhengzhou:Yellow River Conservancy Publishing House,2009.(in Chinese))
[6]张德丰.MATLAB神经网络应用设计[M].北京:机械工业出版社,2009.(ZHANG De-feng.MATLAB Neural Network Design[M].Beijing:Mechanical Industry Press,2009.(in Chinese))
[7]张良均,曹 晶,蒋世忠.神经网络实用教程[M].北京:机械工业出版社,2008.(ZHANG Liang-jun,CAO Jing,JIANG Shi-zhong.Practical Guide to Neural Networks[M].Beijing:Mechanical Industry Press,2008.(in Chinese))
[8]MATLAB中文论坛.MATLAB神经网络30个案例分析[M].北京:北京航空航天大学出版社,2010.(MATLAB Chinese Forum.30 Case Analysis of MATLAB Neural Network[M].Beijing:Beihang University Press,2010.(in Chinese))
[9]陈洋波,陈俊合,李长兴,等.基于DPSIR模型的深圳市水资源承载能力评价指标体系[J].水利学报,2004,35(7):1-7.(CHEN Yang-bo,CHEN Jun-he,LI Chang-xing,et al.Indicators for Water Resources Carrying Capacity Assessment Based on Driving Forces-Pressure-State-Impact-Response Model[J].Journal of Hydraulic Engineering,2004,35(7):1-7.(in Chinese))
[10]SL/T238—1999,水资源评价导则[S].(SL/T238—1999,Guidelines for Water Resources Assessment[S].(in Chinese))
[11]文山州水利电力勘测设计院.文山壮族苗族自治州水资源综合规划报告[R].文山:文山州水利电力勘测设计院,2009.(Wenshan Water Resources and Electric Power Survey Design Institute.Report on Comprehensive Planning of Water Resources in Wenshan Autonomous Prefecture[R].Wenshan Water Resources and Electric Power Survey Design Institute,2009.(in Chinese))
[12]张 丽.水资源承载能力与生态需水量理论及应用[M].郑州:黄河水利出版社,2005.(ZHANG Li.Theory and Application of Water Carrying Capacity and Ecological Water Demand[M].Zhengzhou:Yellow River Conservancy Publishing House,2005.(in Chinese))