APP下载

基于因子分析的BP神经网络对成都市需水量的预测

2011-01-25张永丽戴沂伽

四川环境 2011年2期
关键词:需水量成都市水资源

冯 琨,张永丽,戴沂伽

(1.四川大学建筑与环境学院,成都 610065;2.西南财经大学财政税务学院,成都 610031)

水资源是人类文明的源泉,与人类的生存、发展和一切经济活动密切相关。水资源形成与演化及开发和可持续利用不仅仅指水资源在人类的代际间公平分配,同时还指当代人群之间、流域的上中下游之间和跨流域之间的合理分配[1]。一般而言,一个区域的水资源承载能力主要是由水资源的需求量和供给量构成,而相比较之下,供给量在一定时期内稳定性较大,那么在区域水资源承载力的预测中,对需求量的预测具有重要意义[2]。

在成都市各区市县《水资源综合规划》的编制过程中,河道外需水量预测一直是整个项目的核心内容同时也是难点,该预测对整个规划起着基础指导作用。规划水平年内河道外需水量的大小决定着水资源配置的方式,如果需水量预测值大于实际用水量则会出现水资源的浪费现象,还会影响到政府相关部门在节水型社会建设上的工作进度;如果需水量预测值小于实际的用水量则会出现用水缺口,导致该地区国民经济的发展和人民的生活受到影响。因此如何准确有效地进行河道外需水量的预测,就显得尤为重要了。

本文将利用主成分分析及BP人工神经网络模型这两个工具来对成都市未来需水量进行定量预测,从而对水资源规划的编制起到参考作用。

1 成都市水资源现状分析

成都市地处成都平原,是四川省省会所在地。其西部为龙门山和邛崃山山区,中部为成都平原,东部为龙泉山低山深丘区和金堂县沱江以东丘陵区,全市幅员面积 12390平 km2。全市地表水资源量 58.56亿m3,折合年径流深 472.65mm。全市地下水资源量 23.90亿 m3,扣除重复计算部分后水资源总量为 61.06亿 m3。平均产水模数 49.28万m3/km3,区域内人均占有本地水资源量 553.38m3(未计过境水资源)。

2 利用 SPSS工具对需水量的影响因子进行分析

2.1 影响因子的确定

影响一个城市 (包括区县)需水量的因素有很多,一般可以从社会因素和自然因素两方面来考虑。水资源需求量可以通过若干特征变量来反映,把这些特征变量定为评价指标,那么这些指标就成为预测水资源需求量的指示器,为水资源的优化配置奠定基础[3]。

根据可靠性、充分性和可测性的原则,结合《成都市统计年鉴》(1990~2009),选定以下 9个指标作为影响因子:X1为人口,万人;X2为第一产业增加值,万元;X3为第二产业增加值,万元;X4为第三产业增加值,万元;X5耕地面积,万 hm2;X6为城市建成区面积,km2;X7为给水管道长度,km;X8为工业废水排放量,万 t;X9为排水管道长度,km。然后以年份(1990~2009年)作为时间序列,列出各个因子所含的数据,现将部分年份的因子列于表 1。

表1 部分年份成都市需水量影响因子统计Tab.1 Affecting factors ofwater consumption for some years in Chengdu

2.2 数据的标准化(标准化)处理

为了消除所选择因子的量纲对数据分析产生的影响,故需对它们进行标准化处理。本文采用 SPSS软件提供的 zscore函数对原始数据进行处理。则有:

2.3 提取主成分并得出主成分表达式

由于可供参考的影响因子多达 9个,因此需要采取降维的方法来减少因子数量,提取出主成分。本文采用主成分分析的方式来抽取合理数量的主要影响因子,利用 SPSS软件的因子分析功能对表 2的数据进行运算得出各因子间的相关系数矩阵,并列出各因子的初始特征值和对总方差的贡献率,见表3。

表2 部分年份经标准化处理后的因子数据Tab.2 Data bank of nor malized factors for some years

表3 方差分解主成分提取分析Tab.3 Principal components extraction of variance decomposition

