田景環(huán),李叢鑫,李 昂
(華北水利水電大學(xué)水利學(xué)院,河南 鄭州 450046)
準(zhǔn)確的徑流預(yù)測可為防洪減災(zāi)、水資源的高效利用提供重要理論基礎(chǔ)[1]。受諸多自然和人類活動因素的影響,徑流表現(xiàn)出復(fù)雜的非線性過程,準(zhǔn)確預(yù)測未來徑流的趨勢成為水資源領(lǐng)域的難點(diǎn)[2]。近年來,信息技術(shù)的飛速發(fā)展,極大地豐富了徑流預(yù)測的研究方法[3]。以人工神經(jīng)網(wǎng)絡(luò)模型(ANN)[4-5]、支持向量機(jī)(SVM)[6-7]為代表的非線性方法在徑流預(yù)測中取得了一定成效。水文時間序列普遍是非線性的小樣本數(shù)據(jù),相比于神經(jīng)網(wǎng)絡(luò)易陷入局部最優(yōu)、過學(xué)習(xí)等問題[7],Vapnik[8]提出支持向量機(jī)(SVM),將學(xué)習(xí)問題轉(zhuǎn)化為二次規(guī)劃問題,得到全局最優(yōu)解。盧敏等[9]、吳學(xué)文等[10]基于SVM建立徑流預(yù)測模型,證明了SVM在徑流預(yù)測表現(xiàn)中的優(yōu)越性。最小二乘支持向量機(jī)(LSSVM)建立在SVM基礎(chǔ)上,基于最小二乘思想構(gòu)造目標(biāo)函數(shù),減少模型參數(shù)的同時[11],利用解方程組的方法縮短模型學(xué)習(xí)時間。LSSVM可以以任意精度逼近非線性系統(tǒng),是解決非線性預(yù)測問題的有效方法。
LSSVM模型中的懲罰系數(shù)及核參數(shù)直接影響模型的訓(xùn)練結(jié)果和適應(yīng)能力[12],以往對參數(shù)的選擇大都人為選擇確定,導(dǎo)致參數(shù)選取的不恰當(dāng),從而影響預(yù)測精度。隨著人工智能的興起,不斷有學(xué)者采用智能算法對LSSVM模型的參數(shù)進(jìn)行優(yōu)化[13-14]。李文莉等[15]針對模型參數(shù)選擇費(fèi)時且效果差等問題,利用具有全局搜索能力的粒子群算法(PSO)參數(shù)尋優(yōu),有效提高徑流的預(yù)測效率和預(yù)測精度。但此算法易陷入局部最優(yōu),搜索到局部極小值且尋優(yōu)能力弱。為彌補(bǔ)現(xiàn)有算法的不足,利用LI等[16]提出的隨機(jī)優(yōu)化算法——黏菌算法(SMA),來確保搜索效率和準(zhǔn)確性。鑒于黏菌算法收斂速度快、搜索能力強(qiáng)等特點(diǎn),本文利用SMA對LSSVM模型的參數(shù)進(jìn)行自動搜索獲得最優(yōu)解,建立SMA-LSSVM徑流中長期預(yù)測模型,并選擇漫灣水電站和鶯落峽水文站為研究對象進(jìn)行實(shí)例驗(yàn)證,結(jié)果表明SMA-LSSVM具有較高的預(yù)測精度,對徑流預(yù)測是可行有效的。
1.1.1SMA描述
黏菌算法(SMA)[16]是一種基于黏菌自然振動模式的元啟發(fā)式智能算法。此算法通過自適應(yīng)權(quán)重使SMA在保持快速收斂的同時避免陷入局部最優(yōu),同時振動參數(shù)允許以特定的方式收縮,確保了早期的搜索效率和準(zhǔn)確性。
黏菌在覓食過程中,根據(jù)空氣中的氣味濃度接近食物,食物濃度越高,生物振蕩越強(qiáng),細(xì)胞質(zhì)流動越快,黏菌靜脈管越粗。通過函數(shù)表達(dá)式來模擬其逼近行為,位置更新用式(1)表示:
(1)
p=tanh|s(i)-DF|,i=1,2,…,k
(2)
式中 ub、lb——搜索范圍的上、下界;rand——在[0,1]內(nèi)的隨機(jī)數(shù);參數(shù)vb=[-a,a],參數(shù)vc從1到0線性減?。籺——當(dāng)前迭代;xb——當(dāng)前發(fā)現(xiàn)食物氣味濃度最高的單個位置;x——黏菌的位置;xm、xn——隨機(jī)選取的2個黏菌位置;w——黏菌的重量;s(i)——x的適應(yīng)度;DF——迭代中所獲得的最佳適應(yīng)度。
其中參數(shù)a的函數(shù)表達(dá)式為:
(3)
式中 maxt——最大迭代次數(shù)。
而w的公式見式(4):
(4)
smellindex=sort(s)
(5)
式中r——[0,1]內(nèi)的隨機(jī)數(shù);bF——在當(dāng)前迭代過程中獲得的最佳適應(yīng)度;wF——在當(dāng)前迭代過程中獲得的最差適應(yīng)度;smellindex——適應(yīng)度序列。
1.1.2SMA仿真驗(yàn)證
為驗(yàn)證SMA在不同維度下的尋優(yōu)能力,參考文獻(xiàn)[14],選取Sphere、Schwefel、Rastrigin、Ackley、Griewank 5個測試函數(shù)在10、30、50、100、500維條件下對SMA進(jìn)行仿真驗(yàn)證,并與PSO算法的仿真結(jié)果進(jìn)行比較。其中單峰函數(shù)(Sphere、Schwefel)主要考察SMA、PSO的尋優(yōu)速度和精度,多峰函數(shù)(Rastrigin、Ackley、Griewank)主要測試SMA、PSO的全局搜索能力。仿真測試基于Matlab 2019b對各測試函數(shù)進(jìn)行20次尋優(yōu),取其平均值對算法的尋優(yōu)性能進(jìn)行評估,見表1。測試參數(shù)設(shè)置如下:SMA最大迭代次數(shù)為100,種群規(guī)模為50;PSO最大迭代次數(shù)為100,種群規(guī)模為50,學(xué)習(xí)因子均取2.0。
表1 函數(shù)優(yōu)化對比結(jié)果
從表1可看出:對于單峰函數(shù),SMA在不同維度條件下較PSO算法尋優(yōu)精度更優(yōu);對于多峰函數(shù)Rastrigin、Griewank,SMA在不同維度條件下的20次尋優(yōu)均獲得了理論最優(yōu)值0,說明SMA的尋優(yōu)精度遠(yuǎn)優(yōu)于PSO算法;對于旋轉(zhuǎn)不可分函數(shù)Ackley,SMA在10、30、50、100、500維條件下趨于穩(wěn)定,相比PSO算法提高了16個數(shù)量級的尋優(yōu)精度。由此可見,SMA在不同維度條件下的尋優(yōu)結(jié)果均優(yōu)于PSO算法,表現(xiàn)出較好的優(yōu)化效果和極值搜索能力,將其應(yīng)用于LSSVM懲罰參數(shù)和核參數(shù)的尋優(yōu)是可靠的。
最小二乘支持向量機(jī)(Least Squares Support Vector Machine,LSSVM)由Suykens等[17]提出,是在支持向量機(jī)(SVM)上的一種改進(jìn),不僅降低計(jì)算難度,還有效提高了訓(xùn)練速度和精度。
根據(jù)風(fēng)險(xiǎn)結(jié)構(gòu)最小化原則(SMR,Structural Risk Minimization),LSSVM的優(yōu)化問題轉(zhuǎn)化為帶有等式約束條件的目標(biāo)函數(shù):
(6)
式中ωT——權(quán)值系數(shù)向量;γ——懲罰系數(shù);ei——誤差向量。
根據(jù)Mercer條件定義核函數(shù):
K(mi,mj)=φ(mi)φ(mj)
(7)
式中φ(m)——核空間的非線性映射函數(shù)。
最終得到LSSVM模型的擬合函數(shù):
(8)
式中 αi——拉格朗日乘子,≥0;b——偏差向量。
LSSVM預(yù)測模型中的懲罰參數(shù)γ和核參數(shù)σ對預(yù)測精度影響較大,選擇合適的參數(shù)對預(yù)測模型的性能起著至關(guān)重要的作用。本文根據(jù) SMA 算法在不同搜索環(huán)境下的競爭性,對最小二乘支持向量機(jī)的 2 個關(guān)鍵參數(shù)進(jìn)行尋優(yōu),以提高模型的預(yù)測精度。SMA-LSSVM 預(yù)測模型的建模步驟如下。
步驟一參數(shù)設(shè)置。SMA算法的主要參數(shù):黏菌種群數(shù)量N,最大迭代次數(shù)M,黏菌個體空間維度dim,黏菌種群位置上界范圍ub和下界范圍lb。
步驟二種群初始化。初始化黏菌空間位置,將黏菌個體的位置信息依次賦給2個參數(shù)。
步驟三更新參數(shù)。根據(jù)式(4)計(jì)算黏菌種群適應(yīng)度值,并進(jìn)行排序,找出當(dāng)前最佳解。
步驟四更新個體位置。根據(jù)式(2)計(jì)算黏菌個體適應(yīng)度值,并利用式(1)更新最優(yōu)個體位置。
步驟五輸出全局最優(yōu)參數(shù)。根據(jù)對黏菌的所有適應(yīng)度值進(jìn)行排序,找出當(dāng)前最優(yōu)解,重復(fù)步驟二至四,當(dāng)達(dá)到最大迭代次數(shù)時,終止尋優(yōu)搜索,輸出全局最優(yōu)參數(shù),建立SMA-LSSVM模型。
圖1表示基于SMA-LSSVM的徑流中長期預(yù)測的流程。
圖1 基于SMA-LSSVM的徑流中長期預(yù)測流程
為檢驗(yàn)中長期徑流預(yù)測結(jié)果,通過均方誤差(RMSE)和平均絕對百分比誤差(MAPE)2個指標(biāo)來對比分析。
(9)
(10)
為驗(yàn)證所提SMA-LSSVM模型的有效性和可靠性,以漫灣站和鶯落峽水文站的月徑流為研究對象,并分別采用80%的數(shù)據(jù)作為訓(xùn)練樣本,20%的數(shù)據(jù)作為檢驗(yàn)樣本進(jìn)行驗(yàn)證。
漫灣水電站位于中國云南省西部,距昆明450 km,是瀾滄江干流水電基地開發(fā)的第一座百萬千瓦級的水電站。漫灣水電站壩址處的控制流域面積為11.45萬km2,多年平均流量1 230 m3/s。選取漫灣站1953年1月至1994年12月的月徑流數(shù)據(jù)作為模型的訓(xùn)練樣本,1995年1月至2004年12月的月徑流數(shù)據(jù)作為模型的檢驗(yàn)樣本。
黑河是中國第二大內(nèi)陸河,發(fā)源于青海省祁連縣,上游的鶯落峽作為祁連山口的控制峽口,其控制流域面積1.000 9萬km2。采用鶯落峽水文站1956—2009年[18]的數(shù)據(jù)進(jìn)行分析,其中1956—1998年的月徑流數(shù)據(jù)用于訓(xùn)練模型,1999—2009年的月徑流數(shù)據(jù)用于檢驗(yàn)?zāi)P汀?/p>
根據(jù)預(yù)測結(jié)果精度,采用試錯法確定模型的輸入。假設(shè)實(shí)測值Q=(Q1,Q2,…Qi,…Qn-1),Qi表示第i個時刻樣本點(diǎn),在漫灣站實(shí)例中,采用前13個月的徑流數(shù)據(jù)作為模型輸入,預(yù)測第14個月的徑流量,樣本結(jié)構(gòu)見式(11)。而在鶯落峽實(shí)例中,則采用前12個月的徑流數(shù)據(jù)作為模型的輸入,預(yù)測第13個月的徑流量,樣本結(jié)構(gòu)見式(12)。
Q1Q2…Q13Q2Q3…Q14????Qn-13Qn-12…Qn-1Q14Q15?Qn
(11)
Q1Q2…Q12Q2Q3…Q13????Qn-12Qn-11…Qn-1Q13Q14?Qn
(12)
其中式(11)、(12)前一項(xiàng)表示模型輸入,后一項(xiàng)表示模型輸出。
在實(shí)際應(yīng)用中,LSSVM模型的性能依賴于參數(shù)的選擇,要建立最優(yōu)化的模型需進(jìn)行參數(shù)尋優(yōu)。SMA作為一種新的隨機(jī)優(yōu)化算法為LSSVM的參數(shù)優(yōu)化提供了新方法。由于徑向基函數(shù)(RBF)的參數(shù)和受限條件相對較少,本文選擇RBF作為核函數(shù),提高訓(xùn)練速度。為驗(yàn)證SMA-LSSVM模型的預(yù)測性能和優(yōu)勢,建立PSO-LSSVM模型進(jìn)行對比,模型的建立均基于Matlab 2019b軟件下完成。
粒子群算法的參數(shù)設(shè)置為:種群規(guī)模N=50,學(xué)習(xí)因子c1=2,c2=2,最大迭代次數(shù)M=100。黏菌算法的參數(shù)設(shè)置為:種群數(shù)量N=50,最大迭代次數(shù)M=100。兩算法的懲罰參數(shù)和核參數(shù)尋優(yōu)范圍均為[10-3,104]。尋優(yōu)結(jié)果見表2。
表2 2種算法優(yōu)化模型參數(shù)結(jié)果
通過表2對比分析,得出SMA優(yōu)化LSSVM模型參數(shù)的結(jié)果均小于PSO優(yōu)化參數(shù)的結(jié)果,并結(jié)合表1中2個算法對不同函數(shù)優(yōu)化的結(jié)果,認(rèn)為SMA算法各方面表現(xiàn)均優(yōu)于PSO算法。
a)漫灣站。圖2a表示SMA-LSSVM預(yù)測模型應(yīng)用到漫灣站訓(xùn)練期的效果,圖2b則表示檢驗(yàn)期的效果。其中黑色實(shí)線代表徑流實(shí)測值,藍(lán)色實(shí)線代表LSSVM模型的預(yù)測值,綠色實(shí)線代表PSO-LSSVM模型的預(yù)測值,紅色實(shí)線代表SMA-LSSVM模型的預(yù)測值。圖2可看出:無論是訓(xùn)練期還是檢驗(yàn)期,PSO-LSSVM模型和SMA-LSSVM模型相較于LSSVM模型的預(yù)測效果均更優(yōu),說明進(jìn)行參數(shù)優(yōu)化是非常必要的。圖2a中PSO-LSSVM模型在個別峰值處的訓(xùn)練效果比SMA-LSSVM模型稍好,但總體來說,本文所提模型的預(yù)測效果更優(yōu)。表3為3個模型應(yīng)用到漫灣站的對比結(jié)果,更加直觀看出模型間的差異。
新型消能減震復(fù)合墻板試驗(yàn)與模擬的骨架曲線、滯回曲線如圖4所示,其試驗(yàn)平均值與模擬值得到的關(guān)鍵點(diǎn)數(shù)值對比見表2。由圖4和表2可知,不同位移下的試驗(yàn)結(jié)果與有限元模擬分析結(jié)果相差很小,誤差基本在20%以內(nèi),有限元模型能較好的反映構(gòu)件的性能,表明數(shù)值模型基本是正確合理的。
a)訓(xùn)練期
表3 漫灣站的評價(jià)指標(biāo)結(jié)果對比
表3通過RMSE、MAPE 2個評價(jià)指標(biāo)分析得:SMA-LSSVM模型相比LSSVM模型和PSO-LSSVM模型的RMSE在訓(xùn)練期分別減少30.52%和8.97%,在檢驗(yàn)期分別減少29.26%和7.42%;MAPE在訓(xùn)練期分別減少54.26%和25.47%,在檢驗(yàn)期分別減少46.36%和14.10%,進(jìn)一步說明SMA-LSSVM模型的訓(xùn)練效果更加優(yōu)越,預(yù)測結(jié)果與實(shí)測值的吻合度較高。
b)鶯落峽站。為驗(yàn)證SMA-LSSVM模型的預(yù)測精度和泛化能力在不同地區(qū)的適用性,將上述所提模型應(yīng)用于鶯落峽水文站,圖3為SMA-LSSVM預(yù)測模型應(yīng)用于鶯落峽水文站訓(xùn)練期和檢驗(yàn)期的效果,表4為鶯落峽水文站不同模型訓(xùn)練期和檢驗(yàn)期的預(yù)測對比結(jié)果。
a)訓(xùn)練期
表4 鶯落峽站的評價(jià)指標(biāo)結(jié)果對比
通過圖3及表4可得出以下結(jié)論:①SMA-LSSVM模型對實(shí)例預(yù)測的RMSE為16.552 m3/s,MAPE為17.77%,預(yù)測精度和泛化能力均優(yōu)于其他模型,表明SMA能有效尋優(yōu)LSSVM模型的懲罰參數(shù)和核參數(shù),SMA-LSSVM模型用于月徑流預(yù)測是可靠的;②SMA-LSSVM模型較LSSVM模型的RMSE、MAPE分別減少32.61%、48.37%,說明利用SMA優(yōu)化LSSVM的關(guān)鍵參數(shù)可以有效提高LSSVM模型的預(yù)測精度和泛化能力;③對于同一模型采用不同的優(yōu)化算法(PSO、SMA),發(fā)現(xiàn)LSSVM模型經(jīng)過SMA參數(shù)尋優(yōu)后能有效提高預(yù)測精度。
通過上述實(shí)例可知,參數(shù)尋優(yōu)能充分挖掘模型本身特性,以達(dá)到模型最優(yōu)性能。本文所提模型相比LSSVM模型和PSO-LSSVM模型在徑流預(yù)測中具有更好的預(yù)測效果,為提高月徑流預(yù)測精度提供新方法。
利用黏菌算法(SMA),提出SMA與LSSVM相結(jié)合的徑流預(yù)測模型,通過云南省漫灣水電站和黑河流域鶯落峽水文站的月徑流實(shí)例對模型進(jìn)行驗(yàn)證,并與LSSVM、PSO-LSSVM模型的預(yù)測結(jié)果進(jìn)行對比,得出以下結(jié)論。
a)利用5個仿真測試函數(shù)對SMA、PSO算法進(jìn)行仿真測試,證明了SMA算法在不同維度條件下的尋優(yōu)精度和全局搜索能力均優(yōu)于PSO算法,將其應(yīng)用到LSSVM懲罰參數(shù)和核參數(shù)尋優(yōu)是可行的。
b)利用SMA優(yōu)化LSSVM模型的關(guān)鍵參數(shù),有效避免人為選擇LSSVM模型參數(shù)所造成的誤差,使LSSVM模型的預(yù)測精度得到較大提高。并通過2個水文站的月徑流預(yù)測實(shí)例驗(yàn)證了SMA-LSSVM模型相比LSSVM和PSO-LSSVM模型誤差更小,表明本文所提模型具有更強(qiáng)的泛化能力和更高的預(yù)測精度。