黃建國,王東明
(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相似,還處于經驗階段。泛函網絡基函數的選取也缺乏理論指導。