劉蕊鑫,紀(jì)昌明,馬 源(華北電力大學(xué)可再生能源學(xué)院,北京102206)
徑流作為重要的水文要素之一,受氣候、地理、環(huán)境、人類活動等多方面因素的影響,表現(xiàn)出很強的隨機性、模糊性、灰色性、非線性等特性[1]。徑流預(yù)測精度的提高一直是國內(nèi)外學(xué)者關(guān)注的熱點問題[2]。徑流預(yù)測精度的提高在于對歷史徑流序列的充分挖掘,找出徑流變化的規(guī)律[3]。常用的預(yù)測方法有多元回歸模型[4]、模糊模式識別[5]、人工神經(jīng)網(wǎng)絡(luò)[6]等方法。
RBF神經(jīng)網(wǎng)絡(luò)相比于多層前饋網(wǎng)絡(luò)(MFN)具有良好的泛化能力,網(wǎng)絡(luò)結(jié)構(gòu)簡單,可以避免不必要的和冗長的計算[7]。RBF神經(jīng)網(wǎng)絡(luò)能在一個緊湊集合任意精度下,逼近任何非線性函數(shù)[8]。目前在很多領(lǐng)域都有廣泛的應(yīng)用[9-11]。RBF神經(jīng)網(wǎng)絡(luò)應(yīng)用的關(guān)鍵問題之一是神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計和網(wǎng)絡(luò)參數(shù)調(diào)整的問題,2004年伍長榮[12]提出一種改進(jìn)的RBF神經(jīng)網(wǎng)絡(luò)算法,該算法可以在沒有提前獲知神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的前提下,訓(xùn)練出最優(yōu)結(jié)構(gòu)的RBF神經(jīng)網(wǎng)絡(luò)及網(wǎng)絡(luò)參數(shù)。該算法被廣泛應(yīng)用于各個領(lǐng)域[13,14],取得了良好的效果。但該算法存在不足之處,在前期未考慮輸入變量(影響因子)選擇的問題,神經(jīng)網(wǎng)絡(luò)的輸入變量過多,會導(dǎo)致網(wǎng)絡(luò)結(jié)構(gòu)過于復(fù)雜,預(yù)報誤差的增加;輸入變量輸入過少,又無法很好地解釋輸出變量的變化機理。在水文預(yù)報影響因子選擇的問題上,還存在與輸出變量在時間上的滯后問題,這使得影響因子的選擇更為復(fù)雜[15]。針對該問題,本文提出了一種基于互信息的改進(jìn)RBF神經(jīng)網(wǎng)絡(luò)預(yù)測模型。采用互信息理論,對神經(jīng)網(wǎng)絡(luò)的輸入變量進(jìn)行篩選,選出合理的輸入變量,再以網(wǎng)絡(luò)擬合誤差為指標(biāo),利用改進(jìn)的最鄰近聚類法確定出神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)和網(wǎng)絡(luò)參數(shù)。本文以雅礱江流域滬寧水文站為例,將基于互信息的改進(jìn)RBF神經(jīng)網(wǎng)絡(luò)應(yīng)用到滬寧站日徑流預(yù)測中。結(jié)果表明,改進(jìn)后的徑流預(yù)測方法能夠很好地改善改進(jìn)的RBF神經(jīng)網(wǎng)絡(luò)算法的缺陷,預(yù)測精度較高,是一種有效的短期徑流預(yù)測方法。
目前篩選神經(jīng)網(wǎng)絡(luò)輸入變量常用的方法有主成分分析法[16]、因果關(guān)系分析法[17]、正交最小二乘法[18]等。但皆存在不足之處,主成分分析法雖然操作簡單,但水文序列之間一般都存在著復(fù)雜的非線性關(guān)系,該種方法無法反映出這種非線性關(guān)系。因果關(guān)系分析法只能給出變量間相關(guān)關(guān)系的定性描述,無法進(jìn)行定量的分析。正交最小二乘法能夠計算出每個輸入變量對輸出變量的單獨貢獻(xiàn),但計算過程比較復(fù)雜。
互信息(mutual information,MI)是用于表征變量相關(guān)性的一種方法?;バ畔⒌拇笮〈碜兞块g相關(guān)信息的多少,變量耦合越強,互信息越大[19]?;バ畔⒓饶苊枋鲎兞块g的線性相關(guān)關(guān)系,也能描述變量間的非線性相關(guān)關(guān)系,且計算量小,因此在變量選擇中得到了廣泛的應(yīng)用[20,21]。
當(dāng)隨機變量X,Y相互獨立時,其聯(lián)合分布密度等于二者邊緣分布密度乘積,即:
PX,Y(x,y)=PX(x)PY(y)
(1)
對于離散型隨機變量的N個觀察值,變量X,Y之間的互信息表達(dá)式為:
(2)
RBF神經(jīng)網(wǎng)絡(luò)的隱含層個數(shù)及網(wǎng)絡(luò)參數(shù)的選擇對神經(jīng)網(wǎng)絡(luò)的性能有著重要的影響,伍長榮[12]將改進(jìn)的最鄰近聚類法應(yīng)用于神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)設(shè)計和參數(shù)修正中。改進(jìn)的最鄰近聚類法是一種在線自適應(yīng)動態(tài)聚類學(xué)習(xí)算法,構(gòu)造神經(jīng)網(wǎng)絡(luò)的過程中不必提前獲知神經(jīng)網(wǎng)絡(luò)隱含層節(jié)點的個數(shù),聚類完畢后得到的RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)最佳,并具有學(xué)習(xí)時間短、計算量小等特點[22]。該算法解決了最鄰近聚類算法中未將輸出信息考慮入聚類標(biāo)準(zhǔn)、聚類半徑固定不變及形成每個聚類后,聚類中心未隨樣本后期的變化而作出調(diào)整的缺點。具體改進(jìn)方法見本文第3節(jié)步驟(4)-(7),這里不在贅述。改進(jìn)的RBF神經(jīng)網(wǎng)絡(luò)預(yù)測模型在各領(lǐng)域中的應(yīng)用均取得了良好的預(yù)測效果,是一種有效的預(yù)報模型,但該算法并未考慮神經(jīng)網(wǎng)絡(luò)輸入變量的選擇問題,如果考慮變量的選擇問題,篩選出合理的輸入變量,預(yù)測精度有進(jìn)一步提升的可能性。基于此,本文將互信息應(yīng)用于該預(yù)測模型中,提出了一種基于互信息的改進(jìn)RBF神經(jīng)網(wǎng)絡(luò)預(yù)測模型,并以雅礱江流域滬寧水文站日徑流預(yù)報為例,驗證了這種預(yù)測模型的可行性。
針對改進(jìn)的RBF神經(jīng)網(wǎng)絡(luò)算法存在的問題,本文提出了一種基于互信息的改進(jìn)RBF神經(jīng)網(wǎng)絡(luò)算法。找出所有對輸出變量可能有影響的影響因子,利用互信息理論選擇出與輸出變量互信息較大的輸入變量;在輸入變量選擇的基礎(chǔ)上,利用改進(jìn)的最鄰近聚類法進(jìn)行神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計和參數(shù)調(diào)整,從而改進(jìn)網(wǎng)絡(luò)的預(yù)測性能。算法步驟如下:
(3)
i,j=1,2,…,N
(4)
(2)變量選擇。利用公式(2)計算出每個輸入變量與輸出變量之間的互信息MI大小,選擇滿足MI(Xi;Y)>δiMI(Y;Y)的變量,δi∈(0,1)代表相關(guān)閾值。確定神經(jīng)網(wǎng)絡(luò)輸入層節(jié)點數(shù)和對應(yīng)的輸入變量。
(3)確定神經(jīng)網(wǎng)絡(luò)輸入層后,為消除各變量的數(shù)量級間的差異對神經(jīng)網(wǎng)絡(luò)的影響,需要先對所有變量進(jìn)行歸一化處理。
(4)計算篩選后的所有樣本之間的距離及平均值:
(6)
i,j=1,2,…,N
選出最靠近樣本xi的q個樣本,間距分別為di1,di2,…,diq,則平均值為:
(7)
(5)從數(shù)據(jù)對(x1,y1)開始,將x1作為第1個聚類中心,令A(yù)(1)=y1,B(1)=1,并設(shè)定一個合理的聚類半徑r。
(7)令:
(8)
若:
(9)
則將樣本(xk,yk)劃入聚類u中,且有:
A(u)=A(u)+yk
(10)
B(u)=B(u)+1
(11)
cutmp=cutmp+xk
(12)
式中:cutmp代表聚類u中全部樣本的輸入之和。
否則,將(xk,yk)創(chuàng)建為一個新聚類,并且:
A(l+1)=yk
(13)
B(l+1)=1
(14)
ci+1=xk
(15)
(16)
式中:fj代表輸入xj時神經(jīng)網(wǎng)絡(luò)的輸出。
(9)若神經(jīng)網(wǎng)絡(luò)擬合誤差E滿足目標(biāo)精度要求,則計算結(jié)束,當(dāng)前網(wǎng)絡(luò)結(jié)構(gòu)和網(wǎng)絡(luò)參數(shù)是該精度下的最優(yōu)結(jié)果。否則利用公式(13)根據(jù)精度要求按照梯度下降法調(diào)整網(wǎng)絡(luò)參數(shù)r,并返回第(7)步重新計算,直至滿足要求為止。
(17)
式中:η∈(0,1)為學(xué)習(xí)速率。
滬寧水文站位于雅礱江干流,也是錦屏二級水電站的入庫水文站,該站的徑流變化對于水電站水庫調(diào)度、發(fā)電及農(nóng)業(yè)灌溉等有重要影響。本文選取滬寧水文站1994-2011年共17 a汛期(5-10月)的天然日徑流、降雨量和上游水文站日徑流作為分析對象。
采用1994-2010年共16 a汛期(5-10月)的實測徑流資料作為訓(xùn)練樣本,共3 128組數(shù)據(jù)。選取可能影響滬寧站日徑流的影響因子:選擇滬寧站預(yù)測日前1日至前5日日流量、滬寧站預(yù)測日當(dāng)日降雨量、預(yù)測日前1日至前5日降雨量、三灘站預(yù)測日前1日至前5日日徑流和烏拉溪站預(yù)測日前1日至前5日日徑流作為影響因子(三灘和烏拉溪站位于滬寧站上游),共21個影響因子。
計算各影響因子與滬寧站預(yù)測日日徑流的互信息結(jié)果見表1~4。
表1 滬寧站預(yù)測日日徑流與滬寧站前期日徑流之間的互信息Tab.1 Mutual information between Huning forecasting day daily runoff and earlier stage daily runoff
表2 滬寧站預(yù)測日日徑流與滬寧站前期日降雨量之間的互信息Tab.2 Mutual information between Huning foresting day daily runoff and earlier stage daily rainfall
表3 滬寧站預(yù)測日日徑流與三灘站前期日徑流之間的互信息Tab.3 Mutual information between Huning forecasting day daily runoff and Santan earlier stage daily runoff
表4 滬寧站預(yù)測日日徑流與烏拉溪站前期日徑流之間的互信息Tab.4 Mutual information between Huning forecasting daily runoff and Wu La-xi earlier stage daily runoff
滬寧站預(yù)測日日徑流的自信息MI=21.138 3,本文取δ1=0.155,δ2=0.064。從表1和表2可得出,輸入變量選擇滬寧站預(yù)測日前1日、前2日、前3日日徑流,滬寧站預(yù)測日前2日、前3日、前4日、前5日降雨量作為神經(jīng)網(wǎng)絡(luò)輸入變量。這里要特別說明的是,從表3和表4可以看出,三灘水文站出流經(jīng)過1日傳播至滬寧站,烏拉溪水文站出流經(jīng)過2日傳播至滬寧站,故三灘和烏拉溪站日徑流影響因子只選擇這2個便可。
采用2011年汛期實測徑流資料作為預(yù)測對照數(shù)據(jù)。RBF神經(jīng)網(wǎng)絡(luò)采用3層網(wǎng)絡(luò)結(jié)構(gòu),輸入層包括前滬寧站預(yù)測日前1日至前3日日徑流、前2日至前5日降雨量、三灘站預(yù)測日前1日日徑流、烏拉溪站預(yù)測日前2日日徑流。對數(shù)據(jù)進(jìn)行歸一化處理,采用改進(jìn)的最鄰近聚類法對神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練并作出預(yù)測,對最終所得數(shù)據(jù)實行反歸一化處理,并同實際徑流資料進(jìn)行比較分析。
網(wǎng)絡(luò)訓(xùn)練擬合誤差目標(biāo)越小,擬合精度越高,樣本中心寬度也隨之減小,但為防止發(fā)生過度擬合現(xiàn)象,訓(xùn)練誤差目標(biāo)不宜設(shè)定得過低。訓(xùn)練誤差目標(biāo)取E=0.5,經(jīng)訓(xùn)練得出的神經(jīng)網(wǎng)絡(luò)中心寬度為0.095。利用訓(xùn)練完成后得到的神經(jīng)網(wǎng)絡(luò)進(jìn)行2011年汛期日徑流的預(yù)測,采用確定性系數(shù)DC、流量過程相對誤差EQ和預(yù)報合格率QR3個指標(biāo)來檢驗算法對日徑流的預(yù)測效果進(jìn)行評定。
DC、EQ和QR的計算方法如下:
(20)
表5顯示了基于互信息的改進(jìn)RBF神經(jīng)網(wǎng)絡(luò)預(yù)測效果指標(biāo)與單一RBF神經(jīng)網(wǎng)絡(luò)及改進(jìn)的RBF神經(jīng)網(wǎng)絡(luò)預(yù)測效果指標(biāo)的對比,圖1顯示了3種預(yù)報模型預(yù)測值和實際值的對比,圖2顯示了3種預(yù)測模型對2011年汛期連續(xù)184 d的預(yù)報相對誤差的絕對值。
表5 預(yù)測效果指標(biāo)對比Tab.5 Comparison of prediction effectiveness index
圖1 2011年5-10月日徑流預(yù)測結(jié)果比較Fig.1 Comparison of daily runoff prediction result during May to October, 2011
圖2 3種模型預(yù)測2011年汛期日徑流相對誤差絕對值Fig.2 Daily runoff relative error absolute value of three prediction model during flood season in 2011
從表5、圖1和圖2可以看出基于互信息的改進(jìn)RBF神經(jīng)網(wǎng)絡(luò)預(yù)測模型能更好地預(yù)測出水文站日徑流,相對于單一RBF神經(jīng)網(wǎng)絡(luò)和改進(jìn)的RBF神經(jīng)網(wǎng)絡(luò)算法預(yù)測結(jié)果確定性系數(shù)有所提高,流量過程相對誤差降低。在2011年汛期連續(xù)184 d的變化中,預(yù)測相對誤差在±20%以內(nèi)的合格率達(dá)到96.20%,平均相對誤差2.86%,相對于原算法預(yù)測效果有明顯提升。但從圖2中可以看出基于互信息的改進(jìn)RBF方法的預(yù)測結(jié)果中依然有誤差較大的點產(chǎn)生(相對誤差絕對值>20%),這是因為這些點在神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程中從未出現(xiàn)過,神經(jīng)網(wǎng)絡(luò)的精度很大程度上取決于訓(xùn)練樣本的代表性和精確度,所以在實際應(yīng)用中應(yīng)盡量使用數(shù)據(jù)容量較大的樣本,以獲得更準(zhǔn)確的預(yù)測結(jié)果。
針對改進(jìn)RBF神經(jīng)網(wǎng)絡(luò)算法輸入變量未經(jīng)過篩選的缺點,本文提出了一種基于互信息的改進(jìn)RBF神經(jīng)網(wǎng)絡(luò)預(yù)測模型,并將其應(yīng)用于雅礱江滬寧水文站日徑流預(yù)測中,并與原預(yù)測模型進(jìn)行對比,通過滬寧站2011年汛期日徑流預(yù)測結(jié)果可以發(fā)現(xiàn):
(1)基于互信息的改進(jìn)RBF神經(jīng)網(wǎng)絡(luò)預(yù)測模型能有效地選擇影響輸出變量的影響因子,去除冗余輸入變量,對于簡化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),提高預(yù)測效果都有很好的效果。該模型應(yīng)用于日徑流預(yù)測,能夠有效地改善改進(jìn)的RBF神經(jīng)網(wǎng)絡(luò)預(yù)測模型的缺陷,模型學(xué)習(xí)速度較快,預(yù)測精度較高,預(yù)測結(jié)果精度和合格率皆優(yōu)于原預(yù)測模型。
(2)基于互信息的改進(jìn)RBF神經(jīng)網(wǎng)絡(luò)具有較強的逼近非線性函數(shù)的特性,可以對任意非線性函數(shù)進(jìn)行任意精度的逼近。能夠很好的擬合水文系統(tǒng)中徑流這種復(fù)雜的非線性輸入、輸出間的映射關(guān)系。但在訓(xùn)練過程中為防止過擬合現(xiàn)象而導(dǎo)致預(yù)測精度降低現(xiàn)象的產(chǎn)生,應(yīng)合理選擇訓(xùn)練擬合誤差目標(biāo)。
基于互信息的改進(jìn)RBF神經(jīng)網(wǎng)絡(luò)預(yù)測模型的預(yù)測誤差隨機性較強,若加強對預(yù)報誤差的研究,挖掘預(yù)報誤差的潛在規(guī)律,進(jìn)行預(yù)報誤差實時校正,有進(jìn)一步提高預(yù)報精度的可能性,也是作者今后的研究方向。
□
[1] 周 婭,郭 萍,古今今.基于 BP 神經(jīng)網(wǎng)絡(luò)的概率徑流預(yù)測模型[J].水力發(fā)電學(xué)報,2014,33(2):45-49.
[2] 白繼中,師 彪,馮民權(quán),等.自我調(diào)節(jié)蟻群——RBF 神經(jīng)網(wǎng)絡(luò)模型在短期徑流預(yù)測中的應(yīng)用[J].水力發(fā)電學(xué)報,2011,30(3):50-56.
[3] 張曉偉,沈 冰,黃領(lǐng)梅.基于BP 神經(jīng)網(wǎng)絡(luò)的灰色自記憶徑流預(yù)測模型[J].水力發(fā)電學(xué)報,2009,28(1):68-71.
[4] 龐 瓊,陳 鳴,王士軍,等.基于回歸分析的龍門灘水庫設(shè)計洪水計算[J].人民黃河,2013,35(12):37-40.
[5] 陳守煜.模糊水文學(xué)與水資源系統(tǒng)模糊優(yōu)化原理[M].大連:大連理工大學(xué)出版社,1990.
[6] 劉 佳,魯 帆,蔣云鐘,等.RBF神經(jīng)網(wǎng)絡(luò)在徑流時間序列預(yù)測中的應(yīng)用[J].人民黃河,2011,33(8):52-54.
[7] 劉金琨.RBF神經(jīng)網(wǎng)絡(luò)自適應(yīng)控制MATLAB仿真[M].北京:清華大學(xué)出版社,2014:2-3.
[8] Hartman E J,Keeler J D,Kowalski J M. Layered neural networks with Gaussian hidden units as universal approximations [J]. Neural Computation, 1990,2(2):210-215.
[9] 張 毅,姜思博,李 錚.改進(jìn)的遺傳灰色RBF模型的短期電力負(fù)荷預(yù)測[J].電測與儀表,2014,51(5):1-4.
[10] 孫雯雯.基于DRKM-RBF神經(jīng)網(wǎng)絡(luò)預(yù)測算法模型[D].吉林:吉林大學(xué),2011:20-23.
[11] 祝 煜,梁雪春,肖 迪.基于動態(tài)聚類RBF 網(wǎng)絡(luò)的小企業(yè)信貸預(yù)測研究[J].計算機應(yīng)用與軟件,2010,27(4):102-105.
[12] 伍長榮.基于RBF神經(jīng)網(wǎng)絡(luò)的多因素時間序列預(yù)測模型研究[D].合肥:合肥工業(yè)大學(xué),2004:16-20.
[13] 馬鵬飛.基于最鄰近聚類法的RBF神經(jīng)網(wǎng)絡(luò)的商業(yè)銀行分支機構(gòu)績效評價研究[D].重慶:重慶工商大學(xué),2010:33-34.
[14] 李治友,陳 才,曹長修.一種基于改進(jìn)的RBF 神經(jīng)網(wǎng)絡(luò)的鐵水脫硫預(yù)報模型[J].重慶大學(xué)學(xué)報,2003,26(9):119-121.
[15] 趙銅鐵鋼,楊大文.神經(jīng)網(wǎng)絡(luò)徑流預(yù)報模型中基于互信息的預(yù)報因子選擇方法[J].水力發(fā)電學(xué)報,2011,30(1):25-30.
[16] 馬國建.混沌優(yōu)化神經(jīng)網(wǎng)絡(luò)在渤海灣富營養(yǎng)化模型中的應(yīng)用研究[D].天津:天津大學(xué),2009:47-50.
[17] Barrett A B, Barnett L, Seth A K. Multivariate granger causality and generalized variance [J]. Physical Review, 2010,81(4): 384-395.
[18] 高 山,單淵達(dá).神經(jīng)網(wǎng)絡(luò)短期負(fù)荷預(yù)測輸入變量選擇新方法[J].電力系統(tǒng)自動化,2001,(11):41-44.
[19] 唐勇波,桂衛(wèi)華,彭 濤,等.基于互信息變量選擇的變壓器油中溶解氣體濃度預(yù)測[J].儀器儀表學(xué)報,2013,3(47):1 492-1 497.
[20] 郭 偉.基于互信息的RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化設(shè)計[J].計算機科學(xué),2013,40(6):252-255.
[21] 韓 敏,劉曉欣.基于互信息的分步式輸入變量選擇多元序列預(yù)測研究[J].自動化學(xué)報,2012,38(6):999-1 005.
[22] 朱明星,張德龍.RBF網(wǎng)絡(luò)基函數(shù)中心選取算法的研究[J].安徽大學(xué)學(xué)報(自然科學(xué)版),2000,24(1):72-78.
[23] 張玉敏.基于不同核函數(shù)的概率密度函數(shù)估計比較研究[D].河北:河北大學(xué),2010:7-9.