周有榮,王 凱
(1.臨滄潤汀水資源科技服務有限公司,云南 臨滄 677000;2.云南省水文水資源局臨滄分局云南,云南 臨滄 677000)
徑流預測預報受氣候、下墊面條件等諸多因素的影響,傳統數理統計等方法難以獲得理想的預測精度。支持向量機(support vector machines,SVM)由于良好容錯性、智能化和自學習等優點,已在水文預測預報[1-3]及枯水期月徑流預測[4,5]中得到應用。但在實際應用中,SVM存在核函數等關鍵參數選取困難以及單一核函數制約SVM性能兩方面的不足。目前,除遺傳算法[3](GA)、粒子群優化(PSO)算法[4]等常規智能算法用于SVM核函數等關鍵參數的選取外,灰狼優化(GWO)算法[2]、入侵雜草優化(IWO)算法[6]、布谷鳥搜索(CS)算法[7]等新型群體智能算法嘗試用于SVM關鍵參數的選取,并取得了較好的應用效果。研究表明,除SVM關鍵參數選取外,選取合適的核函數是改善SVM預測效果的重要手段[8],高斯核(gaussian kernel)函數屬典型的局部學習能力強而泛化能力弱的局部核函數[9];多項式核(polynomial kernel)函數的優缺點與高斯核函數相反,其屬典型的局部學習能力弱而泛化能力強的全局性核函數[10]。為提升SVM性能,國內學者基于多項式全局核函數、高斯徑向基局部核函數構建混合核SVM(hybrid kernel support vector machine,MSVM),并將之用于金融時間序列分析[9]、磨礦粒度預測[12]、卷煙銷售量預測[13]等領域,取得較好的預測效果。目前,SVM用于水文預測預報的應用研究中,90%以上均選用高斯核SVM,其預測精度尚有進一步提升的空間[13]。
為進一步提高水文預測預報精度,本文構建基于多項式核與高斯核相融合的混合核支持向量機(MSVM);針對基本鯨魚優化算法(whale optimization algorithm,WOA)存在的易陷入局部極值、收斂速度慢等不足,提出基于拉普拉斯交叉算子改進的拉普拉斯鯨魚優化算法(laplace whale optimization algorithm,LXWOA),利用LXWOA優化MSVM關鍵參數和混合權重系數,提出LXWOA-MSVM徑流預測模型,并構建高斯核LXWOA-GSVM、多項式核LXWOA-PSVM及LXWOA-BP作對比預測模型,以云南省清水江水文站枯水期1~4月月徑流預測為例進行實例研究,旨在驗證LXWOA-MSVM模型用于枯水期月徑流預測的可行性和有效性。
鯨魚優化算法(Whale Optimization Algorithm,WOA)是澳大利亞學者Mirjalili通過模擬鯨魚捕食行為而提出的一種新型智能算法。WOA 算法的位置更新行為主要分為:游走覓食、包圍收縮以及螺旋捕食這三種行為。參考文獻[14,15],基本WOA算法3種捕食行為簡述如下:
(1)游走覓食。WOA采用種群中的隨機個體位置來導航尋找食物,其利用式(1)更新鯨魚空間位置:
(1)
式中:X(j+1) 為第(j+1)次迭代鯨魚空間位置;X*(j)為當前最佳鯨群空間位置;D=|CX*(j)-X(j)|表示個體X在位置更新前距離種群隨機個體X*的長度;A和C是系數變量,其中A=2ar-a,C=2r,a=2-j/M,M最大迭代次數;r為[0,1]上的隨機數。
(2)包圍收縮。人工鯨魚在尋找到食物后,其利用式(2)更新鯨魚空間位置:
X(j+1)=Xrand-A|CXrand(j)-X|
式中:Xrand表示當前種群中隨機一個鯨魚個體所在的空間位置。
(3)螺旋捕食。鯨魚以螺旋式的移動方式向當前最優個體靠近,將螺旋式數學模型引入,利用式(3)更新鯨魚空間位置:
(3)
式中:D′ 表示第i頭鯨當前位置和當前最優個體之間的距離;b表示對數螺旋形狀常數;l為[-1,1]之間的隨機數;p表示[0,1]上的隨機數。
WOA 具有較好的尋優性能,但在解決復雜優化問題時存在易陷入局部極值和收斂速度慢等不足。本文基于拉普拉斯交叉算子(LX)改進WOA。LX采用拉普拉斯分布的密度函數系數代替算術交叉算子系數,假設在第j代的2個鯨魚個體X1和X2之間進行交叉,則交叉后所產j+1代的2個新鯨魚個體表示為[16]:
(4)
拉普拉斯隨機分布數β由以下規則創建:
(5)
式中:s、q為拉普拉斯分布參數,s∈R是定位參數,q>0是尺度參數;u表示在[0,1]上均勻分布的隨機數。
SVM回歸用核函數將數據映射到高維特征空間,再在高維特征空間中進行線性回歸,依據結構風險化最小化原則,將其學習過程轉換為凸優化問題[1-7],即:
(6)
最終回歸函數為:
(7)

