崔東文,楊瓊波
(1.云南省文山州水務(wù)局,云南 文山 663000;2.云南省水文水資源局 紅河分局,云南 紅河 661100)
由于受氣候、氣溫、人類活動(dòng)等大量不確定性和復(fù)雜性因素的影響,徑流序列表現(xiàn)出高度非線性、時(shí)變、不確定等特性,常規(guī)回歸分析、數(shù)理統(tǒng)計(jì)等方法很難獲得理想的預(yù)測(cè)效果。目前,探索具有更高徑流預(yù)測(cè)精度的模型及方法仍是水文預(yù)測(cè)預(yù)報(bào)研究中一項(xiàng)具有挑戰(zhàn)性的工作。近年來,人工神經(jīng)網(wǎng)絡(luò)[1-4]、支持向量機(jī)[5-7]、隨機(jī)森林[8-9]、極限學(xué)習(xí)機(jī)[10]、自適應(yīng)神經(jīng)模糊系統(tǒng)[11]、耦合模型[12]等智能化模型及方法被廣泛應(yīng)用于徑流預(yù)測(cè),并獲得了較好的預(yù)測(cè)效果。Elman神經(jīng)網(wǎng)絡(luò)為典型的局部遞歸網(wǎng)絡(luò),具有較強(qiáng)的動(dòng)態(tài)信息處理能力[13],在徑流預(yù)測(cè)中有著廣泛的應(yīng)用[14-15]。然而,在實(shí)際應(yīng)用中,Elman神經(jīng)網(wǎng)絡(luò)存在以下不足:①Elman網(wǎng)絡(luò)學(xué)習(xí)過程與BP等前饋神經(jīng)網(wǎng)絡(luò)相類似,存在收斂速度慢和易陷入局部極值等問題。目前,遺傳算法[14]、粒子群優(yōu)化算法[16]、人工魚群算法[17]、果蠅優(yōu)化算法[18]等常用于Elman初始權(quán)值和閾值的優(yōu)化,使Elman預(yù)測(cè)效果得以改善。②Elman神經(jīng)網(wǎng)絡(luò)只有一個(gè)隱含層,結(jié)構(gòu)單一,對(duì)于復(fù)雜問題預(yù)測(cè)精度不高,效果不理想。深度遞歸神經(jīng)網(wǎng)絡(luò)(Deep Recurrent Neural Network,DRNN)類似于多隱層(兩個(gè)及以上隱含層)Elman神經(jīng)網(wǎng)絡(luò),具有多隱層結(jié)構(gòu),不但能夠刻畫和描述復(fù)雜的高維、非線性系統(tǒng),而且具備動(dòng)態(tài)反饋機(jī)制,能全面刻畫與表征動(dòng)態(tài)序列的內(nèi)在規(guī)律,具有較好的應(yīng)用前景[19]。不足之處在于DRNN初始權(quán)值和閾值難以確定,這在很大程度上影響和制約著DRNN模型預(yù)測(cè)性能的提高。
為了有效提高DRNN模型預(yù)測(cè)精度和解決DRNN權(quán)值和閾值優(yōu)化問題,本文提出一種基于被囊群算法(Tunicate Swarm Algorithm,TSA)與DRNN相融合的徑流預(yù)測(cè)方法。首先,簡(jiǎn)要介紹TSA算法,并通過4個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)對(duì)TSA進(jìn)行仿真驗(yàn)證;其次,采用主成分分析(PCA)對(duì)徑流序列進(jìn)行降維處理,并通過降維數(shù)據(jù)構(gòu)建DRNN2(雙隱層DRNN)、DRNN3(三隱層DRNN)、DRNN4(四隱層DRNN),利用TSA優(yōu)化DRNN2、DRNN3、DRNN4的權(quán)值和閾值,建立TSA-DRNN2、TSA-DRNN3、TSA-DRNN4徑流預(yù)測(cè)模型,并構(gòu)建TSA-Elman、Elman、DRNN2、DRNN3、DRNN4、TSA-SVM模型作對(duì)比;最后,將所建立的TSA-DRNN2、TSA-DRNN3、TSA-DRNN4、TSA-Elman、Elman、DRNN2、DRNN3、DRNN4、TSA-SVM模型應(yīng)用于云南省姑老河站年徑流預(yù)測(cè)實(shí)例中,旨在驗(yàn)證TSA-DRNN模型用于徑流預(yù)測(cè)的可行性,并為DRNN權(quán)值和閾值的優(yōu)化研究提供參考。
1.1.1 TSA描述
被囊動(dòng)物是網(wǎng)狀小型生物,遍布于海中。因覆蓋在身體上堅(jiān)韌纖維狀皮膜而得名,它們過著獨(dú)居或寄居的生活,有能力在海洋中找到食物來源位置。被囊群算法(TSA)是Satnam Kaur等[20]于2020年提出的一種新型生物啟發(fā)式優(yōu)化算法,其靈感就來源于海洋中被囊射流推進(jìn)遷移和群體智能覓食行為。參考文獻(xiàn)[20],TSA簡(jiǎn)述如下:
(1)
(2)
(3)
(4)
3)向最好被囊方向移動(dòng)。在避免了被囊間的沖突后,被囊向著最佳鄰居(被囊)方向移動(dòng),數(shù)學(xué)描述如下:
(5)
4)趨近最佳鄰居(被囊)。被囊向最佳鄰居(被囊)位置移動(dòng)的數(shù)學(xué)描述如下:
(6)
5)被囊群行為。為了在數(shù)學(xué)上模擬被囊的群體行為,TSA通過保存前兩個(gè)最優(yōu)解,并根據(jù)最佳被囊位置更新其他被囊位置來實(shí)現(xiàn)。被囊群體行為數(shù)學(xué)描述如下:
(7)
1.1.2 TSA仿真驗(yàn)證
選取Sphere、Schwefel 2.22、Griewank、Ackley 4個(gè)典型測(cè)試函數(shù)在不同維度條件下對(duì)TSA進(jìn)行仿真驗(yàn)證,并與PSO(粒子群優(yōu)化)算法的仿真結(jié)果進(jìn)行比較。其中,單峰函數(shù)用于評(píng)測(cè)TSA的尋優(yōu)精度,多峰函數(shù)用于評(píng)測(cè)TSA的全局搜索能力,并通過TSA 20次尋優(yōu)平均值進(jìn)行性能評(píng)估,結(jié)果見表1。試驗(yàn)參數(shù)設(shè)置為:TSA、PSO算法最大迭代次數(shù)T=1 000,種群規(guī)模N=100。其中,TSA社交互動(dòng)初始速度和輔助速度Pmin、Pmax分別設(shè)置為1和2。PSO算法自我學(xué)習(xí)因子c1、社會(huì)學(xué)習(xí)因子c2均取值2.0,慣性權(quán)重wmax、wmin分別取值0.9和0.6。
表1 函數(shù)優(yōu)化對(duì)比結(jié)果
從表1中可以看出,無論是單峰函數(shù)還是多峰函數(shù),TSA在不同維度條件下尋優(yōu)精度均遠(yuǎn)優(yōu)于PSO算法,具有較好的尋優(yōu)精度和全局搜索能力。
遞歸神經(jīng)網(wǎng)絡(luò)(Elman神經(jīng)網(wǎng)絡(luò))按結(jié)構(gòu)可分為單隱層Elman神經(jīng)網(wǎng)絡(luò)和深度遞歸神經(jīng)網(wǎng)絡(luò)(DRNN)。理論上,單隱層Elman神經(jīng)網(wǎng)絡(luò)已能映射或逼近任何有理函數(shù),但對(duì)于復(fù)雜問題,單隱層Elman神經(jīng)網(wǎng)絡(luò)存在預(yù)測(cè)精度低和泛化能力弱等問題。同單隱層Elman神經(jīng)網(wǎng)絡(luò)相比,DRNN通過承接層存儲(chǔ)前一時(shí)刻隱含層神經(jīng)元的輸出值并將其返回給第1隱含層的輸入,使網(wǎng)絡(luò)最終的輸出不僅與當(dāng)前時(shí)刻信息有關(guān),而且與每一時(shí)刻的歷史信息也密切相關(guān),具有較強(qiáng)的動(dòng)態(tài)信息處理能力,不但預(yù)測(cè)精度高、泛化能力強(qiáng),而且易避免網(wǎng)絡(luò)訓(xùn)練陷入局部最優(yōu)[19]。
設(shè)DRNN輸入向量為X=[x1,x2,…,xm],有n個(gè)隱含層,每層節(jié)點(diǎn)數(shù)分別用l1、l2、…、ln表示,輸出層節(jié)點(diǎn)個(gè)數(shù)為1,則DRNN數(shù)學(xué)描述如下[19]。
DRNN第1隱含層在t時(shí)刻的輸出向量可表示為:
R1(t)=f{W1[X(t),z(t)]+B1}。
(8)
式中:R1(t)為第1隱含層輸出;W1、B1分別為輸入層與第1隱含層之間的權(quán)、閾值矩陣;f為DRNN隱含層傳遞函數(shù);z(t)為反饋狀態(tài)向量。
DRNN在t時(shí)刻除第1層外的其他隱含層的各層輸出可描述為:
RL(t)=f{WLRL-1(t)+BL}。
(9)
式中:RL(t)為第L隱含層的輸出向量;WL、BL分別為第L-1隱含層與第L隱含層之間的權(quán)、閾值矩陣。
DRNN在t時(shí)刻輸出層的輸出y(t)可描述為:
y(t)=g[Wn+1Rn(t)+Bn+1]。
(10)
式中:Wn+1、Bn+1分別為第n+1隱含層與輸出層之間的權(quán)、閾值矩陣;g為DRNN輸出層傳遞函數(shù)。
TSA優(yōu)化DRNN權(quán)值閾值的基本思想為:將DRNN權(quán)值和閾值映射為TSA中各被囊個(gè)體空間位置矩陣,設(shè)計(jì)TSA-DRNN模型適應(yīng)度函數(shù),將TSA-DRNN模型最優(yōu)問題轉(zhuǎn)化為求解適應(yīng)度函數(shù)全局最小時(shí)對(duì)應(yīng)的被囊個(gè)體,該被囊個(gè)體位置即為全局最優(yōu)解,根據(jù)被囊個(gè)體空間位置與DRNN權(quán)值、閾值映射關(guān)系,即可得到DRNN最優(yōu)權(quán)值、閾值[21]。具體實(shí)現(xiàn)步驟如下:
步驟1采用PCA對(duì)實(shí)例數(shù)據(jù)進(jìn)行降維,劃分訓(xùn)練、預(yù)測(cè)樣本。確定DRNN結(jié)構(gòu),并構(gòu)建DRNN2、DRNN3、DRNN4模型,利用TSA優(yōu)化DRNN2、DRNN3、DRNN4權(quán)值和閾值,建立TSA-DRNN2、TSA-DRNN3、TSA-DRNN4徑流預(yù)測(cè)模型,利用訓(xùn)練樣本數(shù)據(jù)對(duì)TSA-DRNN2、TSA-DRNN3、TSA-DRNN4模型進(jìn)行訓(xùn)練。
PCA降維基本思想是用一組維數(shù)較少且不相關(guān)的綜合變量F1、F2、…、Fm來代替原來維數(shù)較多且有一定相關(guān)性的變量X1、X2、…、Xn(m≤n)[22-23],見下式:
(11)
步驟2選用訓(xùn)練樣本均方誤差作為優(yōu)化目標(biāo)函數(shù),描述如下:
(12)
步驟5利用公式(7)更新被囊位置。
姑老河站位于南汀河干流下游,系南汀河干流控制站,控制徑流面積4 186 km2,為國(guó)家重要水文站。南汀河發(fā)源于臨滄市臨翔區(qū)博尚鎮(zhèn)永泉村,國(guó)境內(nèi)徑流面積8 097 km2,河長(zhǎng)264 km,落差2 090 m,平均比降4‰,流域內(nèi)河網(wǎng)水系發(fā)育較差,河網(wǎng)密度0.4,流域形狀系數(shù)0.16,主要支流有南捧河、西河、盤河、河底崗河等。本文以云南省姑老河站年徑流為預(yù)測(cè)對(duì)象,采用SPSS數(shù)據(jù)分析軟件計(jì)算姑老河站1月至10月的月徑流與相應(yīng)年份年徑流的相關(guān)系數(shù)。經(jīng)計(jì)算,相關(guān)系數(shù)為0.266~0.780,二者相關(guān)性并不十分顯著。
依據(jù)式(11)對(duì)1月至10月的月徑流進(jìn)行降維,經(jīng)降維,發(fā)現(xiàn)前6個(gè)特征值累計(jì)貢獻(xiàn)率達(dá)89.409%,大于85%,可認(rèn)為此6個(gè)特征變量代表了原月徑流大部分信息,故選取前6個(gè)變量代替原10個(gè)變量進(jìn)行年徑流預(yù)測(cè)。分別選取1960—2003年、2004—2013年實(shí)測(cè)數(shù)據(jù)作為訓(xùn)練樣本和預(yù)測(cè)樣本。降維后的數(shù)據(jù)統(tǒng)計(jì)結(jié)果見表2(表中Q為實(shí)測(cè)徑流量),原始數(shù)據(jù)限于篇幅從略。
表2 實(shí)例徑流降維后數(shù)據(jù)統(tǒng)計(jì)結(jié)果
為客觀、公平地比較各模型的預(yù)測(cè)效果,TSA-DRNN2等模型的參數(shù)設(shè)置見表3。各模型均采用[-1,1]對(duì)數(shù)據(jù)序列進(jìn)行歸一化處理。
表3 各模型參數(shù)設(shè)置統(tǒng)計(jì)表
利用所構(gòu)建的TSA-DRNN2、TSA-DRNN3、TSA-DRNN4、TSA-Elman、Elman、DRNN2、DRNN3、DRNN4、TSA-SVM模型對(duì)實(shí)例年徑流進(jìn)行訓(xùn)練及預(yù)測(cè),利用平均相對(duì)誤差MAPE(%)、平均絕對(duì)誤差MAE(m3/s)對(duì)各模型預(yù)測(cè)性能進(jìn)行評(píng)價(jià)。擬合、預(yù)測(cè)結(jié)果見表4,擬合-預(yù)測(cè)誤差如圖1、圖2所示。
表4 不同模型年徑流測(cè)結(jié)果及對(duì)比
(13)
依據(jù)表4及圖1、圖2可以得出:
1)TSA-DRNN2、TSA-DRNN3、TSA-DRNN4模型對(duì)實(shí)例年徑流預(yù)測(cè)的MAPE分別為3.63%、2.81%、2.50%,MAE分別為2.57、2.52、2.18 m3/s,預(yù)測(cè)精度優(yōu)于TSA-Elman、Elman、DRNN2、DRNN3、DRNN4、TSA-SVM模型的,表明TSA能有效優(yōu)化DRNN權(quán)值和閾值,具有更高的預(yù)測(cè)精度和更強(qiáng)的泛化能力,尤以TSA-DRNN4模型的擬合、預(yù)測(cè)效果最好。因此,將TSA-DRNN模型用于徑流預(yù)測(cè)是可行的。
2)從具有相同網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù)設(shè)置的TSA-DRNN2與DRNN2模型、TSA-DRNN3與DRNN3模型、TSA-DRNN4與DRNN4模型的預(yù)測(cè)結(jié)果對(duì)比來看,TSA-DRNN2、TSA-DRNN3、TSA-DRNN4模型預(yù)測(cè)的相對(duì)誤差較相對(duì)應(yīng)的DRNN2、DRNN3、DRNN4模型的分別降低了47.8%、59.0%、43.7%,絕對(duì)誤差較相對(duì)應(yīng)的DRNN2、DRNN3、DRNN4模型的分別降低了57.0%、55.6%、39.8%。這表明TSA能有效優(yōu)化DRNN權(quán)值和閾值,大大提高DRNN模型預(yù)測(cè)精度,而且隨著隱含層數(shù)的增加,預(yù)測(cè)精度呈提高趨勢(shì)。TSA-DRNN模型用于徑流預(yù)測(cè)是可靠的。
3)從圖1、圖2可以明顯看出,TSA-DRNN模型具有較好的擬合、預(yù)測(cè)效果,其預(yù)測(cè)的相對(duì)誤差、絕對(duì)誤差分別在-10.1%~7.75%、-6.84~7.33 m3/s范圍內(nèi)波動(dòng),與其余6種預(yù)測(cè)模型相比,其穩(wěn)定性和預(yù)測(cè)精度均較高。
圖1 擬合-預(yù)測(cè)相對(duì)誤差圖
圖2 擬合-預(yù)測(cè)絕對(duì)誤差圖
4)對(duì)于該實(shí)例,TSA-DRNN模型的預(yù)測(cè)效果優(yōu)于TSA-Elman、DRNN4、DRNN2、DRNN3、TSA-SVM模型,遠(yuǎn)優(yōu)于Elman模型。
為解決DRNN權(quán)值和閾值優(yōu)化問題,有效提高DRNN預(yù)測(cè)精度,本文提出了TSA與DRNN相融合的TSA-DRNN徑流預(yù)測(cè)模型,利用云南省姑老河站年徑流預(yù)測(cè)實(shí)例對(duì)TSA-DRNN2(雙隱含層)、TSA-DRNN3(三隱含層)、TSA-DRNN4(四隱含層)模型進(jìn)行檢驗(yàn),并構(gòu)建TSA-Elman、Elman、DRNN2、DRNN3、DRNN4、TSA-SVM模型作對(duì)比,得出以下結(jié)論:
1)通過4個(gè)標(biāo)準(zhǔn)測(cè)試函數(shù)對(duì)被囊群算法(TSA)進(jìn)行仿真驗(yàn)證,并與粒子群優(yōu)化(PSO)算法的仿真結(jié)果進(jìn)行比較,證明了TSA在不同維度條件下具有較好的尋優(yōu)精度和全局搜索能力,將TSA用于DRNN權(quán)值、閾值尋優(yōu)是可靠的。
2)TSA-DRNN2、TSA-DRNN3、TSA-DRNN4模型對(duì)實(shí)例年徑流的預(yù)測(cè)精度優(yōu)于TSA-Elman等其他6種模型,具有更好的預(yù)測(cè)精度和更強(qiáng)的泛化能力,表明TSA對(duì)DRNN權(quán)值和閾值具有較好的優(yōu)化效果,將TSA-DRNN模型用于徑流預(yù)測(cè)是可行的,尤以TSA-DRNN4模型的擬合、預(yù)測(cè)精度最高。
3)從具有相同結(jié)構(gòu)和參數(shù)設(shè)置的TSA-DRNN2與DRNN2模型、TSA-DRNN3與DRNN3模型、TSA-DRNN4與DRNN4模型的預(yù)測(cè)結(jié)果對(duì)比來看,通過TSA優(yōu)化DRNN權(quán)值和閾值,有效改善了DRNN模型的預(yù)測(cè)效果,隨著隱含層數(shù)的增加,預(yù)測(cè)精度呈提高趨勢(shì)。模型及優(yōu)化方法可為相關(guān)預(yù)測(cè)研究和DRNN權(quán)、閾值優(yōu)化提供借鑒。