周有榮,王 凱
(1.臨滄潤汀水資源科技服務有限公司,云南 臨滄 677000;2.云南省水文水資源局臨滄分局云南,云南 臨滄 677000)
徑流預測預報受氣候、下墊面條件等諸多因素的影響,傳統(tǒng)數(shù)理統(tǒng)計等方法難以獲得理想的預測精度。支持向量機(support vector machines,SVM)由于良好容錯性、智能化和自學習等優(yōu)點,已在水文預測預報[1-3]及枯水期月徑流預測[4,5]中得到應用。但在實際應用中,SVM存在核函數(shù)等關(guān)鍵參數(shù)選取困難以及單一核函數(shù)制約SVM性能兩方面的不足。目前,除遺傳算法[3](GA)、粒子群優(yōu)化(PSO)算法[4]等常規(guī)智能算法用于SVM核函數(shù)等關(guān)鍵參數(shù)的選取外,灰狼優(yōu)化(GWO)算法[2]、入侵雜草優(yōu)化(IWO)算法[6]、布谷鳥搜索(CS)算法[7]等新型群體智能算法嘗試用于SVM關(guān)鍵參數(shù)的選取,并取得了較好的應用效果。研究表明,除SVM關(guān)鍵參數(shù)選取外,選取合適的核函數(shù)是改善SVM預測效果的重要手段[8],高斯核(gaussian kernel)函數(shù)屬典型的局部學習能力強而泛化能力弱的局部核函數(shù)[9];多項式核(polynomial kernel)函數(shù)的優(yōu)缺點與高斯核函數(shù)相反,其屬典型的局部學習能力弱而泛化能力強的全局性核函數(shù)[10]。為提升SVM性能,國內(nèi)學者基于多項式全局核函數(shù)、高斯徑向基局部核函數(shù)構(gòu)建混合核SVM(hybrid kernel support vector machine,MSVM),并將之用于金融時間序列分析[9]、磨礦粒度預測[12]、卷煙銷售量預測[13]等領(lǐng)域,取得較好的預測效果。目前,SVM用于水文預測預報的應用研究中,90%以上均選用高斯核SVM,其預測精度尚有進一步提升的空間[13]。
為進一步提高水文預測預報精度,本文構(gòu)建基于多項式核與高斯核相融合的混合核支持向量機(MSVM);針對基本鯨魚優(yōu)化算法(whale optimization algorithm,WOA)存在的易陷入局部極值、收斂速度慢等不足,提出基于拉普拉斯交叉算子改進的拉普拉斯鯨魚優(yōu)化算法(laplace whale optimization algorithm,LXWOA),利用LXWOA優(yōu)化MSVM關(guān)鍵參數(shù)和混合權(quán)重系數(shù),提出LXWOA-MSVM徑流預測模型,并構(gòu)建高斯核LXWOA-GSVM、多項式核LXWOA-PSVM及LXWOA-BP作對比預測模型,以云南省清水江水文站枯水期1~4月月徑流預測為例進行實例研究,旨在驗證LXWOA-MSVM模型用于枯水期月徑流預測的可行性和有效性。
鯨魚優(yōu)化算法(Whale Optimization Algorithm,WOA)是澳大利亞學者Mirjalili通過模擬鯨魚捕食行為而提出的一種新型智能算法。WOA 算法的位置更新行為主要分為:游走覓食、包圍收縮以及螺旋捕食這三種行為。參考文獻[14,15],基本W(wǎng)OA算法3種捕食行為簡述如下:
(1)游走覓食。WOA采用種群中的隨機個體位置來導航尋找食物,其利用式(1)更新鯨魚空間位置:
(1)
式中:X(j+1) 為第(j+1)次迭代鯨魚空間位置;X*(j)為當前最佳鯨群空間位置;D=|CX*(j)-X(j)|表示個體X在位置更新前距離種群隨機個體X*的長度;A和C是系數(shù)變量,其中A=2ar-a,C=2r,a=2-j/M,M最大迭代次數(shù);r為[0,1]上的隨機數(shù)。
(2)包圍收縮。人工鯨魚在尋找到食物后,其利用式(2)更新鯨魚空間位置:
X(j+1)=Xrand-A|CXrand(j)-X|
式中:Xrand表示當前種群中隨機一個鯨魚個體所在的空間位置。
(3)螺旋捕食。鯨魚以螺旋式的移動方式向當前最優(yōu)個體靠近,將螺旋式數(shù)學模型引入,利用式(3)更新鯨魚空間位置:
(3)
式中:D′ 表示第i頭鯨當前位置和當前最優(yōu)個體之間的距離;b表示對數(shù)螺旋形狀常數(shù);l為[-1,1]之間的隨機數(shù);p表示[0,1]上的隨機數(shù)。
WOA 具有較好的尋優(yōu)性能,但在解決復雜優(yōu)化問題時存在易陷入局部極值和收斂速度慢等不足。本文基于拉普拉斯交叉算子(LX)改進WOA。LX采用拉普拉斯分布的密度函數(shù)系數(shù)代替算術(shù)交叉算子系數(shù),假設在第j代的2個鯨魚個體X1和X2之間進行交叉,則交叉后所產(chǎn)j+1代的2個新鯨魚個體表示為[16]:
(4)
拉普拉斯隨機分布數(shù)β由以下規(guī)則創(chuàng)建:
(5)
式中:s、q為拉普拉斯分布參數(shù),s∈R是定位參數(shù),q>0是尺度參數(shù);u表示在[0,1]上均勻分布的隨機數(shù)。
SVM回歸用核函數(shù)將數(shù)據(jù)映射到高維特征空間,再在高維特征空間中進行線性回歸,依據(jù)結(jié)構(gòu)風險化最小化原則,將其學習過程轉(zhuǎn)換為凸優(yōu)化問題[1-7],即:
(6)
最終回歸函數(shù)為:
(7)
為進一步改善SVM預測效果,本文融合多項式核函數(shù)和高斯核函數(shù)優(yōu)點,基于libsvm工具箱構(gòu)造一種滿足Mercer條件的混合核函數(shù),表達式為:
Kmin=ρKpoly+(1-ρ)KRBF
(8)
式中:Kpoly=[g(xxi)+1]3表示三次多項式核函數(shù);KRBF=exp(-g‖x-xi‖2),g>0,表示RBF核函數(shù);ρ表示權(quán)重系數(shù)。
式(8)中,ρ值決定單一核函數(shù)在混合核函數(shù)中所占的比重,當ρ>0.5時,多項式核函數(shù)占主導地位;ρ<0.5時,高斯核函數(shù)占主導地位[13]。
LXWOA優(yōu)化MSVM關(guān)鍵參數(shù)有懲罰因子C、核函數(shù)參數(shù)g、不敏感系數(shù)ε和權(quán)重系數(shù)ρ,其預測實現(xiàn)步驟可歸納如下:
Step1 確定訓練、檢驗樣本數(shù)量;設定懲罰因子C、核函數(shù)參數(shù)g、不敏感系數(shù)ε和權(quán)重系數(shù)ρ的搜尋范圍;利用式(9)對實例數(shù)據(jù)序列進行歸一化處理。
(9)
Step2 選用平均相對誤差絕對值之和作為LXWOA-MSVM適應度函數(shù):
(10)
Step3 設置LXWOA最大迭代次數(shù)M,群體數(shù)目N,對數(shù)螺旋形狀常數(shù)b=2,拉普拉斯分布參數(shù)s、q。令當前迭代次數(shù)t=1,初始化鯨魚種群個體空間位置。
Step4 計算每個鯨群個體適應度值,計算種群的適應度,找到并記錄種群中的最優(yōu)個體位置X*。
Step5 迭代階段。若j≤M時,更新a、A、C、l和p;當p<0.5時,若|A| <1,利用式(1)更新鯨群空間位置;若|A| ≥1,則從當前群體中隨機確定鯨群位置Xrand,并利用式(2)更新鯨群空間位置;若p≥0.5時,利用式(3)更新當前鯨群個體的空間位置。
Step6 交叉運算。利用式(4)隨機選擇2個鯨魚個體X1和X2以之間進行交叉,產(chǎn)生新的鯨魚個體。
Step7 計算更新后的鯨群個體適應度值,若新鯨群個體適應度優(yōu)于前代鯨群個體適應度,則新鯨群個體位置替代原鯨群個體位置;否則保留原鯨群個體位置。
Step8 令t=t+1。判斷算法是否達到終止條件,若是,輸出最優(yōu)個體位置X*及其適應度值算法結(jié)束;否則重復Step5~Step8。
Step9 利用LXWOA優(yōu)化獲得的最優(yōu)個體位置X*,即懲罰因子C、核函數(shù)參數(shù)g、不敏感系數(shù)ε和權(quán)重系數(shù)ρ代入LXWOA-MSVM模型進行預測。
(1)數(shù)據(jù)來源及分析。本文以云南省清水江水文站1971-2005年枯水期1-4月月徑流預測為例進行驗證分析。利用SPSS軟件分析清水江水文站1971-2004年上年度月徑流與次年度枯水期1-4月月徑流相關(guān)關(guān)系,結(jié)果見表1。
從表1來看,該站上年度8-12月月徑流與次年度1-4月月徑流存在較好的相關(guān)性(除次年4月與上年度3月相關(guān)性較差外)。本文分別選取表1中帶“**”的月均徑流量作為影響因子預測次年枯水期1~4月月均徑流量,并選取前24組實測月徑流作為訓練樣本,后10組月徑流作為預測樣本。樣本歸一化處理見式(9)。
表1 上年度1-12月月均流量與次年1-4月月相關(guān)系數(shù)
(2)參數(shù)設置。LXWOA最大迭代次數(shù)M=200,群體數(shù)目N=50;待優(yōu)化參數(shù)搜索空間設置為: MSVM模型參數(shù)搜索范圍:懲罰因子C∈[2-10,210]、核函數(shù)參數(shù)g∈[2-10,210]、不敏感系數(shù)ε∈[2-10,210]、交叉驗證參數(shù)V=5,變量維度D為4維,權(quán)重系數(shù)ρ搜索空間為[0,1]。BP模型網(wǎng)絡隱含層和輸出層傳遞函數(shù)均分別采用logsig和purelin,訓練函數(shù)均采用trainlm,設定期望誤差為0.001, 最大訓練輪回為100次,搜索空間∈[-1,1]。
(3)模型構(gòu)建及預測?;谏鲜龇治?,分別構(gòu)建LXWOA-MSVM、LXWOA-GSVM、LXWOA-PSVM和LXWOA-BP月徑流預測模型,選取平均相對誤差絕對值MRE、最大相對誤差絕對值MaxRE作為評估指標評估各模型預測效果,見表2。并繪制圖1~圖4各月份擬合-預測相對誤差效果圖。
表2 實例枯水期1-4月月徑流訓練、預測結(jié)果及其比較表 %
圖1 1月月徑流擬合-預測相對誤差效果圖
圖2 2月月徑流擬合-預測相對誤差效果圖
圖3 3月月徑流擬合-預測相對誤差效果圖
圖4 4月月徑流擬合-預測相對誤差效果圖
(4)優(yōu)化結(jié)果。經(jīng)優(yōu)化,確定LXWOA-MSVM預測模型枯水期1-4月關(guān)鍵參數(shù)和權(quán)重系數(shù)分別如下:1月,懲罰因子C=21.482 0、核函數(shù)參數(shù)g=2-2.763 4、不敏感系數(shù)ε=2-4.295 6和多項式核函數(shù)權(quán)重系數(shù)ρ=0.341 9;2月,懲罰因子C=22.250 2、核函數(shù)參數(shù)g=2-2.530 5、不敏感系數(shù)ε=2-4.558 5和多項式核函數(shù)權(quán)重系數(shù)ρ=0.526 7;3月,懲罰因子C=27.291 4、核函數(shù)參數(shù)g=2-3.253 5、不敏感系數(shù)ε=2-2.165 8和多項式核函數(shù)權(quán)重系數(shù)ρ=0.832 0;4月,懲罰因子C=29.048 7、核函數(shù)參數(shù)g=2-0.461 9、不敏感系數(shù)ε=2-2.343 6和多項式核函數(shù)權(quán)重系數(shù)ρ=0.564 6。
從表2及圖1~圖4可以得出以下結(jié)論:
(1)LXWOA-MSVM模型對實例1-4月月徑流預測的平均相對誤差絕對值分別為4.09%、3.32%、3.51%和5.64%,預測精度分別比LXWOA-GSVM模型提高了13.7%、27.0%、54.7%和36.3%;比LXWOA-PSVM模型提高了31.3%、40.3%、15.0%和16.8%;比LXWOA-BP模型提高了43.1%、60.8%、54.7%和54.8%。表明:①LXWOA能有效優(yōu)化MSVM模型的懲罰因子、核函數(shù)參數(shù)、不敏感損失系數(shù)和權(quán)重系數(shù),優(yōu)化結(jié)果合理、可靠,優(yōu)化結(jié)果使LXWOA-MSVM模型獲得較好的預測精度和泛化能力;②LXWOA-MSVM模型能有效融合多項式核函數(shù)和高斯核函數(shù)二者優(yōu)點,彌補各自在實際應用中的不足,有效改善SVM的預測精度和泛化能力。③LXWOA-MSVM模型用于枯水期月徑流預測的可行性和有效性,模型及方法可為水文預測預報及相關(guān)預測研究提供新的途徑和方法。
(2)LXWOA-MSVM模型具有較好的擬合-預測精度,其獲得的MRE和MaxRE均優(yōu)于LXWOA-GSVM、LXWOA-PSVM和LXWOA-BP 3種模型,尤其是對于2月、3月的預測精度為最高,其MRE分別達到了3.32%和3.51%。
(3)從LXWOA優(yōu)化MSVM獲得的多項式核函數(shù)權(quán)重系數(shù)ρ來看,1月的權(quán)重系數(shù)ρ=0.341 9,表明高斯核函數(shù)占主導地位;3月的權(quán)重系數(shù)ρ=0.832 0,表明多項式核函數(shù)占主導地位;2月和4月的多項式核函數(shù)權(quán)重系數(shù)ρ略大于0.5,表明多項式核函數(shù)、高斯核函數(shù)均占主導地位,但多項式核函數(shù)權(quán)重略大于高斯核函數(shù)。
(4)LXWOA-MSVM模型具有通用性,即LXWOA-MSVM模型適用于影響因子與預測因子之間滿足一定的相關(guān)性,且為多輸入、單輸出的預測實例。
(5)LXWOA-MSVM模型預測精度優(yōu)于LXWOA-GSVM模型和LXWOA-PSVM模型,遠優(yōu)于LXWOA-BP模型。LXWOA-GSVM、LXWOA-PSVM模型的預測精度在伯仲之間。
分析了SVM用于水文預測預報中存在的不足,基于多項式核函數(shù)與高斯核函數(shù)構(gòu)造MSVM。針對基本W(wǎng)OA存在的收斂速度慢和易陷入局部最優(yōu)等不足,提出拉普拉斯鯨魚優(yōu)化算法(LXWOA)。利用LXWOA同時優(yōu)化MSVM關(guān)鍵參數(shù)和混合權(quán)重系數(shù),提出LXWOA-MSVM徑流預測模型,并構(gòu)建LXWOA-GSVM、LXWOA-PSVM和LXWOA-BP 作對比模型,以云南省清水江水文站枯水期1-4月月徑流預測為例進行實例研究。結(jié)果表明:LXWOA能有效優(yōu)化MSVM模型的懲罰因子等關(guān)鍵參數(shù),獲得較好的預測效果;LXWOA-MSVM模型能有效融合多項式核函數(shù)和高斯核函數(shù)二者優(yōu)點,彌補各自在實際應用中的不足,有效改善SVM的預測精度和泛化能力; LXWOA-MSVM模型用于枯水期月徑流預測的可行性和有效性,模型及方法可為水文預測預報及相關(guān)預測研究提供新的途徑和方法。