為進一步改善SVM預測效果,本文融合多項式核函數和高斯核函數優點,基于libsvm工具箱構造一種滿足Mercer條件的混合核函數,表達式為:
Kmin=ρKpoly+(1-ρ)KRBF
(8)
式中:Kpoly=[g(xxi)+1]3表示三次多項式核函數;KRBF=exp(-g‖x-xi‖2),g>0,表示RBF核函數;ρ表示權重系數。
式(8)中,ρ值決定單一核函數在混合核函數中所占的比重,當ρ>0.5時,多項式核函數占主導地位;ρ<0.5時,高斯核函數占主導地位[13]。
LXWOA優化MSVM關鍵參數有懲罰因子C、核函數參數g、不敏感系數ε和權重系數ρ,其預測實現步驟可歸納如下:
Step1 確定訓練、檢驗樣本數量;設定懲罰因子C、核函數參數g、不敏感系數ε和權重系數ρ的搜尋范圍;利用式(9)對實例數據序列進行歸一化處理。
(9)
Step2 選用平均相對誤差絕對值之和作為LXWOA-MSVM適應度函數:
(10)

Step3 設置LXWOA最大迭代次數M,群體數目N,對數螺旋形狀常數b=2,拉普拉斯分布參數s、q。令當前迭代次數t=1,初始化鯨魚種群個體空間位置。
Step4 計算每個鯨群個體適應度值,計算種群的適應度,找到并記錄種群中的最優個體位置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以之間進行交叉,產生新的鯨魚個體。
Step7 計算更新后的鯨群個體適應度值,若新鯨群個體適應度優于前代鯨群個體適應度,則新鯨群個體位置替代原鯨群個體位置;否則保留原鯨群個體位置。
Step8 令t=t+1。判斷算法是否達到終止條件,若是,輸出最優個體位置X*及其適應度值算法結束;否則重復Step5~Step8。
Step9 利用LXWOA優化獲得的最優個體位置X*,即懲罰因子C、核函數參數g、不敏感系數ε和權重系數ρ代入LXWOA-MSVM模型進行預測。
(1)數據來源及分析。本文以云南省清水江水文站1971-2005年枯水期1-4月月徑流預測為例進行驗證分析。利用SPSS軟件分析清水江水文站1971-2004年上年度月徑流與次年度枯水期1-4月月徑流相關關系,結果見表1。
從表1來看,該站上年度8-12月月徑流與次年度1-4月月徑流存在較好的相關性(除次年4月與上年度3月相關性較差外)。本文分別選取表1中帶“**”的月均徑流量作為影響因子預測次年枯水期1~4月月均徑流量,并選取前24組實測月徑流作為訓練樣本,后10組月徑流作為預測樣本。樣本歸一化處理見式(9)。

表1 上年度1-12月月均流量與次年1-4月月相關系數
(2)參數設置。LXWOA最大迭代次數M=200,群體數目N=50;待優化參數搜索空間設置為: MSVM模型參數搜索范圍:懲罰因子C∈[2-10,210]、核函數參數g∈[2-10,210]、不敏感系數ε∈[2-10,210]、交叉驗證參數V=5,變量維度D為4維,權重系數ρ搜索空間為[0,1]。BP模型網絡隱含層和輸出層傳遞函數均分別采用logsig和purelin,訓練函數均采用trainlm,設定期望誤差為0.001, 最大訓練輪回為100次,搜索空間∈[-1,1]。
(3)模型構建及預測。基于上述分析,分別構建LXWOA-MSVM、LXWOA-GSVM、LXWOA-PSVM和LXWOA-BP月徑流預測模型,選取平均相對誤差絕對值MRE、最大相對誤差絕對值MaxRE作為評估指標評估各模型預測效果,見表2。并繪制圖1~圖4各月份擬合-預測相對誤差效果圖。

