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