田景環,李叢鑫,李 昂
(華北水利水電大學水利學院,河南 鄭州 450046)
準確的徑流預測可為防洪減災、水資源的高效利用提供重要理論基礎[1]。受諸多自然和人類活動因素的影響,徑流表現出復雜的非線性過程,準確預測未來徑流的趨勢成為水資源領域的難點[2]。近年來,信息技術的飛速發展,極大地豐富了徑流預測的研究方法[3]。以人工神經網絡模型(ANN)[4-5]、支持向量機(SVM)[6-7]為代表的非線性方法在徑流預測中取得了一定成效。水文時間序列普遍是非線性的小樣本數據,相比于神經網絡易陷入局部最優、過學習等問題[7],Vapnik[8]提出支持向量機(SVM),將學習問題轉化為二次規劃問題,得到全局最優解。盧敏等[9]、吳學文等[10]基于SVM建立徑流預測模型,證明了SVM在徑流預測表現中的優越性。最小二乘支持向量機(LSSVM)建立在SVM基礎上,基于最小二乘思想構造目標函數,減少模型參數的同時[11],利用解方程組的方法縮短模型學習時間。LSSVM可以以任意精度逼近非線性系統,是解決非線性預測問題的有效方法。
LSSVM模型中的懲罰系數及核參數直接影響模型的訓練結果和適應能力[12],以往對參數的選擇大都人為選擇確定,導致參數選取的不恰當,從而影響預測精度。隨著人工智能的興起,不斷有學者采用智能算法對LSSVM模型的參數進行優化[13-14]。李文莉等[15]針對模型參數選擇費時且效果差等問題,利用具有全局搜索能力的粒子群算法(PSO)參數尋優,有效提高徑流的預測效率和預測精度。但此算法易陷入局部最優,搜索到局部極小值且尋優能力弱。為彌補現有算法的不足,利用LI等[16]提出的隨機優化算法——黏菌算法(SMA),來確保搜索效率和準確性。鑒于黏菌算法收斂速度快、搜索能力強等特點,本文利用SMA對LSSVM模型的參數進行自動搜索獲得最優解,建立SMA-LSSVM徑流中長期預測模型,并選擇漫灣水電站和鶯落峽水文站為研究對象進行實例驗證,結果表明SMA-LSSVM具有較高的預測精度,對徑流預測是可行有效的。
1.1.1SMA描述
黏菌算法(SMA)[16]是一種基于黏菌自然振動模式的元啟發式智能算法。此算法通過自適應權重使SMA在保持快速收斂的同時避免陷入局部最優,同時振動參數允許以特定的方式收縮,確保了早期的搜索效率和準確性。
黏菌在覓食過程中,根據空氣中的氣味濃度接近食物,食物濃度越高,生物振蕩越強,細胞質流動越快,黏菌靜脈管越粗。通過函數表達式來模擬其逼近行為,位置更新用式(1)表示:

(1)
p=tanh|s(i)-DF|,i=1,2,…,k
(2)
式中 ub、lb——搜索范圍的上、下界;rand——在[0,1]內的隨機數;參數vb=[-a,a],參數vc從1到0線性減小;t——當前迭代;xb——當前發現食物氣味濃度最高的單個位置;x——黏菌的位置;xm、xn——隨機選取的2個黏菌位置;w——黏菌的重量;s(i)——x的適應度;DF——迭代中所獲得的最佳適應度。
其中參數a的函數表達式為:
(3)
式中 maxt——最大迭代次數。
而w的公式見式(4):

(4)
smellindex=sort(s)
(5)
式中r——[0,1]內的隨機數;bF——在當前迭代過程中獲得的最佳適應度;wF——在當前迭代過程中獲得的最差適應度;smellindex——適應度序列。
1.1.2SMA仿真驗證
為驗證SMA在不同維度下的尋優能力,參考文獻[14],選取Sphere、Schwefel、Rastrigin、Ackley、Griewank 5個測試函數在10、30、50、100、500維條件下對SMA進行仿真驗證,并與PSO算法的仿真結果進行比較。其中單峰函數(Sphere、Schwefel)主要考察SMA、PSO的尋優速度和精度,多峰函數(Rastrigin、Ackley、Griewank)主要測試SMA、PSO的全局搜索能力。仿真測試基于Matlab 2019b對各測試函數進行20次尋優,取其平均值對算法的尋優性能進行評估,見表1。測試參數設置如下:SMA最大迭代次數為100,種群規模為50;PSO最大迭代次數為100,種群規模為50,學習因子均取2.0。