表2 實例枯水期1-4月月徑流訓練、預測結果及其比較表 %

圖1 1月月徑流擬合-預測相對誤差效果圖

圖2 2月月徑流擬合-預測相對誤差效果圖

圖3 3月月徑流擬合-預測相對誤差效果圖

圖4 4月月徑流擬合-預測相對誤差效果圖
(4)優化結果。經優化,確定LXWOA-MSVM預測模型枯水期1-4月關鍵參數和權重系數分別如下:1月,懲罰因子C=21.482 0、核函數參數g=2-2.763 4、不敏感系數ε=2-4.295 6和多項式核函數權重系數ρ=0.341 9;2月,懲罰因子C=22.250 2、核函數參數g=2-2.530 5、不敏感系數ε=2-4.558 5和多項式核函數權重系數ρ=0.526 7;3月,懲罰因子C=27.291 4、核函數參數g=2-3.253 5、不敏感系數ε=2-2.165 8和多項式核函數權重系數ρ=0.832 0;4月,懲罰因子C=29.048 7、核函數參數g=2-0.461 9、不敏感系數ε=2-2.343 6和多項式核函數權重系數ρ=0.564 6。
從表2及圖1~圖4可以得出以下結論:
(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能有效優化MSVM模型的懲罰因子、核函數參數、不敏感損失系數和權重系數,優化結果合理、可靠,優化結果使LXWOA-MSVM模型獲得較好的預測精度和泛化能力;②LXWOA-MSVM模型能有效融合多項式核函數和高斯核函數二者優點,彌補各自在實際應用中的不足,有效改善SVM的預測精度和泛化能力。③LXWOA-MSVM模型用于枯水期月徑流預測的可行性和有效性,模型及方法可為水文預測預報及相關預測研究提供新的途徑和方法。
(2)LXWOA-MSVM模型具有較好的擬合-預測精度,其獲得的MRE和MaxRE均優于LXWOA-GSVM、LXWOA-PSVM和LXWOA-BP 3種模型,尤其是對于2月、3月的預測精度為最高,其MRE分別達到了3.32%和3.51%。
(3)從LXWOA優化MSVM獲得的多項式核函數權重系數ρ來看,1月的權重系數ρ=0.341 9,表明高斯核函數占主導地位;3月的權重系數ρ=0.832 0,表明多項式核函數占主導地位;2月和4月的多項式核函數權重系數ρ略大于0.5,表明多項式核函數、高斯核函數均占主導地位,但多項式核函數權重略大于高斯核函數。
(4)LXWOA-MSVM模型具有通用性,即LXWOA-MSVM模型適用于影響因子與預測因子之間滿足一定的相關性,且為多輸入、單輸出的預測實例。
(5)LXWOA-MSVM模型預測精度優于LXWOA-GSVM模型和LXWOA-PSVM模型,遠優于LXWOA-BP模型。LXWOA-GSVM、LXWOA-PSVM模型的預測精度在伯仲之間。
分析了SVM用于水文預測預報中存在的不足,基于多項式核函數與高斯核函數構造MSVM。針對基本WOA存在的收斂速度慢和易陷入局部最優等不足,提出拉普拉斯鯨魚優化算法(LXWOA)。利用LXWOA同時優化MSVM關鍵參數和混合權重系數,提出LXWOA-MSVM徑流預測模型,并構建LXWOA-GSVM、LXWOA-PSVM和LXWOA-BP 作對比模型,以云南省清水江水文站枯水期1-4月月徑流預測為例進行實例研究。結果表明:LXWOA能有效優化MSVM模型的懲罰因子等關鍵參數,獲得較好的預測效果;LXWOA-MSVM模型能有效融合多項式核函數和高斯核函數二者優點,彌補各自在實際應用中的不足,有效改善SVM的預測精度和泛化能力; LXWOA-MSVM模型用于枯水期月徑流預測的可行性和有效性,模型及方法可為水文預測預報及相關預測研究提供新的途徑和方法。