胡順強(qiáng),崔東文
(1.云南省文山州水利電力勘察設(shè)計(jì)院,云南 文山 663000;2.云南省文山州水務(wù)局,云南 文山 663000)
提高水文預(yù)測(cè)預(yù)報(bào)精度目前仍是一項(xiàng)具有挑戰(zhàn)性的工作。近年來(lái),BP等[1-5]人工神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)[6,7]、隨機(jī)森林[8,9]、極限學(xué)習(xí)機(jī)[10]、自適應(yīng)神經(jīng)模糊推理系統(tǒng)[11]等有別于傳統(tǒng)回歸分析的模型及方法已在徑流預(yù)測(cè)研究中得到應(yīng)用。相較于其他方法,BP神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)(Support Vector Machines,SVM)在徑流預(yù)測(cè)研究中應(yīng)用最為廣泛。在實(shí)際應(yīng)用中,BP神經(jīng)網(wǎng)絡(luò)存在收斂速度慢、易陷入局部最優(yōu)等不足,同時(shí)面臨權(quán)閾值參數(shù)、網(wǎng)絡(luò)結(jié)構(gòu)、隱含層傳遞函數(shù)、輸出層傳遞函數(shù)、訓(xùn)練函數(shù)等選取的困難;SVM存在如何選取合適的懲罰因子、核函數(shù)參數(shù)、不敏感系數(shù)和交叉驗(yàn)證折數(shù)來(lái)防止模型過(guò)擬合導(dǎo)致預(yù)測(cè)精度不高等不足。長(zhǎng)短期記憶(Long-Short Term Memory,LSTM)神經(jīng)網(wǎng)絡(luò)屬循環(huán)神經(jīng)網(wǎng)絡(luò) (Recurrent Neural Network,RNN)的改進(jìn)網(wǎng)絡(luò),其有效克服了RNN結(jié)構(gòu)中存在的梯度消失等缺點(diǎn),適合處理和預(yù)測(cè)時(shí)間序列中間隔和延遲相對(duì)較長(zhǎng)等問(wèn)題,目前已在問(wèn)題分類(lèi)[12]、地下水水位預(yù)測(cè)[13]、網(wǎng)絡(luò)流量預(yù)測(cè)[14]、股票價(jià)格預(yù)測(cè)[15]等領(lǐng)域得到應(yīng)用,但鮮見(jiàn)于徑流預(yù)測(cè)研究。在實(shí)際應(yīng)用中,LSTM存在隱含層神經(jīng)元數(shù)、訓(xùn)練次數(shù)、學(xué)習(xí)速率等關(guān)鍵參數(shù)難以確定的困難。目前除遺傳算法(GA)[16]、粒子群優(yōu)化(PSO)算法[17,18]嘗試用于LSTM關(guān)鍵參數(shù)尋優(yōu)外,普遍采用試湊的方法確定LSTM隱含層神經(jīng)元數(shù)等關(guān)鍵參數(shù),不但費(fèi)時(shí)費(fèi)力,且精度不高。
為拓展LSTM應(yīng)用領(lǐng)域和提高徑流預(yù)測(cè)精度,本文內(nèi)容安排如下:①介紹海洋捕食者算法(Marine Predators Algorithm,MPA),在不同維度條件下選取6個(gè)仿真函數(shù)對(duì)MPA、PSO算法進(jìn)行測(cè)試;②通過(guò)主分量分析(Principal Component Analysis,PCA)對(duì)原始徑流序列進(jìn)行降維和不降維處理,采用MPA優(yōu)化LSTM隱含層神經(jīng)元數(shù)、訓(xùn)練次數(shù)、學(xué)習(xí)速率和梯度閾值,建立PCA-MPA-LSTM、MPA-LSTM徑流預(yù)測(cè)模型,并構(gòu)建PCA-LSTM、LSTM、PCA-MPA-支持向量機(jī)(Support Vector Machines,SVM)、MPA-SVM、PCA-MPA-BP、MPA-BP作對(duì)比模型;③基于云南省落卻站年徑流預(yù)測(cè)實(shí)例對(duì)所建立的8種模型對(duì)進(jìn)行預(yù)測(cè)及對(duì)比分析,進(jìn)一步驗(yàn)證MPA與LSTM整合模型用于年徑流預(yù)測(cè)的可行性。
1.1.1 MPA描述
海洋捕食者算法(Marine Predators Algorithm,MPA)是Afshin Faramarzi等人于2020年提出的一種新型元啟發(fā)式優(yōu)化算法,其靈感來(lái)源于海洋適者生存理論,即海洋捕食者通過(guò)在Lévy游走或布朗游走之間選擇最佳覓食策略。參考文獻(xiàn)[11,19],MPA優(yōu)化過(guò)程數(shù)學(xué)描述如下:
(1)初始化階段。與大多數(shù)元啟發(fā)式算法類(lèi)似,MPA隨機(jī)在搜索空間范圍內(nèi)初始化獵物位置來(lái)啟動(dòng)優(yōu)化過(guò)程。數(shù)學(xué)描述如下:
X0=Xmin+rand(Xmax-Xmin)
(1)
式中:Xmax、Xmin為搜索空間范圍;rand( )為[0,1]內(nèi)的隨機(jī)數(shù)。
(2)MPA優(yōu)化階段。在迭代初期,當(dāng)捕食者速度比獵物速度快時(shí),基于勘探策略的MPA優(yōu)化過(guò)程數(shù)學(xué)描述如下:
(2)
式中:stepsice為移動(dòng)步長(zhǎng);RB為呈正態(tài)分布的布朗游走隨機(jī)向量;Elitei為由頂級(jí)捕食者構(gòu)造的精英矩陣;Preyi為與精英矩陣具有相同維數(shù)的獵物矩陣;?為逐項(xiàng)乘法運(yùn)算符;P等于0.5;R為[0,1]內(nèi)均勻隨機(jī)向量;n為種群規(guī)模;Iter、Max_Iter分別為當(dāng)前和最大迭代次數(shù)。
在迭代中期,當(dāng)捕食者與獵物速度相同時(shí),獵物基于Lévy游走策略負(fù)責(zé)開(kāi)發(fā);捕食者基于布朗游走策略負(fù)責(zé)勘探,并逐漸由勘探策略轉(zhuǎn)向開(kāi)發(fā)策略。開(kāi)發(fā)和勘探的數(shù)學(xué)描述如下:
(3)
(4)
式中:RL為呈Lévy分布的隨機(jī)向量;CF=(1-Iter/Max_Iter)(2·Iter/Max_Iter),為控制捕食者移動(dòng)步長(zhǎng)的自適應(yīng)參數(shù);其他參數(shù)意義同上。
在迭代終期,當(dāng)捕食者速度比獵物速度慢時(shí),捕食者基于Lévy游走采用開(kāi)發(fā)策略。其數(shù)學(xué)描述如下:
(5)
式中:其他參數(shù)意義同上。
(3)FADs效應(yīng)或渦流。魚(yú)類(lèi)聚集裝置(FADs)或渦流效應(yīng)通常改變海洋捕食者覓食行為,這一策略能使MPA在尋優(yōu)過(guò)程中克服早熟收斂問(wèn)題,逃離局部極值。其數(shù)學(xué)描述如下:
Preyi=
(6)
式中:FADs為影響概率,取0.2;U為二進(jìn)制向量;r為[0,1]內(nèi)隨機(jī)數(shù);r1、r2分別為獵物矩陣的隨機(jī)索引。
1.1.2 MPA仿真驗(yàn)證
選取文獻(xiàn)[20]中Sphere等 6個(gè)典型測(cè)試函數(shù)在10維、30維、50維、100維和500維條件下對(duì)MPA、PSO進(jìn)行仿真驗(yàn)證。其中,單峰函數(shù)主要測(cè)試MPA、PSO的尋優(yōu)精度,多峰函數(shù)主要測(cè)試MPA、PSO的全局搜索能力,并利用20次尋優(yōu)平均值對(duì)MPA、PSO尋優(yōu)性能進(jìn)行評(píng)估,見(jiàn)表1。算法參數(shù)設(shè)置如下:MPA、PSO算法最大迭代次數(shù)Max_iter=500,種群規(guī)模n=100。其中,MPA算法FADs效應(yīng)系數(shù)=0.2,常量P=0.5;PSO算法慣性權(quán)重wmax、wmin分別取值0.9和0.6。
從表1可以得出:對(duì)于單峰函數(shù),MPA在不同維度條件下尋優(yōu)精度較PSO算法提高6個(gè)數(shù)量級(jí)以上;對(duì)于多峰函數(shù)Griewank、Rastrigin,MPA在10維、30維、50維、100維和500維條件下20次尋優(yōu)均獲得了理論最優(yōu)值0;對(duì)于旋轉(zhuǎn)不可分函數(shù)Ackley,MPA在不同維度條件下尋優(yōu)精度較PSO算法提高10個(gè)數(shù)量級(jí)以上。
表1 函數(shù)優(yōu)化對(duì)比結(jié)果
可見(jiàn),對(duì)于上述6個(gè)仿真函數(shù),PO在不同維度條件下尋優(yōu)效果均優(yōu)于PSO算法,表現(xiàn)出較好的優(yōu)化效果和極值搜索能力,將其用于LSTM隱含層神經(jīng)元數(shù)、訓(xùn)練次數(shù)、學(xué)習(xí)速率和梯度閾值的尋優(yōu)是可靠的。
長(zhǎng)短期記憶(LSTM)模型是一種特殊的RNNs,由Sepp Hochreiter和Jurgen Schmidhuber于1997年提出,該模型中,傳統(tǒng)網(wǎng)絡(luò)的神經(jīng)元被存儲(chǔ)單元替代,每個(gè)存儲(chǔ)單元由輸入門(mén)(input gate)、遺忘門(mén)、輸出門(mén)(output gate)組成[13,14,17]。
預(yù)測(cè)過(guò)程中,LSTM模型通過(guò)輸入門(mén)、遺忘門(mén)實(shí)現(xiàn)單元狀態(tài)c狀態(tài)的控制,通過(guò)輸出門(mén)來(lái)控制單元狀態(tài)ct有多少輸出到LSTM的當(dāng)前輸出值ht。設(shè)輸入序列為(x1,x2,…,xT),隱含層狀態(tài)為(h1,h2,…,hT),則在t時(shí)刻有:
it=σ(Whiht-1+Wxixt+bi)
(7)
ft=σ(Whfht-1+Whfxt+bf)
(8)
ct=ft·ct-1+it·g(Whcht-1+Wxcxt+bc)
(9)
ot=σ(Whoht-1+Woxxt+Wcoct+bo)
(10)
ht=o·g(ct)
(11)
式中:it、ft、ot分別為輸入門(mén)、遺忘門(mén)和輸出門(mén);ct為cell單元;Wh為遞歸連接權(quán)重;Wx為輸入層到隱含層權(quán)重;bi、bf、bc、bo分別為各函數(shù)的閾值;σ(·)、g(·)分別為sigmoid函數(shù)和tanh函數(shù);·為向量?jī)?nèi)積。
LSTM通過(guò)線性回歸層達(dá)到預(yù)測(cè)的目的,回歸層數(shù)學(xué)描述為:
yt=Wyoht+by
(12)
式中:yt為預(yù)測(cè)結(jié)果輸出;bo為線性回歸層閾值。
PCA-MPA-LSTM、MPA-LSTM模型建立、預(yù)測(cè)步驟如下:
(1)通過(guò)主分量分析(PCA)法對(duì)原始徑流序列進(jìn)行降維和不降維處理,劃分訓(xùn)練、預(yù)測(cè)樣本,采用MPA尋優(yōu)LSTM隱含層神經(jīng)元數(shù)、訓(xùn)練次數(shù)、學(xué)習(xí)速率和梯度閾值,建立PCA-MPA-LSTM、MPA-LSTM模型,利用訓(xùn)練樣本對(duì)PCA-MPA-LSTM、MPA-LSTM模型進(jìn)行訓(xùn)練。
PCA降維基本思想是用一組維數(shù)較少且不相關(guān)的綜合變量F1,F2,…,Fm來(lái)代替原來(lái)維數(shù)較多且有一定相關(guān)性的變量X1,X2,…,Xn(m≤n)[19,20],見(jiàn)式(13):
(13)
(2)選用訓(xùn)練樣本均方誤差作為優(yōu)化目標(biāo)函數(shù),描述如下:
(14)
(3)設(shè)置MPA算法最大迭代次數(shù)Max_iter、種群規(guī)模n、FADs效應(yīng)系數(shù)、常量P,基于式(1)初始化獵物位置,令當(dāng)前迭代次數(shù)Iter=0,計(jì)算適應(yīng)度并構(gòu)建精英矩陣。
(4)基于式(2)~(5),分別在迭代初期、迭代中期、迭代終期更新獵物;完成記憶存儲(chǔ)和精英更新;基于FADs效應(yīng)或渦流效應(yīng),利用式(6)更新獵物。
(5)評(píng)估并更新精英矩陣。判斷Iter算法是否等于Max_iter。若是,輸出最佳精英矩陣Elitebest。
(6)輸出Elitebest,即LSTM最佳關(guān)鍵參數(shù)。將參數(shù)Elitebest代入模型進(jìn)行預(yù)測(cè)。
(1)數(shù)據(jù)來(lái)源。落卻站位于云南省馬關(guān)縣馬白鎮(zhèn),系紅河流域?yàn)o江水系落卻河干流控制站,控制徑流面積203 km2,為國(guó)家重要水文站。落卻河又名南山河,發(fā)源于馬關(guān)縣木廠鎮(zhèn)新發(fā)寨,于馬關(guān)縣馬白鎮(zhèn)桐子園匯入響水河,河長(zhǎng)32 km,落差616 m,平均坡降6.4‰,流域面積234 km2。本文以云南省落卻站實(shí)測(cè)水文資料為研究對(duì)象,采用SPSS軟件計(jì)算姑落卻站1962-2012年1-10月月徑流與相應(yīng)年份年徑流的相關(guān)系數(shù),相關(guān)系數(shù)在0.324~0.730之間,相關(guān)性并不十分顯著。對(duì)于未經(jīng)PCA降維處理的MPA-LSTM、LSTM、MPA-SVM、MPA-BP模型,選取1-10月月平均流量作為年徑流預(yù)報(bào)因子,1962-2002年實(shí)測(cè)數(shù)據(jù)作為訓(xùn)練樣本,2003-2012年作為預(yù)測(cè)樣本。對(duì)于經(jīng)PCA降維處理的PCA-MPA-LSTM、PCA-LSTM、PCA-MPA-SVM、PCA-MPA-BP模型,通過(guò)PCA對(duì)實(shí)例1-10月月徑流數(shù)據(jù)進(jìn)行主成分降維處理。經(jīng)處理,前6個(gè)特征值累計(jì)貢獻(xiàn)率為88.438%,大于85%,故選取前6個(gè)變量代替原10個(gè)變量進(jìn)行年徑流預(yù)測(cè)。原始數(shù)據(jù)和降維數(shù)據(jù)統(tǒng)計(jì)限于篇幅從略。
(2)參數(shù)設(shè)置。設(shè)置MPA算法Max_iter=50,n=50,F(xiàn)ADs效應(yīng)系數(shù)=0.2,P=0.5。LSTM采用Adam 算法訓(xùn)練內(nèi)部參數(shù),隱含層神經(jīng)元數(shù)H、訓(xùn)練次數(shù)E、學(xué)習(xí)速率η、梯度閾值θ取值范圍分別為[50,200],[50,150],[0.001,0.05]、[1,20];SVM核函數(shù)選擇RBF,懲罰因子C、核函數(shù)參數(shù)g搜索空間均設(shè)置為[10-2,103],不敏感系數(shù)ε搜索空間均設(shè)置為[10-3,10-1]。MPA-BP、PCA-MPA-BP網(wǎng)絡(luò)結(jié)構(gòu)設(shè)置分別設(shè)置為10-13-1、10-19-1,隱含層、輸出層傳遞函數(shù)和訓(xùn)練函數(shù)分別設(shè)置logsig、purelin和traingdx,搜索空間∈[-1,1]。LSTM模型對(duì)原始數(shù)據(jù)無(wú)需歸一化處理;SVM、BP模型采用[-1,1]對(duì)原始數(shù)據(jù)進(jìn)行歸一化處理。
(3)預(yù)測(cè)。利用所構(gòu)建模型對(duì)實(shí)例年徑流進(jìn)行預(yù)測(cè),基于平均相對(duì)誤差MAPE、圴方根誤差RMSE、平均絕對(duì)誤差MAE對(duì)各模型預(yù)測(cè)性能進(jìn)行評(píng)價(jià)。預(yù)測(cè)結(jié)果見(jiàn)表2,效果圖見(jiàn)圖1。
表2 不同模型年徑流測(cè)結(jié)果及其對(duì)比
圖1 年徑流擬合-預(yù)測(cè)相對(duì)誤差圖
依據(jù)表2及圖1可以得出以下結(jié)論。
(1)PCA-MPA-LSTM、MPA-LSTM模型對(duì)實(shí)例預(yù)測(cè)的平均相對(duì)誤差MAPE分別為1.94%、1.96%,圴方根誤差RMSE分別為0.105、0.103 m3/s,平均絕對(duì)誤差MAE分別為0.086、0.085 m3/s,預(yù)測(cè)精度均優(yōu)于其他模型,具有更高的預(yù)測(cè)精度和更強(qiáng)的泛化能力,尤以PCA-MPA-LSTM模型的擬合效果、預(yù)測(cè)精度和泛化能力最好,表明MPA能有效尋優(yōu)LSTM隱含層神經(jīng)元數(shù)、訓(xùn)練次數(shù)、學(xué)習(xí)速率和梯度閾值,PCA-MPA-LSTM、MPA-LSTM模型用于徑流預(yù)測(cè)是可行和可靠的。
(2)PCA-MPA-LSTM模型較PCA-LSTM 模型的MAPE、RMSE、MAE分別減少34.2%、35.2%、35.1%,MPA-LSTM模型較LSTM模型的MAPE、RMSE、MAE分別減少40.8%、35.2%、43.0%,證明利用MPA優(yōu)化LSTM 關(guān)鍵參數(shù)可以有效提高LSTM模型的預(yù)測(cè)精度和泛化能力。
(3)采用MPA優(yōu)化LSTM、SVM、BP模型相關(guān)參數(shù),對(duì)于同一類(lèi)模型,如PCA-MPA-LSTM與MPA-LSTM模型、PCA-MPA-SVM與MPA-SVM模型、PCA-MPA-BP與MPA-BP模型,經(jīng)PCA數(shù)據(jù)降維處理后,其模型預(yù)測(cè)精度要優(yōu)于未經(jīng)降維處理的模型,說(shuō)明數(shù)據(jù)降維處理可使數(shù)據(jù)樣本簡(jiǎn)潔且更具代表性,能有效提高模型的預(yù)測(cè)精度。
通過(guò)介紹海洋捕食者算法(MPA),研究提出MPA與LSTM相融合的徑流預(yù)測(cè)模型,基于降維和不降維處理原始數(shù)據(jù),分別構(gòu)建PCA-MPA-LSTM、MPA-LSTM模型,通過(guò)云南省落卻站年徑流預(yù)測(cè)實(shí)例對(duì)模型進(jìn)行驗(yàn)證,并與PCA-LSTM等6種模型的預(yù)測(cè)結(jié)果進(jìn)行比較,得到以下結(jié)論。
(1)利用6個(gè)仿真測(cè)試函數(shù)對(duì)MPA、PSO算法進(jìn)行仿真測(cè)試,證明了MPA在不同維度條件下尋優(yōu)精度和全局搜索能力優(yōu)于PSO算法,將MPA用于LSTM神經(jīng)網(wǎng)絡(luò)關(guān)鍵參數(shù)尋優(yōu)是可行和可靠的。
(2)利用MPA優(yōu)化LSTM 隱含層神經(jīng)元數(shù)量等關(guān)鍵參數(shù),克服了人工試算確定LSTM 關(guān)鍵參數(shù)的不足,使LSTM神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)精度得到較大提高。
(3)通過(guò)云南省落卻站年徑流預(yù)測(cè)實(shí)例驗(yàn)證了PCA-MPA-LSTM、MPA-LSTM模型具有更高的預(yù)測(cè)精度和更強(qiáng)的泛化能力,將PCA-MPA-LSTM、MPA-LSTM模型用于徑流預(yù)測(cè)是可行的。尤以PCA-MPA-LSTM模型的擬合、預(yù)測(cè)效果和泛化能力最好。
(4)采用MPA優(yōu)化LSTM神經(jīng)網(wǎng)絡(luò)關(guān)鍵參數(shù),以及采用數(shù)據(jù)降維處理原始數(shù)據(jù)能有效提高LSTM神經(jīng)網(wǎng)絡(luò)的泛化能力和預(yù)測(cè)精度。
□