表1 函數優化對比結果
從表1可看出:對于單峰函數,SMA在不同維度條件下較PSO算法尋優精度更優;對于多峰函數Rastrigin、Griewank,SMA在不同維度條件下的20次尋優均獲得了理論最優值0,說明SMA的尋優精度遠優于PSO算法;對于旋轉不可分函數Ackley,SMA在10、30、50、100、500維條件下趨于穩定,相比PSO算法提高了16個數量級的尋優精度。由此可見,SMA在不同維度條件下的尋優結果均優于PSO算法,表現出較好的優化效果和極值搜索能力,將其應用于LSSVM懲罰參數和核參數的尋優是可靠的。
最小二乘支持向量機(Least Squares Support Vector Machine,LSSVM)由Suykens等[17]提出,是在支持向量機(SVM)上的一種改進,不僅降低計算難度,還有效提高了訓練速度和精度。
根據風險結構最小化原則(SMR,Structural Risk Minimization),LSSVM的優化問題轉化為帶有等式約束條件的目標函數:
(6)
式中ωT——權值系數向量;γ——懲罰系數;ei——誤差向量。
根據Mercer條件定義核函數:
K(mi,mj)=φ(mi)φ(mj)
(7)
式中φ(m)——核空間的非線性映射函數。
最終得到LSSVM模型的擬合函數:
(8)
式中 αi——拉格朗日乘子,≥0;b——偏差向量。
LSSVM預測模型中的懲罰參數γ和核參數σ對預測精度影響較大,選擇合適的參數對預測模型的性能起著至關重要的作用。本文根據 SMA 算法在不同搜索環境下的競爭性,對最小二乘支持向量機的 2 個關鍵參數進行尋優,以提高模型的預測精度。SMA-LSSVM 預測模型的建模步驟如下。
步驟一參數設置。SMA算法的主要參數:黏菌種群數量N,最大迭代次數M,黏菌個體空間維度dim,黏菌種群位置上界范圍ub和下界范圍lb。
步驟二種群初始化。初始化黏菌空間位置,將黏菌個體的位置信息依次賦給2個參數。
步驟三更新參數。根據式(4)計算黏菌種群適應度值,并進行排序,找出當前最佳解。
步驟四更新個體位置。根據式(2)計算黏菌個體適應度值,并利用式(1)更新最優個體位置。
步驟五輸出全局最優參數。根據對黏菌的所有適應度值進行排序,找出當前最優解,重復步驟二至四,當達到最大迭代次數時,終止尋優搜索,輸出全局最優參數,建立SMA-LSSVM模型。
圖1表示基于SMA-LSSVM的徑流中長期預測的流程。

圖1 基于SMA-LSSVM的徑流中長期預測流程
為檢驗中長期徑流預測結果,通過均方誤差(RMSE)和平均絕對百分比誤差(MAPE)2個指標來對比分析。
(9)
(10)

為驗證所提SMA-LSSVM模型的有效性和可靠性,以漫灣站和鶯落峽水文站的月徑流為研究對象,并分別采用80%的數據作為訓練樣本,20%的數據作為檢驗樣本進行驗證。
漫灣水電站位于中國云南省西部,距昆明450 km,是瀾滄江干流水電基地開發的第一座百萬千瓦級的水電站。漫灣水電站壩址處的控制流域面積為11.45萬km2,多年平均流量1 230 m3/s。選取漫灣站1953年1月至1994年12月的月徑流數據作為模型的訓練樣本,1995年1月至2004年12月的月徑流數據作為模型的檢驗樣本。
黑河是中國第二大內陸河,發源于青海省祁連縣,上游的鶯落峽作為祁連山口的控制峽口,其控制流域面積1.000 9萬km2。采用鶯落峽水文站1956—2009年[18]的數據進行分析,其中1956—1998年的月徑流數據用于訓練模型,1999—2009年的月徑流數據用于檢驗模型。
根據預測結果精度,采用試錯法確定模型的輸入。假設實測值Q=(Q1,Q2,…Qi,…Qn-1),Qi表示第i個時刻樣本點,在漫灣站實例中,采用前13個月的徑流數據作為模型輸入,預測第14個月的徑流量,樣本結構見式(11)。而在鶯落峽實例中,則采用前12個月的徑流數據作為模型的輸入,預測第13個月的徑流量,樣本結構見式(12)。

Q1Q2…Q13Q2Q3…Q14????Qn-13Qn-12…Qn-1Q14Q15?Qn
(11)

Q1Q2…Q12Q2Q3…Q13????Qn-12Qn-11…Qn-1Q13Q14?Qn
(12)
其中式(11)、(12)前一項表示模型輸入,后一項表示模型輸出。
在實際應用中,LSSVM模型的性能依賴于參數的選擇,要建立最優化的模型需進行參數尋優。SMA作為一種新的隨機優化算法為LSSVM的參數優化提供了新方法。由于徑向基函數(RBF)的參數和受限條件相對較少,本文選擇RBF作為核函數,提高訓練速度。為驗證SMA-LSSVM模型的預測性能和優勢,建立PSO-LSSVM模型進行對比,模型的建立均基于Matlab 2019b軟件下完成。
粒子群算法的參數設置為:種群規模N=50,學習因子c1=2,c2=2,最大迭代次數M=100。黏菌算法的參數設置為:種群數量N=50,最大迭代次數M=100。兩算法的懲罰參數和核參數尋優范圍均為[10-3,104]。尋優結果見表2。

