黄建国,王东明
(1.安徽水利水电职业技术学院 基础部,安徽 合肥 231603;2.皖西学院 金融与数学学院,安徽 六安 237012)
降雨径流是指落到地面的降雨,除去蒸发、地表和地下调蓄的水量,通过地面径流、表层流和地下流汇集到出口断面的汇流过程。影响降雨径流的因素很多,如降雨量、降雨时间、地形地貌、土壤湿度等等。因此,降雨径流的预测是一个比较困难的过程。目前国内外降雨径流的预测方法可归纳分为数学物理模型、概念模型和黑箱模型,如瞬时单位线法[1]、综合单位线法、等流时线法、调蓄函数法、tank模型、人工神经网络模型等等[2-3],但各种预测方法都有一定的局限性。泛函网络(Functional Networks,简称FN)是一种“灰箱”模型,具有很好的非线性逼近能力。集对分析(SetPair Analysis,简称SPA)具有很好的信息预处理能力。为了提高降雨径流的预测精度,把泛函网络与集对分析结合起来,提出了一种FN—SPA模型。计算机仿真结果显示,与神经网络模型相比较,在预测降雨径流洪峰流量时,该模型的预测精度更高。
1998年Castillo E.提出了泛函网络[4],它是对神经网络的推广。一个典型的泛函网络模型主要组成如下:1)输入单元层。它是输入数据的一层单元,如图1中的{x1,x2,x3}。2)泛函神经元。每个泛函神经元是一个计算单元,对一个或多个输入的信息进行处理产生输出,如图1的{f1,f2,f3}。3)中间存储单元。它存储由神经元产生的信息,如图1中的{x4,x5}。4)一个输出层。输出网络的结果,如图1中的{x6}。5)有向连接线。它们连接输入层、中间层神经元和输出层,如图1中的箭头表示,箭头的方向表示信息流的方向。
图1 典型的泛函网络模型
可分离泛函网络为目前应用最广泛的泛函网络之一,可分离是指它的表达式为输入变量分离作用效果的组合。用于FN—SPA模型的可分离泛函网络如图2,它的输出函数为
(1)
图2 用于FN—SPA模型的可分离的泛函网络结构
利用最小化误差平方和的方法来优化网络系数aik,
(2)
式中,tj为第j个训练模式输出。
为了得到唯一的网络表达式,需要给出一些泛函网络的初始值。设泛函网络的初始值为fi(x0)=ui0,i=1,…,n。
(3)
对(3)式求偏导,可得
训练泛函网络就是求解(4)、(5)组成的方程组。
集对分析是赵克勤先生在1989年提出的一种处理不确定性问题的理论和方法[6]。四元联系数是对组成集对的两个集合特性作同一性、偏同性、偏反性和对立性分析,用联系数来刻画两个集合的联系程度,其联系度的表达式为
(6)
式中,N为集合的特性总数;A为同一性个数;B为偏同性个数;C为偏反性个数;D为对立性个数;i∈[0, 1];j∈[-1, 0];k=-1。
FN—SPA模型的输入变量有总降雨量x1、降雨历时x2、河道基流x3、单位时间平均降雨量x4,……,xn。把需要预测值所对应的输入作为B集合,即B={x1,x2,…,xn}。将历史资料时间序列样本集的输入分别作为At,即At={xt1,xt2,…,xtn},t=1,…,m。按照联系数的大小,在A1,A2,……,At中,寻找与B集合最为相似的k个集合,把这k个集合和其对应的输出作为训练集。由于训练集的输入与需要预测值的输入条件类似,即减少了极端数据作为训练样本对预测结果带来的不利影响,因此预测的结果相对会更精确一些。
step 1. 预留部分历史资料时间序列为检测集。将最后l个历史资料时间序列作为检测集,其余的历史资料时间序列都作为样本数据。
step 2. 构建集对Bi与At。将检测集中第i个预测值所对应的输入作为集合Bi,即Bi={xi1,xi2,…,xin}。把各样本数据的输入作为集合{At},t=1,…,m,其中At={xt1,xt2,…,xtn}。
step 3.计算集合Bi与每一个集合At的联系数。如果|Ati-Bi|≤15%Bi,认为分量Ati与分量Bi具有同一性;如果15%Bi<|Ati-Bi|≤25%Bi,认为分量Ati与分量Bi具有偏同性;如果25%Bi<|Ati-Bi|≤35%Bi,认为分量Ati与分量Bi具有偏反性;如果35%Bi<|Ati-Bi|,认为分量Ati与分量Bi具有对立性。逐一对集合Bi与每一个集合At的同一性、偏同性、偏异性和对立性进行分析,计算出Bi与每一个集合At的联系数。按照联系数的大小,在A1,A2,……,At中,找出与Bi集合最为相似的k个集合,将此集合与其对应的输出作为训练集。
step 4. 数据归一化处理。归一化方法:
(7)
式中,X为原始数据;Xmax为原始数据的最大值;T为变换后的数据,即目标数据。
step 5. 网络训练。首先给出任意两两相互线性独立的函数组成的系统,即网络基函数φ(x)=(φ1(x),φ2(x),…,φr(x))。其次,将训练集中归一化的数据输入泛函网络,进行网络训练,得到最佳的网络参数。
step 6. 网络逼近能力检测。利用最佳的网络参数,把Bi={xi1,xi2,…,xin}输入网络,得到所预测的第i个时间序列的洪峰流量。
应用FN—SPA模型对降雨径流进行预报的实例资料是来源日本一柳(Ichiyanagi)先生在日本中部大井川河上游某地区降雨径流资料[7](P100-101)。将历史资料分成样本数据集和检测样本数据集,如表1和表2。
表1 样本数据集
表2 检测样本数据集
计算两个集合联系度时,把总降雨量、降雨历时、河道基流和单位时间平均降雨量作为集对的元素。(6)式中,i和j分别取0.5与-0.5。选取降雨历时、河道基流和单位时间平均降雨量作为网络训练输入变量。采用φi(x)=(1,x)作为泛函网络的基函数。为了便于求解最优网络参数,同时也发挥泛函网络是灰箱的优点,设网络函数为
(8)
式中,x为降雨历时;y为单位时间平均降雨量;z为河道基流;ai为网络参数,i=1,…,5。网络的初始值设为:F(0,0,z)=z。
仿真的结果见表3。由表3可知,FN—SPA模型对降雨径流洪峰流量预测的精度要高于人工神经网络模型,说明FN—SPA模型预测降雨径流洪峰流量是有效的,而且预测精度更高。
表3 预报误差
本文的FN—SPA模型是对降雨径流洪峰流量预报方法的一种探索。FN—SPA模型优点是既利用集对分析量化解决不确定性问题,又利用泛函网络良好非线性逼近能力。仿真的结果显示FN—SPA模型预测精度更高,表明该模型预报降雨径流是有效的。
FN—SPA模型还存在一些不足:集对分析中,i和j具体选取什么值最优,目前还没有理论指导。在集合At中,具体界定哪些集合与B相似,还处于经验阶段。泛函网络基函数的选取也缺乏理论指导。