呂晗芳,趙雪花,桑宇婷,祝雪萍,張麗娟
(太原理工大學(xué)水利科學(xué)與工程學(xué)院,太原 030024)
徑流預(yù)測是水資源管理、調(diào)度和高效利用的基礎(chǔ)[1]。徑流過程是一個涉及水文、氣象及力學(xué)等的復(fù)雜過程,既受確定性因素的作用又受隨機(jī)因素的影響[2],并呈現(xiàn)出非線性、非平穩(wěn)性的特點(diǎn)。隨著計算機(jī)技術(shù)和數(shù)學(xué)算法的不斷發(fā)展,涌現(xiàn)出了一大批與機(jī)器學(xué)習(xí)和人工智能方法結(jié)合的研究。Suykens在傳統(tǒng)支持向量機(jī)(Support Vector Machines,SVM)的目標(biāo)函數(shù)中引入誤差平方和項(xiàng),并提出最小二乘支持向量機(jī)(Least-Square Support Vector Machines,LSSVM)方法,該方法收斂精度高,具有較好的非線性擬合能力[3,4]。目前最小二乘支持向量機(jī)在信號處理和時間序列預(yù)測等領(lǐng)域得到了廣泛應(yīng)用,周秀平[5]將LSSVM-馬爾科夫鏈組合模型成功應(yīng)用于年徑流預(yù)測;張楠[6]利用最小二乘支持向量方法,構(gòu)建了基于多因子量化指標(biāo)的徑流預(yù)測模型。
然而,僅用一個預(yù)測方法建立的預(yù)報模型很難反映水流序列的變化機(jī)制,這樣的單一模型會丟失隱含在原始序列中的重要信息。有研究指出,徑流時間序列的預(yù)處理對于提高預(yù)測精度是十分必要的。因此,當(dāng)前提高精度的關(guān)鍵在于對數(shù)據(jù)的預(yù)處理,充分挖掘有限樣本包含的信息,并提取反映其變化規(guī)律的成分,再對這些成分建立模型,進(jìn)而形成組合預(yù)測的建模思路以提高預(yù)測精度[7]。
小波分析、經(jīng)驗(yàn)?zāi)B(tài)分解(Empirical Mode Decomposition,EMD)和完備總體經(jīng)驗(yàn)?zāi)B(tài)分解法(Complete Ensemble Empirical Mode Decomposition with adaptive noise,CEEMDAN)是基于信號分析的分解方法,已常見于徑流數(shù)據(jù)的預(yù)處理階段。小波分析具有良好的時頻局域化特性,但自適應(yīng)差且受人為因素影響較大;EMD自適應(yīng)強(qiáng),卻存在端點(diǎn)效應(yīng)和過包絡(luò)等問題;CEEMDAN減小了白噪聲引起的誤差,但分解后會存在虛假模態(tài),影響算法的精確度[8-11]。為了解決上述分解方法出現(xiàn)的問題,Dragomiretskiy[12]提出了是一種新的信號分解方法----變模態(tài)分解(Variational Mode Decomposition,VMD)[13-14]。相比EMD的遞歸篩選模式,VMD是一種完全非遞歸的變分模態(tài)分解,具有堅實(shí)的理論基礎(chǔ),表現(xiàn)出更好的噪聲魯棒性。本文采用VMD對汾河上游月徑流數(shù)據(jù)進(jìn)行預(yù)處理,分解出一系列含有單一頻率信息的分量,再對這些分量建立LSSVM預(yù)測模型,最后重構(gòu)預(yù)測分量得到徑流預(yù)測結(jié)果,并對結(jié)果進(jìn)行分析以驗(yàn)證該方法的有效性。
VMD的目標(biāo)是將原始信號分解為一系列具有特殊稀疏性的離散模態(tài)分量,該方法能夠自適應(yīng)地確定相關(guān)波段并同時計算各模態(tài)分量,并更好的平衡解決各部分存在的噪聲。構(gòu)造變分模型和求模型最優(yōu)解的主要步驟如下:
(1)對模態(tài)函數(shù)進(jìn)行Hilbert(希爾伯特)變換,并在得到的單側(cè)頻譜中加入各模態(tài)的中心頻率,使得解析信號轉(zhuǎn)換為其對應(yīng)的基頻帶信號。計算該信號的梯度平方L2范數(shù),并定義它為各模態(tài)分量的帶寬,此時VMD模型轉(zhuǎn)化為約束變分問題。
(1)
式中:x為徑流序列;uk為模態(tài)分量;ωk為模態(tài)的中心頻率;k為模態(tài)分量數(shù);t為時間變量。
(2)在求解模型時,引入二次懲罰函數(shù)項(xiàng)和拉格朗日乘子算子,將上述約束變分問題轉(zhuǎn)化為非約束變分問題,并運(yùn)用乘子交替方向法求解模型計算最優(yōu)解。
L({uk},{ωk},λ)=
(2)
(3)最終,各模態(tài)分量解得,
(3)
式中:λ為拉格朗日乘子;α為二次懲罰系數(shù);i和k為模態(tài)分量數(shù)。
(4)根據(jù)式(3)不斷更新ukωkλ,直到滿足約束條件:
(4)
式中:ε為預(yù)先設(shè)置的極小值實(shí)數(shù),本文取值10-7。
最小二乘支持向量機(jī)(LSSVM)是對支持向量機(jī)(SVM)的改進(jìn),其代替?zhèn)鹘y(tǒng)二次規(guī)劃方法解決函數(shù)估計問題,引入最小二乘線性系統(tǒng)到支持向量機(jī)中,具體步驟如下:
(1)對于給定訓(xùn)練樣本集{xi,yi},其中i=1,2,…,N,xi為輸入數(shù)據(jù),yi為輸出數(shù)據(jù),應(yīng)用核函數(shù)將樣本轉(zhuǎn)換到高維空間中,則樣本滿足線性規(guī)律:
f(x)=βTφ(x)+b
(5)
式中:βT為高維空間超平面的法向量;b為偏置量;φ(x)為非線性映射函數(shù)。
(2)依據(jù)結(jié)構(gòu)風(fēng)險最小化原理,將回歸問題轉(zhuǎn)化成一個等式約束的優(yōu)化問題:
(6)
式中:ei為誤差;γ為正則化參數(shù)。
(3)針對目標(biāo)函數(shù)建立拉格朗日等式:
(7)
式中:θ為拉格朗日乘子。
由于VMD處理復(fù)雜信號的突出優(yōu)勢,本文嘗試建立VMD-LSSVM組合預(yù)測模型以提高復(fù)雜徑流序列預(yù)測的精度,其模型結(jié)構(gòu)如圖1所示。具體模型計算步驟如下:
(1)各站點(diǎn)的月徑流時間序列總長516,首先經(jīng)過EMD、CEEMDAN和VMD分解,可得到一系列具有單一頻率信號的固有模態(tài)函數(shù)(IMF),即為圖中IMF1,IMF2,…,IMFn,VMD法的分解個數(shù)設(shè)定與CEEMDAN的分解個數(shù)相同,選擇二次懲罰系數(shù)為2 000,噪聲容忍度為0。
(2)將一系列IMF分別輸入LSSVM中,使用網(wǎng)格搜索進(jìn)行最優(yōu)調(diào)參并加入歸一化提高擬合度,得到各IMF對應(yīng)的輸出值序列,即為圖中Y1,Y2,…,Yn。
(3)各輸出值重構(gòu)為最終的預(yù)測徑流序列。
圖1 VMD-LSSVM模型預(yù)測流程圖Fig.1 Flowchart of the VMD-LSSVM model proposed
汾河作為山西的母親河,是黃河的第二大支流,位于黃河的中游段,流域面積達(dá)38 728 km2。汾河的上游段從寧武縣的管涔山河源到太原北郊的蘭村,是太原重要的水源地和最大的飲用水功能區(qū),本文研究的4個水文站點(diǎn)均位于汾河上游。上靜游站位于汾河支流嵐河上,此站上游控制面積為1 140 km2;汾河水庫站處于嵐河與汾河的交匯處;寨上站坐落于古交市寨上村,控制面積約1 500 km2;蘭村站在汾河的中上游,位于太原市西北22.5 km的上蘭村。4個水文站1958-2000年月徑流數(shù)據(jù)資料來自山西省水文局,已被運(yùn)用于多個科研項(xiàng)目及工程,因此可以保證可靠性;且該徑流序列較長,資料精度較高,具有很好的代表性,能夠客觀反映汾河上游徑流演變特征。
利用VMD法對4個水文站的月徑流資料進(jìn)行分解,各站原始徑流序列和其分解IMF分量的頻譜圖如圖2所示。原始徑流數(shù)據(jù)包含多頻率的徑流序列信息,呈現(xiàn)“雜亂無章”的特點(diǎn),很難找到其中蘊(yùn)含的變化規(guī)律。隨著頻率的增大,原始徑流序列的幅值變化出現(xiàn)多個峰值,代表在某段頻率周期中徑流序列出現(xiàn)了大幅度變化,相較其他的小幅變化這種變化能夠主導(dǎo)序列的趨勢,這類峰值變化信息為主要頻率信息,包含主要頻率信息的分量為主要頻率分量。而VMD法分解出的各IMF分量能夠?qū)⒃夹蛄械亩鄠€頻率分解開來,并且這些預(yù)處理后的分量能夠自適應(yīng)的提取重要變化信息。蘭村站的IMF1、IMF3、IMF4、IMF6與其他站點(diǎn)的IMF1、IMF2、IMF4、IMF6分別包含了各主要頻率信息,剩余的IMF包含其他相關(guān)信息。各IMF分量在主要頻率信息的其余各處幅值基本為0,說明VMD可以在不影響重要信息的情況下自適應(yīng)地去除不利于模型預(yù)測的噪聲,在分解與提取的同時體現(xiàn)了優(yōu)秀的除噪效果,更突出了重要變化信息,使得原始數(shù)據(jù)變化過程易于讀取。
圖2 月徑流序列的VMD分解結(jié)果圖Fig.2 VMD decomposition results of monthly runoff series
本文使用上靜游站、汾河水庫站、寨上站和蘭村站1958-2000年總計516個月徑流資料,其中前492個數(shù)據(jù)即1958年1月至1998年12月徑流資料為訓(xùn)練集,這組數(shù)據(jù)用于模型模擬及訓(xùn)練,后24個數(shù)據(jù)即1999年1月至2000年12月徑流資料為測試集用于測試模型預(yù)測效果。
為對比模型預(yù)測效果,本文選擇4種模型進(jìn)行分別預(yù)測,包括單一預(yù)測LSSVM模型、組合預(yù)測EMD-LSSVM模型、CEEMDAN-LSSVM模型以及VMD-LSSVM模型。各模型預(yù)測結(jié)果與原徑流數(shù)據(jù)的對比見圖3。
圖3 4個水文站各模型預(yù)測結(jié)果對比圖Fig.3 Forecast results by using each model at four hydrological stations
由圖3可知:①在單一LSSVM預(yù)測模型下,4個站點(diǎn)的預(yù)測效果并不理想,只能夠顯示出大致的變化趨勢,并且大部分預(yù)測數(shù)據(jù)比實(shí)測數(shù)據(jù)高60%左右,在4種模型中預(yù)測效果最差。其中最為明顯的是,上靜游站1999年6-10月與2000年7-9月預(yù)測值明顯遠(yuǎn)大于實(shí)測值。②組合模型EMD-LSSVM的預(yù)測效果相較單一預(yù)測模型更好,更接近實(shí)測值,但仍有部分?jǐn)?shù)據(jù)存在趨勢相反或誤差大于50%的情況。③在使用組合模型CEEMDAN-LSSVM時,預(yù)測結(jié)果的變化趨勢已基本與實(shí)測序列相同,誤差相較EMD-LSSVM模型減少了約40%,在4個模型中預(yù)測效果僅次于VMD-LSSVM模型,僅有個別數(shù)據(jù)存在誤差較大的情況。這說明CEEMDAN比EMD減少了模態(tài)混疊的現(xiàn)象,使預(yù)測效果得到提高。④組合模型VMD-LSSVM的預(yù)測效果與實(shí)測徑流曲線擬合度最好,變化趨勢與原序列相同,且無極端值出現(xiàn),可以初步判斷,VMD分解方法較經(jīng)驗(yàn)?zāi)B(tài)系列方法能更好地應(yīng)對序列中包含的復(fù)雜頻率信息,且與LSSVM組合應(yīng)用效果更好。
為了更清晰地闡述模型預(yù)測效果,平均絕對誤差MAE、均方根誤差RMSE、平均絕對百分比誤差MAPE和納什效率系數(shù)NS4個指標(biāo)將用于分析預(yù)測精度,計算公式如下:
(8)
(9)
(10)
(11)
式中:σi為i時刻的預(yù)測值;σ0為i時刻的實(shí)測值;σ為實(shí)測值的均值。
根據(jù)《水文情報預(yù)報規(guī)范(GB/T 22482-2008)》的規(guī)定,當(dāng)NS≥0.90時,預(yù)測精度為甲級;0.70≤NS<0.90時,預(yù)測精度為乙級;0.50≤NS<0.70時,預(yù)測精度為丙級。
表1為汾河上游4個水文站的精度指標(biāo)結(jié)果,從中可以分析得到:①各模型在訓(xùn)練期的NS指標(biāo)為0.7以上,達(dá)到丙級以上水平,且隨著模型的優(yōu)化,從單一預(yù)測模型到組合預(yù)測模型,從應(yīng)用遞歸的經(jīng)驗(yàn)?zāi)B(tài)系列方法到應(yīng)用非遞歸、分解更完全的變分模態(tài)分解方法,MAE、MAPE和RMSE指標(biāo)逐漸減小,NS逐漸靠近1。②測試期預(yù)測結(jié)果關(guān)于模型的比較更加明顯,VMD-LSSVM模型的MAE、MAPE和RMSE與單一LSSVM模型相比分別減少了80%~90%、75%~90%、50%~90%;與EMD-LSSVM模型相比分別減少了70%~80%、60%~85%、50%~80%;與CEEMDAN-LSSVM模型相比分別減少了50%~75%、40%~70%、40%~70%。VMD-LSSVM模型的NS為0.81~0.92,預(yù)測精度為甲級;EMD-LSSVM模型的NS為0.50~0.68;CEEMDAN-LSSVM模型的NS為0.69~0.83;LSSVM模型的NS為0.21~0.31,預(yù)測結(jié)果不可信。③訓(xùn)練期整體比測試期預(yù)測效果要好,各模型都存在不同程度的過學(xué)習(xí)現(xiàn)象。以寨上站為例,LSSVM模型測試期RMSE為訓(xùn)練期的近10倍,而VMD-LSSVM模型測試期RMSE為訓(xùn)練期的3倍。LSSVM單一模型對訓(xùn)練樣本內(nèi)的噪聲和孤立點(diǎn)比較敏感,由于徑流序列的復(fù)雜多頻特性,其含有的不利噪聲表現(xiàn)為頻譜圖中各個頻率段摻雜的無序低幅值波動,這會影響LSSVM的回歸擬合,而VMD分解能夠使復(fù)雜信息轉(zhuǎn)化為主要頻率信息和其他信息,并且有優(yōu)秀除噪效果,有利于LSSVM尋找最優(yōu)回歸參數(shù)以降低輸出誤差,所以將分解后的IMF分量再輸入LSSVM進(jìn)行預(yù)測能夠減少噪聲對模型預(yù)測精度的影響。④整體來看,上靜游站和蘭村站的VMD-LSSVM模型預(yù)測效果最為理想,NS達(dá)到甲級,而汾河水庫站與寨上站的預(yù)測精度最高只能達(dá)到乙級。
表1 4個水文站各模型預(yù)測誤差對比Tab.1 Prediction error of each model at four hydrological stations
表2 4個水文站兩類分量的預(yù)測誤差及權(quán)重對比Tab.2 Prediction error and weight of each types of components at four hydrological stations
為了更加深刻地描述VMD分解方法在預(yù)測中的應(yīng)用效果,做出4個水文站兩類分量的預(yù)測誤差及權(quán)重對比(見表2)。通過VMD法分解后可以得到各站的IMF分量,提取出各站的主要頻率分量與其他頻率分量,對這組原始數(shù)據(jù)與預(yù)測數(shù)據(jù)進(jìn)行NS誤差分析,并計算兩類分量的線性權(quán)重。主要頻率分量的NS接近1,預(yù)測精度高,而其他頻率分量精度稍低,并且主要頻率分量較其他頻率分量在預(yù)測序列中權(quán)重大,說明主要頻率分量在預(yù)測中有重要地位,該分量精度的提升可以帶動總體VMD-LSSVM模型精度的提高,研究這類信息的提取和預(yù)測對于提高整體預(yù)測精度具有重要意義,這也表明了VMD-LSSVM組合模型對于月徑流序列預(yù)測的優(yōu)勢所在。
綜上所述,汾河上游徑流序列的預(yù)測效果優(yōu)劣排序應(yīng)如下:VMD-LSSVM > CEEMDAN-LSSVM > EMD-LSSVM > LSSVM,組合模型較單一預(yù)測模型在預(yù)測精度上有一定的優(yōu)勢,其中VMD-LSSVM模型相較EMD-LSSVM和CEEMDAN-LSSVM在訓(xùn)練期和測試期都能達(dá)到較高精度,該模型用于復(fù)雜多頻信息的徑流序列預(yù)測是可行、有效的。
(1)在對復(fù)雜的徑流序列進(jìn)行預(yù)測時,單一LSSVM模型的預(yù)測結(jié)果不可信,需要將序列進(jìn)行預(yù)處理后再預(yù)測,經(jīng)過分解后進(jìn)行預(yù)測再重構(gòu)的組合模型法可以大幅提高預(yù)測精度。
(2)相比經(jīng)驗(yàn)?zāi)B(tài)系列方法的遞歸篩選模式,變模態(tài)分解法是一種完全非遞歸的變分模態(tài)分解,具有堅實(shí)的理論基礎(chǔ),能夠提取出主要頻率信息,表現(xiàn)出更好的噪聲魯棒性,從而有利影響預(yù)測效果,進(jìn)一步提高預(yù)測精度。
(3)VMD-LSSVM模型首先將實(shí)測徑流數(shù)據(jù)分解為一系列子序列,并提取出主要頻率分量和其他相關(guān)信息,再把該組序列分別輸入LSSVM進(jìn)行預(yù)測,得到對應(yīng)的一組預(yù)測序列,經(jīng)重構(gòu)后為最終的預(yù)測數(shù)據(jù)。該方法的預(yù)測效果與EMD-LSSVM、CEEMDAN-LSSVM和LSSVM相比誤差最小,NS為乙級以上。VMD-LSSVM模型用于包含多頻率信息的復(fù)雜徑流序列預(yù)測是可行且有效的,該模型可以推廣到與汾河上游地理環(huán)境相似的流域。
□