黃建國(guó),王東明
(1.安徽水利水電職業(yè)技術(shù)學(xué)院 基礎(chǔ)部,安徽 合肥 231603;2.皖西學(xué)院 金融與數(shù)學(xué)學(xué)院,安徽 六安 237012)
降雨徑流是指落到地面的降雨,除去蒸發(fā)、地表和地下調(diào)蓄的水量,通過(guò)地面徑流、表層流和地下流匯集到出口斷面的匯流過(guò)程。影響降雨徑流的因素很多,如降雨量、降雨時(shí)間、地形地貌、土壤濕度等等。因此,降雨徑流的預(yù)測(cè)是一個(gè)比較困難的過(guò)程。目前國(guó)內(nèi)外降雨徑流的預(yù)測(cè)方法可歸納分為數(shù)學(xué)物理模型、概念模型和黑箱模型,如瞬時(shí)單位線法[1]、綜合單位線法、等流時(shí)線法、調(diào)蓄函數(shù)法、tank模型、人工神經(jīng)網(wǎng)絡(luò)模型等等[2-3],但各種預(yù)測(cè)方法都有一定的局限性。泛函網(wǎng)絡(luò)(Functional Networks,簡(jiǎn)稱(chēng)FN)是一種“灰箱”模型,具有很好的非線性逼近能力。集對(duì)分析(SetPair Analysis,簡(jiǎn)稱(chēng)SPA)具有很好的信息預(yù)處理能力。為了提高降雨徑流的預(yù)測(cè)精度,把泛函網(wǎng)絡(luò)與集對(duì)分析結(jié)合起來(lái),提出了一種FN—SPA模型。計(jì)算機(jī)仿真結(jié)果顯示,與神經(jīng)網(wǎng)絡(luò)模型相比較,在預(yù)測(cè)降雨徑流洪峰流量時(shí),該模型的預(yù)測(cè)精度更高。
1998年Castillo E.提出了泛函網(wǎng)絡(luò)[4],它是對(duì)神經(jīng)網(wǎng)絡(luò)的推廣。一個(gè)典型的泛函網(wǎng)絡(luò)模型主要組成如下:1)輸入單元層。它是輸入數(shù)據(jù)的一層單元,如圖1中的{x1,x2,x3}。2)泛函神經(jīng)元。每個(gè)泛函神經(jīng)元是一個(gè)計(jì)算單元,對(duì)一個(gè)或多個(gè)輸入的信息進(jìn)行處理產(chǎn)生輸出,如圖1的{f1,f2,f3}。3)中間存儲(chǔ)單元。它存儲(chǔ)由神經(jīng)元產(chǎn)生的信息,如圖1中的{x4,x5}。4)一個(gè)輸出層。輸出網(wǎng)絡(luò)的結(jié)果,如圖1中的{x6}。5)有向連接線。它們連接輸入層、中間層神經(jīng)元和輸出層,如圖1中的箭頭表示,箭頭的方向表示信息流的方向。
圖1 典型的泛函網(wǎng)絡(luò)模型
可分離泛函網(wǎng)絡(luò)為目前應(yīng)用最廣泛的泛函網(wǎng)絡(luò)之一,可分離是指它的表達(dá)式為輸入變量分離作用效果的組合。用于FN—SPA模型的可分離泛函網(wǎng)絡(luò)如圖2,它的輸出函數(shù)為
(1)
圖2 用于FN—SPA模型的可分離的泛函網(wǎng)絡(luò)結(jié)構(gòu)
利用最小化誤差平方和的方法來(lái)優(yōu)化網(wǎng)絡(luò)系數(shù)aik,
(2)
式中,tj為第j個(gè)訓(xùn)練模式輸出。
為了得到唯一的網(wǎng)絡(luò)表達(dá)式,需要給出一些泛函網(wǎng)絡(luò)的初始值。設(shè)泛函網(wǎng)絡(luò)的初始值為fi(x0)=ui0,i=1,…,n。
(3)
對(duì)(3)式求偏導(dǎo),可得
訓(xùn)練泛函網(wǎng)絡(luò)就是求解(4)、(5)組成的方程組。
集對(duì)分析是趙克勤先生在1989年提出的一種處理不確定性問(wèn)題的理論和方法[6]。四元聯(lián)系數(shù)是對(duì)組成集對(duì)的兩個(gè)集合特性作同一性、偏同性、偏反性和對(duì)立性分析,用聯(lián)系數(shù)來(lái)刻畫(huà)兩個(gè)集合的聯(lián)系程度,其聯(lián)系度的表達(dá)式為
(6)
式中,N為集合的特性總數(shù);A為同一性個(gè)數(shù);B為偏同性個(gè)數(shù);C為偏反性個(gè)數(shù);D為對(duì)立性個(gè)數(shù);i∈[0, 1];j∈[-1, 0];k=-1。
FN—SPA模型的輸入變量有總降雨量x1、降雨歷時(shí)x2、河道基流x3、單位時(shí)間平均降雨量x4,……,xn。把需要預(yù)測(cè)值所對(duì)應(yīng)的輸入作為B集合,即B={x1,x2,…,xn}。將歷史資料時(shí)間序列樣本集的輸入分別作為At,即At={xt1,xt2,…,xtn},t=1,…,m。按照聯(lián)系數(shù)的大小,在A1,A2,……,At中,尋找與B集合最為相似的k個(gè)集合,把這k個(gè)集合和其對(duì)應(yīng)的輸出作為訓(xùn)練集。由于訓(xùn)練集的輸入與需要預(yù)測(cè)值的輸入條件類(lèi)似,即減少了極端數(shù)據(jù)作為訓(xùn)練樣本對(duì)預(yù)測(cè)結(jié)果帶來(lái)的不利影響,因此預(yù)測(cè)的結(jié)果相對(duì)會(huì)更精確一些。
step 1. 預(yù)留部分歷史資料時(shí)間序列為檢測(cè)集。將最后l個(gè)歷史資料時(shí)間序列作為檢測(cè)集,其余的歷史資料時(shí)間序列都作為樣本數(shù)據(jù)。
step 2. 構(gòu)建集對(duì)Bi與At。將檢測(cè)集中第i個(gè)預(yù)測(cè)值所對(duì)應(yīng)的輸入作為集合Bi,即Bi={xi1,xi2,…,xin}。把各樣本數(shù)據(jù)的輸入作為集合{At},t=1,…,m,其中At={xt1,xt2,…,xtn}。
step 3.計(jì)算集合Bi與每一個(gè)集合At的聯(lián)系數(shù)。如果|Ati-Bi|≤15%Bi,認(rèn)為分量Ati與分量Bi具有同一性;如果15%Bi<|Ati-Bi|≤25%Bi,認(rèn)為分量Ati與分量Bi具有偏同性;如果25%Bi<|Ati-Bi|≤35%Bi,認(rèn)為分量Ati與分量Bi具有偏反性;如果35%Bi<|Ati-Bi|,認(rèn)為分量Ati與分量Bi具有對(duì)立性。逐一對(duì)集合Bi與每一個(gè)集合At的同一性、偏同性、偏異性和對(duì)立性進(jìn)行分析,計(jì)算出Bi與每一個(gè)集合At的聯(lián)系數(shù)。按照聯(lián)系數(shù)的大小,在A1,A2,……,At中,找出與Bi集合最為相似的k個(gè)集合,將此集合與其對(duì)應(yīng)的輸出作為訓(xùn)練集。
step 4. 數(shù)據(jù)歸一化處理。歸一化方法:
(7)
式中,X為原始數(shù)據(jù);Xmax為原始數(shù)據(jù)的最大值;T為變換后的數(shù)據(jù),即目標(biāo)數(shù)據(jù)。
step 5. 網(wǎng)絡(luò)訓(xùn)練。首先給出任意兩兩相互線性獨(dú)立的函數(shù)組成的系統(tǒng),即網(wǎng)絡(luò)基函數(shù)φ(x)=(φ1(x),φ2(x),…,φr(x))。其次,將訓(xùn)練集中歸一化的數(shù)據(jù)輸入泛函網(wǎng)絡(luò),進(jìn)行網(wǎng)絡(luò)訓(xùn)練,得到最佳的網(wǎng)絡(luò)參數(shù)。
step 6. 網(wǎng)絡(luò)逼近能力檢測(cè)。利用最佳的網(wǎng)絡(luò)參數(shù),把Bi={xi1,xi2,…,xin}輸入網(wǎng)絡(luò),得到所預(yù)測(cè)的第i個(gè)時(shí)間序列的洪峰流量。
應(yīng)用FN—SPA模型對(duì)降雨徑流進(jìn)行預(yù)報(bào)的實(shí)例資料是來(lái)源日本一柳(Ichiyanagi)先生在日本中部大井川河上游某地區(qū)降雨徑流資料[7](P100-101)。將歷史資料分成樣本數(shù)據(jù)集和檢測(cè)樣本數(shù)據(jù)集,如表1和表2。
表1 樣本數(shù)據(jù)集
表2 檢測(cè)樣本數(shù)據(jù)集
計(jì)算兩個(gè)集合聯(lián)系度時(shí),把總降雨量、降雨歷時(shí)、河道基流和單位時(shí)間平均降雨量作為集對(duì)的元素。(6)式中,i和j分別取0.5與-0.5。選取降雨歷時(shí)、河道基流和單位時(shí)間平均降雨量作為網(wǎng)絡(luò)訓(xùn)練輸入變量。采用φi(x)=(1,x)作為泛函網(wǎng)絡(luò)的基函數(shù)。為了便于求解最優(yōu)網(wǎng)絡(luò)參數(shù),同時(shí)也發(fā)揮泛函網(wǎng)絡(luò)是灰箱的優(yōu)點(diǎn),設(shè)網(wǎng)絡(luò)函數(shù)為
(8)
式中,x為降雨歷時(shí);y為單位時(shí)間平均降雨量;z為河道基流;ai為網(wǎng)絡(luò)參數(shù),i=1,…,5。網(wǎng)絡(luò)的初始值設(shè)為:F(0,0,z)=z。
仿真的結(jié)果見(jiàn)表3。由表3可知,F(xiàn)N—SPA模型對(duì)降雨徑流洪峰流量預(yù)測(cè)的精度要高于人工神經(jīng)網(wǎng)絡(luò)模型,說(shuō)明FN—SPA模型預(yù)測(cè)降雨徑流洪峰流量是有效的,而且預(yù)測(cè)精度更高。
表3 預(yù)報(bào)誤差
本文的FN—SPA模型是對(duì)降雨徑流洪峰流量預(yù)報(bào)方法的一種探索。FN—SPA模型優(yōu)點(diǎn)是既利用集對(duì)分析量化解決不確定性問(wèn)題,又利用泛函網(wǎng)絡(luò)良好非線性逼近能力。仿真的結(jié)果顯示FN—SPA模型預(yù)測(cè)精度更高,表明該模型預(yù)報(bào)降雨徑流是有效的。
FN—SPA模型還存在一些不足:集對(duì)分析中,i和j具體選取什么值最優(yōu),目前還沒(méi)有理論指導(dǎo)。在集合At中,具體界定哪些集合與B相似,還處于經(jīng)驗(yàn)階段。泛函網(wǎng)絡(luò)基函數(shù)的選取也缺乏理論指導(dǎo)。