張上要,羅軍剛,石國棟,景 鑫,連亞妮,左崗崗
(1.西安理工大學(xué) 西北旱區(qū)生態(tài)水利國家重點實驗室,陜西 西安 710048;2.陜西省渭河生態(tài)區(qū)保護(hù)中心,陜西 西安 710004)
在變化環(huán)境影響下,徑流變化逐漸呈現(xiàn)出非線性、非平穩(wěn)性特征,傳統(tǒng)的線性時間序列模型預(yù)測精度不高且模型方法的改進(jìn)空間有限[1-2]。隨著人工智能的發(fā)展,機(jī)器學(xué)習(xí)領(lǐng)域的非線性模型開始應(yīng)用于徑流預(yù)測,并且取得不錯的效果。同時,信號分解技術(shù)能夠?qū)⑺臅r間序列分解成若干相對穩(wěn)定的固有模態(tài)分量(IMFs),將其與徑流預(yù)測模型相耦合能夠顯著提升徑流預(yù)測的精度[3]。為克服徑流序列非平穩(wěn)性導(dǎo)致預(yù)測精度差的問題,周婷等[4]將小波分解(WD)與支持向量機(jī)(SVR)進(jìn)行耦合并應(yīng)用于徑流預(yù)測,研究表明WD 能夠有效提升徑流預(yù)測的精度。張金萍等[5]將自回歸滑動平均模型(ARMA)與完全集合經(jīng)驗?zāi)B(tài)分解(CEEMDAN)結(jié)合,發(fā)現(xiàn)CEEMDAN 能夠顯著提高ARMA 的擬合優(yōu)度。桑宇婷等[6]將CEEMDAN 與BP神經(jīng)網(wǎng)絡(luò)進(jìn)行耦合,并用于汾河流域的月徑流量預(yù)測,預(yù)測結(jié)果顯示CEEMDAN-BP 模型在模擬期和驗證期的徑流預(yù)測精度都達(dá)到甲級。包苑村等[7]將變分模態(tài)分解(VMD)與卷積-長短期記憶神經(jīng)網(wǎng)絡(luò)(CNNLSTM)結(jié)合開展月徑流量預(yù)測,結(jié)果表明VMD-CNNLSTM 模型對徑流序列的峰值和谷值擬合更優(yōu)。He等[8]將VMD 與深度神經(jīng)網(wǎng)絡(luò)(DNN)進(jìn)行耦合,用于渭河流域張家山水文站的日徑流量預(yù)測,其預(yù)測結(jié)果表現(xiàn)良好。Zuo 等[9]采用一種兩階段分解集成水文預(yù)測方法,解決信號分解過程中未來信息的引入導(dǎo)致模型預(yù)測結(jié)果失真的問題。
鑒于上述研究背景,筆者將變分模態(tài)分解(VMD)與時間卷積網(wǎng)絡(luò)(TCN)相結(jié)合構(gòu)建了VMD-TCN 耦合預(yù)測模型,將其應(yīng)用于渭河流域咸陽和華縣水文站的月徑流量預(yù)測。通過與其他3 種模型(TCN、EEMDTCN、ARIMA)對比,驗證VMD-TCN 的預(yù)測性能,同時分析VMD-TCN 在不同預(yù)見期的預(yù)測表現(xiàn)。
VMD 是在2014 年首次提出的一種新型信號處理算法,該信號分解算法具有自適應(yīng)和完全非遞歸的特點[10]。VMD 分解對噪聲具有良好的魯棒性,特別適用于復(fù)雜度高且非平穩(wěn)時間序列的預(yù)處理,并且能夠有效避免出現(xiàn)模態(tài)混疊的問題[11]。將原始徑流序列f(t)分解成k個模態(tài)分量ui(t)(i=1,2,…,k),考慮到徑流序列使用VMD 分解的各個分量所具有的特性,需要構(gòu)造出以下變分問題:
求解式(1)需要引入二次懲罰函數(shù)α和拉格朗日乘子λ(t)將其轉(zhuǎn)換成無約束的優(yōu)化問題,具體的公式如下:
將交替方向乘子算法(ADMM)[12]與傅里葉等距變換結(jié)合對式(2)進(jìn)行優(yōu)化,優(yōu)化后得到如下方程:
時間卷積網(wǎng)絡(luò)(TCN)是一種新型的時間序列預(yù)測模型,它是在卷積神經(jīng)網(wǎng)絡(luò)(CNN)的基礎(chǔ)上進(jìn)行改進(jìn)的,其模型架構(gòu)包括因果卷積(causal convolution)、空洞卷積(dilated convolution)和殘差模塊(residual block)。TCN 的梯度穩(wěn)定使其能夠有效避免模型訓(xùn)練過程中發(fā)生梯度消失或梯度爆炸導(dǎo)致模型訓(xùn)練失敗的問題,同時具有靈活的感受野[13]。
TCN 模型卷積結(jié)構(gòu)的層與層之間都是相互依賴的,后一層的輸出依賴上一層的輸入,每一層都間隔神經(jīng)元對上一層進(jìn)行信息提取,通過間隔采樣的形式,逐層膨脹系數(shù)以2 為指數(shù)增長,以便使用更少的層數(shù)獲得更大的感受野。為保證每一層的信息不丟失,需要對每一層的邊緣進(jìn)行填充。TCN 模型梯度穩(wěn)定的原因是引入殘差模塊,殘差模塊的引入可以保證在進(jìn)行特征提取時信息相對完整,保證模型預(yù)測準(zhǔn)確[14]。
本研究將VMD 分解與TCN 模型相結(jié)合構(gòu)建VMD-TCN 模型用于月徑流量預(yù)測,使用貝葉斯優(yōu)化算法進(jìn)行超參數(shù)調(diào)優(yōu)。開展徑流預(yù)測主要分3 個階段,分別是數(shù)據(jù)集劃分階段、預(yù)測樣本生成階段和徑流預(yù)測階段,具體流程見圖1。VMD-TCN 模型在進(jìn)行序列分解時將驗證集數(shù)據(jù)逐一添加至訓(xùn)練集中能夠有效避免模型訓(xùn)練引入未來信息。同時采用直接法生成預(yù)測樣本能夠提高模型的預(yù)測效率,節(jié)省計算資源[9]。
圖1 VMD-TCN 模型預(yù)測流程
本文使用4 種模型性能評價指標(biāo)用于評估模型的預(yù)測能力,分別是納什效率系數(shù)(NSE)、標(biāo)準(zhǔn)均方根誤差(NRMSE)、平均絕對百分比誤差(MAPE)和峰值預(yù)測性能指標(biāo)(PPTS)。
NSE 反映預(yù)測結(jié)果所含信息量占預(yù)測目標(biāo)所含信息量的比重,其值越接近1 表示模型的預(yù)測效果越好。NRMSE 是對預(yù)測結(jié)果均方根誤差的歸一化,適用于多模型對比,其值越接近0 則預(yù)測效果越好。MAPE 直接反映模型的預(yù)測誤差,越接近0 表示模型的預(yù)測性能越好。PPTS 能夠評價不同比例峰值的預(yù)測效果,越接近0 表示峰值預(yù)測性能越好。按照《水文情報預(yù)報規(guī)范》(GB/T 22482—2008)規(guī)定,NSE≥0.9,預(yù)測精度為甲級;0.7≤NSE<0.9,預(yù)測精度為乙級;0.5≤NSE<0.7,預(yù)測精度為丙級。
本試驗采用python3.7 環(huán)境,VMD 的附加分解使用python 的vmdpy 庫進(jìn)行,TCN 模型采用keras2.8.0搭建,超參數(shù)優(yōu)化框架采用keras-tuner1.1.0。
渭河流域面積為134 766 km2,其中陜西省境內(nèi)流域面積為67 108 km2。渭河干流全長818 km,是黃河最大的支流,多年平均徑流量高達(dá)75.7 億m3,多年平均降水量550 mm。咸陽水文站控制面積為4.7 萬km2,多年平均徑流量為37.298 億m3,是渭河中游的控制站。華縣水文站控制面積為10.6 萬km2,多年平均徑流量為63.768 億m3,是渭河下游主要控制站。本研究選用咸陽水文站和華縣水文站1953 年1 月至2018 年12 月共66 a 的月徑流量數(shù)據(jù),按7 ∶3 的比例劃分訓(xùn)練集和驗證集。
2.3.1 月徑流量序列VMD 分解
采用附加分解方式對月徑流量序列進(jìn)行VMD 分解,分別將咸陽站和華縣站的訓(xùn)練數(shù)據(jù)進(jìn)行分解。將兩個水文站的訓(xùn)練數(shù)據(jù)分別進(jìn)行VMD 分解預(yù)試驗,兩站在k=8 時分解效果最好,且恰好不出現(xiàn)模態(tài)混疊現(xiàn)象,圖2 為咸陽站訓(xùn)練數(shù)據(jù)分解之后的IMF1與IMF8圖,IMF2~I(xiàn)MF7圖略,華縣站同理。
圖2 咸陽站月徑流量序列(1953-01—1998-12)VMD 分解模態(tài)分量
2.3.2 特征序列滯后長度確定
采用直接法生成徑流預(yù)測樣本前,需要確定每一個特征序列輸入的滯后長度,以確定t時刻的流量與其前期流量的相關(guān)性[15]??紤]到完整原始徑流序列存在以12 個月為周期的規(guī)律性,將未分解的TCN 模型特征序列輸入的滯后長度設(shè)為12。采用自相關(guān)函數(shù)法(ACF)和偏自相關(guān)函數(shù)法(PACF)確定VMD 分解后各個模態(tài)分量的滯后長度,具體方法見文獻(xiàn)[16-17]。
2.4.1 不同模型預(yù)測結(jié)果對比分析
徑流序列分解并確定特征序列滯后長度后可構(gòu)建徑流預(yù)測樣本,將預(yù)測樣本輸入TCN 模型可開展徑流預(yù)測。為充分驗證模型的預(yù)測性能,將TCN、EEMDTCN、ARIMA 與VMD-TCN 進(jìn)行對比,其中EEMDTCN 模型同樣使用附加分解以避免未來信息引入。圖3、圖4 分別為咸陽站預(yù)見期1 個月的多模型實測與預(yù)測徑流量折線圖和散點分布圖,華縣站同理。表1 為兩站多模型預(yù)測性能評價指標(biāo)對比。
表1 多模型預(yù)測性能評價指標(biāo)
圖3 咸陽站多模型實測與預(yù)測徑流量折線分布
圖4 咸陽站多模型實測與預(yù)測徑流量散點分布
以咸陽站為例,由圖3、圖4 可知:1)相對TCN、EEMD-TCN 和ARIMA,VMD-TCN 對實測序列的擬合效果最好,特別是峰值的擬合,散點分布更加集中,理想擬合線與線性擬合線的夾角最小,說明VMD-TCN 模型的預(yù)測值與實測值具有高度的一致性。2)EEMD-TCN模型的擬合效果次之,但較VMD-TCN 對峰值的擬合不佳,散點更為分散。3)單一的TCN 和ARIMA 模型擬合效果不佳,TCN 與ARIMA 模型對峰值的擬合有明顯的滯后且難以預(yù)測高峰值,說明單一TCN 和ARIMA 難以預(yù)測峰值的到達(dá)時間及量值。
結(jié)合表1 咸陽站的預(yù)測性能評價結(jié)果可知:1)VMDTCN 模型的預(yù)測效果最好,NSE 在0.9 以上,預(yù)測精度達(dá)到了甲級。VMD-TCN 模型與單一的TCN 模型相比,NSE 提升了318%,NRMSE、MAPE 和PPTS 分別下降了67%、40%、85%。采用VMD 分解之后的TCN 模型預(yù)測性能有了極大的提升,主要原因是VMD 分解能夠得到平穩(wěn)的信號分量,從而有效降低徑流序列中噪聲對預(yù)測的影響,進(jìn)而提升預(yù)測的精度。2)EEMDTCN 模型相比TCN,NSE 提高了205%,NRMSE、MAPE和PPTS 分別下降了35%、26%、55%,說明EEMD 分解能對非平穩(wěn)時間序列起到一定的降噪作用并提升預(yù)測精度。采用附加分解的EEMD-TCN 的NSE 只有0.67,預(yù)測精度只有丙級,主要原因是EEMD 在分解過程中避免了未來信息的引入,預(yù)測精度有所降低但更可靠,同時EEMD 分解會出現(xiàn)模態(tài)混疊現(xiàn)象,較VMD分解效果更差。3)使用分解之后的TCN 預(yù)測效果遠(yuǎn)高于TCN 和ARIMA,由PPTS 指標(biāo)可以看出使用信號分解的模型峰值的預(yù)測效果更好。分析華縣站預(yù)測結(jié)果可得到與上述相同的結(jié)論。
總體上,4 種月徑流量預(yù)測模型預(yù)測性能的高低排序如下:VMD-TCN >EEMD-TCN >TCN≈ARIMA。耦合信號分解算法的組合模型預(yù)測效果高于單一模型,上述分析結(jié)果說明了VMD-TCN 對復(fù)雜非線性的徑流序列的處理和預(yù)測是可行的。
2.4.2 不同預(yù)見期預(yù)測結(jié)果分析
為進(jìn)一步驗證VMD-TCN 模型在不同預(yù)見期下的預(yù)測性能,以華縣站為例,針對預(yù)見期分別為1、3、5、7個月開展徑流預(yù)測研究。圖5 為華縣站VMD-TCN 模型在預(yù)見期為1、5 個月的預(yù)測與實測徑流量折線圖及散點分布圖,表2 為不同預(yù)見期預(yù)測性能評價指標(biāo)對比。
表2 不同預(yù)見期VMD-TCN 模型預(yù)測性能評價指標(biāo)
圖5 華縣站不同預(yù)見期實測與預(yù)測徑流量折線及散點分布
不同預(yù)見期下,模型的預(yù)測能力會有所變化,由圖5 可知:1)預(yù)見期為1 個月時,實測值折線與預(yù)測值折線能夠很好地貼合,對預(yù)測序列的峰值和谷值的擬合效果較好。從散點圖也可以看出,線性擬合線與理想擬合線的夾角較小,說明預(yù)見期為1 個月時實測值與預(yù)測值的一致性較高。2)隨著預(yù)見期增大,實測值與預(yù)測值之間的擬合誤差增大,線性擬合線和理想擬合線的角度增大,說明VMD-TCN 模型的預(yù)測能力會隨著預(yù)見期的增大而降低。
結(jié)合表2 不同預(yù)見期的預(yù)測性能評價指標(biāo)可知:1)預(yù)見期為1 個月時,NSE 在0.9 以上,預(yù)見期不斷增大NSE 值逐漸減小,當(dāng)預(yù)見期為7 個月時NSE 接近0.8,說明隨著預(yù)見期增大,VMD-TCN 模型的預(yù)測精度會下降,但依舊保持著較好的預(yù)測能力。2)隨著預(yù)見期增大,NSE 逐漸減小而NRMSE、MAPE 和PPTS 總體上逐漸增大,說明預(yù)見期增大而預(yù)測精度降低,部分原因是模型的峰值預(yù)測能力下降。預(yù)見期增大而模型預(yù)測能力降低的原因是隨著預(yù)見期的增大,預(yù)測值與目標(biāo)值的相關(guān)性逐漸降低,模型無法獲得更為準(zhǔn)確的信息進(jìn)行精確預(yù)測。
綜上所述,VMD-TCN 模型的預(yù)測性能會隨著預(yù)見期的增大而降低,特別是在峰值的預(yù)測上。預(yù)見期為1 個月時,預(yù)測效果最好,預(yù)測精度達(dá)到甲級;預(yù)見期為7 個月時效果較差,但預(yù)測精度仍達(dá)到了乙級??梢?,VMD-TCN 在不同預(yù)見期的徑流預(yù)測也是可行且有效的。
1)VMD 對徑流序列進(jìn)行預(yù)處理并耦合TCN 模型能夠顯著提升月徑流量預(yù)測的精度,同時VMD 采用附加分解方式能夠避免模型預(yù)測過程中未來信息的引入,預(yù)測結(jié)果更為可靠。
2)VMD-TCN 與EEMD-TCN 較之單一的TCN 和ARIMA 模型的預(yù)測表現(xiàn)更佳,且EEMD 分解會出現(xiàn)影響預(yù)測精度的模態(tài)混疊問題,VMD 分解能夠通過預(yù)試驗確定模態(tài)分量的個數(shù)從而有效避免模態(tài)混疊問題,VMD-TCN 預(yù)測精度高于EEMD-TCN。
3)隨著預(yù)見期的增大,構(gòu)建的徑流預(yù)測樣本所包含的信息會有所損失,預(yù)測因子與預(yù)測目標(biāo)的相關(guān)性逐漸降低,VMD-TCN 模型的預(yù)測性能會逐漸下降。