表2 2種算法優化模型參數結果
通過表2對比分析,得出SMA優化LSSVM模型參數的結果均小于PSO優化參數的結果,并結合表1中2個算法對不同函數優化的結果,認為SMA算法各方面表現均優于PSO算法。
a)漫灣站。圖2a表示SMA-LSSVM預測模型應用到漫灣站訓練期的效果,圖2b則表示檢驗期的效果。其中黑色實線代表徑流實測值,藍色實線代表LSSVM模型的預測值,綠色實線代表PSO-LSSVM模型的預測值,紅色實線代表SMA-LSSVM模型的預測值。圖2可看出:無論是訓練期還是檢驗期,PSO-LSSVM模型和SMA-LSSVM模型相較于LSSVM模型的預測效果均更優,說明進行參數優化是非常必要的。圖2a中PSO-LSSVM模型在個別峰值處的訓練效果比SMA-LSSVM模型稍好,但總體來說,本文所提模型的預測效果更優。表3為3個模型應用到漫灣站的對比結果,更加直觀看出模型間的差異。
新型消能減震復合墻板試驗與模擬的骨架曲線、滯回曲線如圖4所示,其試驗平均值與模擬值得到的關鍵點數值對比見表2。由圖4和表2可知,不同位移下的試驗結果與有限元模擬分析結果相差很小,誤差基本在20%以內,有限元模型能較好的反映構件的性能,表明數值模型基本是正確合理的。

a)訓練期

表3 漫灣站的評價指標結果對比
表3通過RMSE、MAPE 2個評價指標分析得:SMA-LSSVM模型相比LSSVM模型和PSO-LSSVM模型的RMSE在訓練期分別減少30.52%和8.97%,在檢驗期分別減少29.26%和7.42%;MAPE在訓練期分別減少54.26%和25.47%,在檢驗期分別減少46.36%和14.10%,進一步說明SMA-LSSVM模型的訓練效果更加優越,預測結果與實測值的吻合度較高。
b)鶯落峽站。為驗證SMA-LSSVM模型的預測精度和泛化能力在不同地區的適用性,將上述所提模型應用于鶯落峽水文站,圖3為SMA-LSSVM預測模型應用于鶯落峽水文站訓練期和檢驗期的效果,表4為鶯落峽水文站不同模型訓練期和檢驗期的預測對比結果。

a)訓練期

表4 鶯落峽站的評價指標結果對比
通過圖3及表4可得出以下結論:①SMA-LSSVM模型對實例預測的RMSE為16.552 m3/s,MAPE為17.77%,預測精度和泛化能力均優于其他模型,表明SMA能有效尋優LSSVM模型的懲罰參數和核參數,SMA-LSSVM模型用于月徑流預測是可靠的;②SMA-LSSVM模型較LSSVM模型的RMSE、MAPE分別減少32.61%、48.37%,說明利用SMA優化LSSVM的關鍵參數可以有效提高LSSVM模型的預測精度和泛化能力;③對于同一模型采用不同的優化算法(PSO、SMA),發現LSSVM模型經過SMA參數尋優后能有效提高預測精度。
通過上述實例可知,參數尋優能充分挖掘模型本身特性,以達到模型最優性能。本文所提模型相比LSSVM模型和PSO-LSSVM模型在徑流預測中具有更好的預測效果,為提高月徑流預測精度提供新方法。
利用黏菌算法(SMA),提出SMA與LSSVM相結合的徑流預測模型,通過云南省漫灣水電站和黑河流域鶯落峽水文站的月徑流實例對模型進行驗證,并與LSSVM、PSO-LSSVM模型的預測結果進行對比,得出以下結論。
a)利用5個仿真測試函數對SMA、PSO算法進行仿真測試,證明了SMA算法在不同維度條件下的尋優精度和全局搜索能力均優于PSO算法,將其應用到LSSVM懲罰參數和核參數尋優是可行的。
b)利用SMA優化LSSVM模型的關鍵參數,有效避免人為選擇LSSVM模型參數所造成的誤差,使LSSVM模型的預測精度得到較大提高。并通過2個水文站的月徑流預測實例驗證了SMA-LSSVM模型相比LSSVM和PSO-LSSVM模型誤差更小,表明本文所提模型具有更強的泛化能力和更高的預測精度。