根据表 3的结果可以看出:最初选取的 9个因子是合理且充分的 (贡献率均≥85%),经过抽取(主成分法抽取)的因子 1和因子 2可以解释全部所有因子的 97.770%,他们的特征值分别为 7.708和 1.091均大于 1符合因子分析原理,因此提取这两个主成分(即m=2),列出主成分因子载荷矩阵,见表4。

表4 主成分因子载荷矩阵Tab.4 Componentmatrix of principal factors

通过表 4可知主成分因子1在除了 ZX8外的其他因子上均有很高的载荷,可以根据它们的现实意义归纳总结为“经济社会发展因素 (F1)”。而主成分因子 2只在 ZX8和 ZX6上有较高载荷,根据其实际意义归纳为“环境因素 (F2)”。令主成分因子 1和因子 2分别为向量 B1、B2,为了得到主成分表达式,将表 4的载荷矩阵进行运算求出表达式中的各项系数。首先求主成分特征值 (抽取后)对应的特征向量,令其分别为A1、A2,则有:

将向量A1、A2分别与标准化处理后的因子数据做内积,即可得到主成分表达式。

根据统计界的最新理论,在主成分分析中一般不采用综合主成分进行后续分析,因为其结果不唯一。本文在之后的建模过程中将以贡献率大于85%的因子做数据样本。

3 建立需水量预测的BP神经网络模型

3.1 BP神经网络模型的拓扑结构

人工神经网络(Back Propagation,BP)模型具有以任意精度逼近任意非线性函数的映射能力,在水利、电力、化工等领域得到了广泛的应用[4]。天津大学化工研究所的霍金仙[5]、哈尔滨市水利工程建设监理站的崔仰彬[6]等先后研究了 BP神经网络在河道外需水量预测中的运用,并验证了预测结果的合理性。

BP神经网络由三部分组成:输入层、隐含层和输出层。输入层和输出层都为单层,隐含层可以为单层,也可以为多层[7]。其学习过程分为信息的正向传播过程和误差的反向传播过程两个阶段,外部输入的信号经输入层 、隐含层的神经元逐层处理 ,向前传播到输出层 ,给出结果 。如果在输出层得不到期望输出,则转入逆向传播过程,将实际值与网络输出之间的误差沿原连接通路返回 ,通过修改各层神经元的连接权值,减少误差 ,然后再转入正向传播过程,反复迭代,直到误差小于给定的值为止[8]。本文拟采用较通用的三层 BP神经网络,其拓扑结构如图 1所示。

3.2 模型设计及参数确定

用美国 MathWorks公司开发的 MATLAB R2010b作为模型的计算平台。因为 BP神经网络采用“有教师”的方式训练学习,样本由输入和输出组成[9]。首先对所有样本数据进行标准化处理,令Y为储存各年份需水量的变量 (单位:万吨),ZY为标准化处理之后的变量,见表 5。

表5 基于时间序列的部分年份需水量Tab.5 Water consumption for some years based on time sequence

(1)训练样本确定:将1995年至 2006年的数据作为训练样本,2007年和 2008年的数据作为测试样本。根据前文的主成分分析,查看 ZY与 ZXi(1≤i≤9)的相关系数矩阵,并就各因子对于 ZY的作用大小进行排序:ZX2>ZX7>ZX9>ZX4>ZX1>ZX3>ZX5>ZX6>ZX8,选取前5个因子:ZX2、ZX7、ZX9、ZX4、ZX1作为数据样本,见表 6。

表6 样本数据Tab.6 The data of samples

(2)模型参数:训练函数为 TRA INLM;学习函数为LEARNDM;性能函数为MSE;隐层传递函数为TANSIG;输出层传递函数为 PUREL IN。输入层节点数为 5,输出层节点数为 1,迭代次数为 1000,惯量因子 0.5,训练目标误差 0.001,学习系数为 0.05。

(3)隐含层神经元数目的确定:该层神经元数目采用试算法确定,即以 5为初值向上递增,检验模型的训练误差,直到找到误差最小的值,经验证隐含层神经元数为 10时,训练效果最佳,其结构见图 2。

图2 构建的BP网络结构图Fig.2 Created BP neural ne twork

3.3 网络训练及仿真

(1)利用MATLAB的 newff函数创建一个前向型BP神经网络,格式如下[10]:

net=newff(P,T,[S1 S2…S(N-i)],{TF1TF2…TFNi})

其中:P为输入样本向量,即 F1、F2;T为期望响应即输出;Si为神经网络各层的神经元数目; N为神经网络的层数;TFi表示对应网络层的传递函数类型,本例将建立一个 3层的BP神经网络。

(2)训练过程经过 17次迭代后,误差达到容许范围,见图 3。

3.4 模型预测及误差分析

图3 训练误差曲线图Fig.3 Training error curve

现将测试样本向量输入做预测,并将结果作反归一化处理,得到 2007年和 2008年的需水量分别为 52045万m3、59105万m3,与实测值 52127万m3、59462万m3的误差分别为 -0.16%和 -0.60%,具有很高的精度,完全可以满足实际工程的需要,现将各年份的模型拟合值及实测值列出,并绘出需水量年际变化曲线,见表 7、图 4。

表7 部分年份期望输出与实际输出值Tab.7 Expected outputs and actual outputs for some fears

图4 模型曲线图Fig.4 Model curve

4 结 论

从图 4可以看出,利用BP神经网络算法能够很好地逼近希望得到的函数,故而由此建立的水量预测模型是合理可用的。该模型很好的反应了成都市需水量与主要影响因素的函数关系,在进行未来需水量的预测时,只需确定主成分分析中的 5个主要影响因素:人口、农业增加值、第三产业增加值、给水管道长度、排水管道长度,即可计算出需水量。其中前 3个因素取值可以根据相关的社会发展和国民经济规划来确定;后两个因素则可以再次通过建立基于时间序列的BP神经网络模型,预测出规划年份的值。本文通过此种方式预测出成都市2010年需水量约为 63727万m3。

BP神经网络具有很强的非线性映射能力,因此对于非线性关系的样本数据它能够很好的找出其内在联系,适于处理具有复杂变量的现实问题。在建模前进行的主成分分析则简化了输入的样本,减少了输入的节点数,极大地提高了程序的运行效率。

值得关注的是,对样本数据进行预处理可以有效地提高网络的学习能力和预测精度,在今后的水资源规划中可以考虑推广使用该方法对需水量进行定量预测,并结合定额法等传统方法使得水资源的规划工作更加科学、更加具有指导意义。

[1] 刘昌明,王红瑞 .浅析水资源与人口、经济和社会环境的关系[J].自然资源学报,2003,18(4):635-642.

[2] 刘丹丹,冯利华,王 宁,石 磊 .基于BP神经网络的义乌市水资源需求量预测[J].水资源与水工程学报,2010,1 (3):114-117.

[3] 傅 湘,纪昌明 .区域水资源承载能力综合评价—主成分分析法的应用[J].长江流域资源与环境,1999,8(2):168-173.

[4] 郭 默 .基于BP神经网络的施工扬尘量化建模研究[D].兰州大学,2010.

[5] 霍金仙,郭 永,刘文先 .基于BP网络的全国需水量预测研究[J].人民黄河,2009,31(9):54-56.

[6] 崔仰彬,董珊珊,杨 曦 .人工神经网络在城市需水量预测中的应用[J].水利科技与经济,2009,15(11):988-990.

[7] 魏海坤 .神经网络结构设计的理论与方法[M].Beijing:NationalDefence Industry Pres,200525-36.

[8] 王 旭.人工神经元网络原理与应用[M].沈阳:东北大学出版社,2002.

[9] 朱 凯,王正林.精通MATLAB神经网络[M].北京:电子工业出版社,2010.193-224.

[10] 陈小强,胡向红,袁铁柱,张 建 .BP神经网络在灌区需水量预测中的应用[J].地下水,2009,31(6):174-176.

猜你喜欢

需水量成都市水资源
中共成都市第十四届委员会常委简历
成都市青羊区:推行“一网通办”下的“最多跑一次”
《水资源开发与管理》征订启事
珍惜水资源 保护水环境
南京城市中心区生态需水量探析
2019年1~6月成都市经济运行情况
2018年1—12月成都市经济运行情况
加强水文水资源勘测合理开发利用水资源
组合预测模型在区域需水量预测中的应用
浅议我国水资源的刑事立法保护