王碩,陳中舉,許浩然,黃小龍
(長江大學(xué)計(jì)算機(jī)科學(xué)學(xué)院,湖北 荊州 434023)
降水量預(yù)測是氣候預(yù)測的重要研究內(nèi)容。降水量與人類的生產(chǎn)生活,社會的經(jīng)濟(jì)發(fā)展密切相關(guān)。大氣降水是一個(gè)地區(qū)地表水和地下水的總補(bǔ)給源,直接決定了這個(gè)地區(qū)的水資源豐富程度,并且異常的降水是旱災(zāi)、洪澇災(zāi)害的直接影響因素之一[1-6]。因此,降水量的準(zhǔn)確預(yù)測有著極其重要的意義,也是近年來國內(nèi)外研究的熱點(diǎn)。
目前,國內(nèi)外學(xué)者在預(yù)測降水量上進(jìn)行了大量探索,主要的研究方法有回歸模型[7,8]、支持向量回歸[9-11]、神經(jīng)網(wǎng)絡(luò)[12]等。其中,長短期記憶網(wǎng)絡(luò)(Long Short-Term Memory, LSTM)在相關(guān)工作上被廣泛的應(yīng)用并取得了不錯(cuò)的成效[14]。然而,水文時(shí)間數(shù)據(jù)是非線性、非平穩(wěn)的數(shù)據(jù),由于單一模型存在一定的局限性,其預(yù)測效果可能會不理想。有學(xué)者提出結(jié)合信號分析方法-集合經(jīng)驗(yàn)?zāi)B(tài)分解(Ensemble Empirical Mode Decomposition, EEMD)與時(shí)間序列模型進(jìn)行預(yù)測,得到了不錯(cuò)的效果。如李智強(qiáng)等[8]使用EEMD-ARIMA模型對臨夏的年降水量進(jìn)行預(yù)測。楊倩等[14]使用EEMD-LSTM對天山北坡經(jīng)濟(jì)帶降雨量進(jìn)行預(yù)測。由于EEMD方法有著很強(qiáng)的局部表現(xiàn)能力,所以在處理水文時(shí)間序列這種非線性、非平穩(wěn)的信號時(shí)是一種有效的方法,結(jié)合了EEMD的模型相較于單一模型預(yù)測準(zhǔn)確性得到了較大的提升[13-16]。
然而,LSTM仍存在不足,LSTM只能夠按照順序讀取數(shù)據(jù),在數(shù)據(jù)的并行處理上存在一定的劣勢。此外,EEMD在分解的過程中也會存在殘余的白噪聲,并且EEMD選取有效的IMF完全依靠經(jīng)驗(yàn)來確定,使得EEMD對信號的分解重構(gòu)的準(zhǔn)確性受到影響。
時(shí)間卷積網(wǎng)絡(luò)(Temporal Convolutional Network, TCN)[17]近年來被證明在很多時(shí)間序列處理上的性能都優(yōu)于LSTM[18],如李亞平等[19]使用TCN對滾動軸承壽命趨勢進(jìn)行預(yù)測,結(jié)果表明TCN的性能要優(yōu)于LSTM。相較于LSTM,TCN架構(gòu)更簡單更易于理解,并且TCN既能夠利用卷積網(wǎng)絡(luò)提取時(shí)間序列的高級特征,又可以用并行思想高效率計(jì)算,進(jìn)而在提高速度的同時(shí)達(dá)到更好的預(yù)測效果。自適應(yīng)噪聲的完備經(jīng)驗(yàn)?zāi)B(tài)分解(complete ensemble empirical mode decomposition with adaptive noise, CEEMDAN)[20]是由Torres等在2011年提出的。相對于EEMD,CEEMDAN大大降低了分解的復(fù)雜度并進(jìn)一步提升了分解信號的精確度和完備度,具有明顯的優(yōu)越性。因此,為了提高降水量預(yù)測的準(zhǔn)確性,本文將CEEMDAN和TCN耦合構(gòu)建CEEMDAN-TCN模型,并首次應(yīng)用于地學(xué)領(lǐng)域的降水量預(yù)測上,對河南省月降水量進(jìn)行預(yù)測。最后,與LSTM、TCN、CEEMDAN-LSTM三個(gè)模型進(jìn)行對比,驗(yàn)證了CEEMDAN-TCN模型的有效性。
河南地處中國中部,總面積為16.7 萬km2,地理坐標(biāo)為31°23′~36°22′N、100°21′~116°39′E。年平均降水量在464.2~1 193.2 mm。河南省地勢西高東低,由平原和盆地、丘陵、山地和水面構(gòu)成[21]。河南省大部分處于溫暖帶,氣候上屬于北亞熱帶向暖溫帶過渡的大陸性季風(fēng)氣候。同時(shí),河南省還具有自東向西由平原向丘陵山地氣候過渡的特征和四季分明、雨熱同期等氣候特點(diǎn)。本文的研究區(qū)域及各區(qū)域站點(diǎn)數(shù)目為豫東3個(gè)、豫南6個(gè)、豫西3個(gè)、豫北2個(gè)、豫中3個(gè)共五大區(qū)域17個(gè)站點(diǎn)。區(qū)域及氣象站點(diǎn)分布如圖1所示。
圖1 研究區(qū)域概況Fig.1 Overview of the study area
本文所用的河南省降水量數(shù)據(jù)均來自于中國氣象數(shù)據(jù)網(wǎng)(http://data.cma.cn),所用河南地理高程數(shù)據(jù)來源于地理空間數(shù)據(jù)云(http://www.gscloud.cn/search)。
CEEMDAN是對EMD以及EEMD算法的改進(jìn)算法。CEEMDAN算法在對信號進(jìn)行EMD分解的各個(gè)階段,自適應(yīng)調(diào)整噪聲系數(shù),從而在待分解信號中引入不同信噪比的高斯噪聲,能同時(shí)避免模態(tài)混疊問題并消除虛假信息干擾[22]。CEEMDAN算法原理如下:
定義x(t)為待分解的時(shí)間序列信號,通過EMD分解得到的第k個(gè)IMF分量為Ek(·),是通過算法CEEMDAN分解得到的第k個(gè)IMF,Vm為滿足標(biāo)準(zhǔn)正態(tài)分布的高斯白噪聲,m為加入白噪聲的次數(shù)m= 1,2,…,N,ε0為噪聲系數(shù)。
步驟1:將N組高斯白噪聲加入待分解的信號,對新信號進(jìn)行EMD分解并對產(chǎn)生的N個(gè)IMF進(jìn)行總體平均得到CEEMDAN的IMF1。
步驟2:計(jì)算第一個(gè)殘差r1(t)。
步驟3:在一階殘差中加入正負(fù)成對的高斯白噪聲并對其進(jìn)行EMD分解得到模態(tài)分量D1重復(fù)計(jì)算N次并進(jìn)行總體平均可得到CEEMDAN的IMF2。
步驟4:計(jì)算第二個(gè)殘差r2(t)。
步驟5:重復(fù)步驟3和步驟4直到獲得的殘差信號為單調(diào)信號不能繼續(xù)進(jìn)行分解,算法結(jié)束。此時(shí)得到的IMF數(shù)量為i,原始信號x(t)被分解為:
時(shí)間卷積網(wǎng)絡(luò)(TCN)是由卷積神經(jīng)網(wǎng)絡(luò)(CNN)變體而來。它可以直接使用卷積的特性來提取時(shí)間序列的高級特征,并且,相較于LSTM,TCN擁有并行性好、感受野靈活、梯度穩(wěn)定、內(nèi)存小等優(yōu)點(diǎn)[23]。在結(jié)構(gòu)上時(shí)間卷積網(wǎng)絡(luò)主要由因果卷積、膨脹卷積和殘差模塊構(gòu)成。
(1)因果卷積。TCN需要保證網(wǎng)絡(luò)的輸出長度和輸入長度相同,并且未來數(shù)據(jù)不會發(fā)生泄露,因此,TCN采用了一維全卷積網(wǎng)絡(luò)和因果卷積。下面給出因果卷積的定義序列X=(x1,x2,…,xt),濾波器F= (f1,f2,…,ft),在xt處的因果卷積為:
(2)膨脹卷積。簡單的因果卷積并不能獲取較長的時(shí)間序列。為此,TCN采用了膨脹卷積。下面給出膨脹卷積的定義序列X=(x1,x2,…,xt),濾波器F=(f1,f2,…,ft),在xt處膨脹因子為d的膨脹卷積為:
(3)殘差模塊。為了解決引入因果卷積和膨脹卷積從而造成的梯度消失或者爆炸問題,TCN引入殘差模塊,將模型的輸入x加權(quán)融合到模型的輸出F(x)中最終得到TCN的輸出y。
式中:Activation為激活函數(shù)。
長短期記憶網(wǎng)絡(luò)(LSTM)由Hochreiter等提出[24]。LSTM在RNN的基礎(chǔ)上引入了記憶細(xì)胞的結(jié)構(gòu)和輸入門、輸出門、遺忘門3種門結(jié)構(gòu)。其網(wǎng)絡(luò)輸入到輸出的計(jì)算過程如下:
式中:Wf、Wi、Wo、Wc分別代表遺忘門、輸入門、輸出門、記憶單元的權(quán)值向量;bf、bi、bo、bc分別代表遺忘門、輸入門、輸出門、記憶單元的偏置向量。
CEEMDAN-TCN模型構(gòu)建流程如圖2所示,具體建模步驟如下。
圖2 建模流程Fig.2 Modeling process
步驟1:針對降水量時(shí)間序列非線性,非平穩(wěn)的特性,使用CEEMDAN方法對其進(jìn)行分解處理,降低原始序列對模型產(chǎn)生的不利影響。得到各個(gè)平穩(wěn)的IMF分量以及一個(gè)殘差分量Res。
步驟2:分別將各個(gè)子序列數(shù)據(jù)進(jìn)行歸一化處理,并采用滑動窗口方法針對各個(gè)子序列建立TCN模型分別對其進(jìn)行預(yù)測,使用優(yōu)化算法對模型的超參數(shù)進(jìn)行優(yōu)化。
步驟3:將各個(gè)子序列使用經(jīng)過優(yōu)選過的TCN模型進(jìn)行預(yù)測得到預(yù)測結(jié)果,并將預(yù)測的結(jié)果疊加得到預(yù)測值。
本文采用均方根誤差(RMSE)和平均絕對誤差(MAE)對模型的精度進(jìn)行評價(jià)。其計(jì)算公式如公式(15)、(16)所示。
式中:k為氣象站點(diǎn)數(shù);yt和為真實(shí)值和預(yù)測值。
本文選取河南省17個(gè)氣象觀測站1960-2017年的月降水?dāng)?shù)據(jù)作為研究對象,建立CEEMDAN-TCN模型進(jìn)行預(yù)測,按7∶3的比例將數(shù)據(jù)集進(jìn)行劃分,即1960年1月-2000年7月的月降水量數(shù)據(jù)共496個(gè)月的數(shù)據(jù)進(jìn)行模型的訓(xùn)練,2000年8月-2017年12月共200個(gè)月的降水量進(jìn)行模型的驗(yàn)證。使用控制變量法根據(jù)預(yù)測結(jié)果的精度調(diào)整模型參數(shù),經(jīng)過多次實(shí)驗(yàn)最終確定模型的優(yōu)化器為Adam(Adaptive moment estimation),確定學(xué)習(xí)率為0.000 1,迭代次數(shù)為600;為了防止模型出現(xiàn)過擬合現(xiàn)象,將模型的dropout設(shè)為0.1。對比模型LSTM與TCN模型的參數(shù)調(diào)整類似,同樣將dropout設(shè)為0.1,采用Adam作為優(yōu)化算法,迭代次數(shù)和TCN設(shè)置相同。實(shí)驗(yàn)環(huán)境為python3.7,tensorflow版本為2.3.1。
以57178站點(diǎn)為例,原始降水量序列的變化曲線如圖3所示。由圖3可知,原始降水量序列的波動幅度較大,存在著較強(qiáng)的非平穩(wěn)性。通過CEEMDAN方法對原始降水量序列共696個(gè)月的數(shù)據(jù)進(jìn)行分解得到8個(gè)子序列,分解結(jié)果如圖4所示。隨著分解的逐步進(jìn)行,經(jīng)過分解得到的8個(gè)子序列波動漸趨于平緩并且更具有規(guī)律性。CEEMDAN分解有效降低了序列的非平穩(wěn)性,從而提高了模型預(yù)測的精度。
圖3 57178站點(diǎn)原始降水序列Fig.3 The original Precipitation sequence of 57178 site
圖4 基于CEEMDAN分解結(jié)果Fig.4 Decomposition results based on CEEMDAN
為驗(yàn)證本文提出的CEEMDAN-TCN模型的可行性,選取LSTM模型、TCN模型、CEEMDAN-LSTM模型進(jìn)行對比實(shí)驗(yàn),采用RMSE和MAE指標(biāo)對各模型的預(yù)測效果進(jìn)行評判。各個(gè)模型的驗(yàn)證集預(yù)測精度如表1所示,驗(yàn)證集預(yù)測值和真實(shí)值對比結(jié)果如圖5所示。
表1 57178站點(diǎn)各模型預(yù)測精度評價(jià)指標(biāo)對比Tab.1 Comparison of prediction accuracy evaluation indicators of each model at 57178 site
圖5 57178站點(diǎn)各模型降水量預(yù)測值與真實(shí)值對比Fig.5 Comparison between the predicted value and the real value of the precipitation of each model at 57178 site
由表1可知,本文提出的CEEMDAN-TCN模型預(yù)測效果均優(yōu)于對比模型,且預(yù)測精度提升較大。結(jié)合圖5和表1可知,LSTM模型的預(yù)測誤差最高,其預(yù)測值相較真實(shí)值較為離散。TCN得益于強(qiáng)大的信息提取和擬合能力預(yù)測精度有所提升,相較LSTM模型,RMSE減少了4.44%,MAE減少了12%。并且由于TCN具有更高的計(jì)算效率,其運(yùn)行時(shí)間相較LSTM減少了36.36%。但單一的TCN模型預(yù)測效果仍存在較大不足,其對于峰值的預(yù)測與真實(shí)值具有一定差距,且對波谷的波動無法有效的預(yù)測。
CEEMDAN-LSTM預(yù)測效果相較于LSTM模型預(yù)測效果有著顯著提升,RMSE和MAE分別減少37.60%,20.75%。CEEMDAN-LSTM的預(yù)測值整體符合實(shí)際降水量序列的變化趨勢,且對于波峰的預(yù)測有著較好的效果。但CEEMDAN-LSTM無法對波谷進(jìn)行有效的預(yù)測,波谷的預(yù)測值相較于真實(shí)值仍較為離散。CEEMDAN-TCN模型相較LSTM模型、TCN模型、CEEMDAN-LSTM模型,其預(yù)測精度最高,RMSE分別減少了74.09%、72.88%、58.47%;MAE分別減少了70.86%、66.87%、63.22%,預(yù)測精度具有較大提升。并且,由圖5可知,CEEMDAN-TCN模型對降水量序列的變化趨勢預(yù)測更為準(zhǔn)確,其較為準(zhǔn)確地預(yù)測出了波峰和波谷的波動情況,預(yù)測值更貼近真實(shí)值。
為進(jìn)一步驗(yàn)證CEEMDAN-TCN模型在月降水量預(yù)測的有效性和普適性,選取河南省另外16個(gè)站點(diǎn)建立模型進(jìn)行預(yù)測,并選取LSTM模型、TCN模型、CEEMDAN-LSTM模型進(jìn)行對比實(shí)驗(yàn),4個(gè)模型的驗(yàn)證集預(yù)測精度如圖6和圖7所示,詳細(xì)數(shù)值如表2所示。
表2 各個(gè)站點(diǎn)各模型預(yù)測精度評價(jià)指標(biāo)對比mmTab.2 Comparison of prediction accuracy evaluation indexes for each model at each site
圖6 河南省各站點(diǎn)RMSE值對比Fig.6 Comparison of RMSE values for each site in Henan Province
圖7 河南省各站點(diǎn)MAE值對比Fig.7 Comparison of MAE values for each site in Henan Province
結(jié)合表2和圖6圖7可知,在所有模型中LSTM模型在所有站點(diǎn)的預(yù)測效果都較差。相較于LSTM模型,TCN模型預(yù)測效果有所提升,其RMSE、MAE平均減少11.47%和14.20%,說明TCN具有更優(yōu)秀的捕捉序列間信息的能力。但由表2可得,單一的LSTM模型和TCN模型對降水量序列的預(yù)測精度仍然不高,RMSE值和MAE值處于較高水平,這主要是由于降水量序列的非線性和非平穩(wěn)性使得單一的模型無法很好的擬合降水量序列的變化趨勢,這表明僅使用單一的模型對降水量序列預(yù)測精度的提升十分有限。
CEEMDAN-LSTM模型相較LSTM模型,其RMSE和MAE平均減少29.80%,22.87%,說明了CEEMDAN方法可以有效降低降水量序列的不規(guī)律性和非平穩(wěn)性以提升模型預(yù)測的精度。CEEMDAN-TCN對大部分站點(diǎn)的預(yù)測都較為準(zhǔn)確,對個(gè)別站點(diǎn)的預(yù)測效果欠缺,但對這些站點(diǎn)預(yù)測的RMSE值和MAE值在上述對比模型中仍然最低。CEEMDAN-TCN模型相對于TCN模型、LSTM模型、CEEMDAN-LSTM模型RMSE分別平均減少了33.71%、41.32%、16.40%;MAE分別平均減少了25.60%、36.16%、17.23%,預(yù)測效果較好,預(yù)測精度在所有站點(diǎn)所有模型中最高。實(shí)驗(yàn)結(jié)果表明CEEMDAN-TCN模型在河南省月降水量預(yù)測中更加有效且具有普適性。
為進(jìn)一步驗(yàn)證CEEMDAN-TCN模型的預(yù)測效果,本文對2000年8月-2017年12月的月均降水量數(shù)據(jù)各模型的預(yù)測值和真實(shí)值采用普通克里金插值法進(jìn)行空間插值,插值結(jié)果如圖8所示。
圖8 各模型降水量真實(shí)值和預(yù)測值的空間插值分布Fig.8 The spatial interpolation distribution of predicted and true values of precipitation for each model
由圖8可知,河南省降水量由豫西北到豫東南逐漸遞增,形成了以豫東南區(qū)域?yàn)橹行牡慕邓咧祬^(qū)。通過分析四種模型的預(yù)測值和真實(shí)值的空間插值分布可知,CEEMDAN-TCN模型預(yù)測值的總體變化趨勢與真實(shí)值變化趨勢相符,在豫東、豫西、豫北的預(yù)測效果較好;但在豫南的部分站點(diǎn)空間的插值效果存在欠缺,這主要是由于豫南降水量數(shù)據(jù)較為復(fù)雜,極端降水較多造成的。CEEMDAN-LSTM模型的總體變化趨勢和真實(shí)值變化趨勢雖然相近,但在豫西的57051、57067站點(diǎn),豫南的57156站點(diǎn)都存在空間插值效果不佳的情況。TCN、LSTM模型插值在大部分站點(diǎn)效果較差,僅在豫南的插值效果與真實(shí)值插值效果相近。綜上,說明CEEMDAN-TCN模型相較其他3種模型在河南省月降水量預(yù)測上效果更好。
本文針對LSTM存在的不足和降水量數(shù)據(jù)非平穩(wěn)性、非線性導(dǎo)致其難以被準(zhǔn)確預(yù)測的問題。將自適應(yīng)噪聲的完備經(jīng)驗(yàn)?zāi)B(tài)分解(CEEMDAN)和時(shí)間卷積網(wǎng)絡(luò)(TCN)結(jié)合,提出了基于CEEMDAN-TCN模型的降水量預(yù)測方法。使用河南省1960年1月-2000年7月的月降水量數(shù)據(jù)進(jìn)行訓(xùn)練,2000年8月-2017年12月的降水量數(shù)據(jù)進(jìn)行預(yù)測,得出結(jié)論如下:
(1)在河南省單站點(diǎn)月降水量預(yù)測中,在57178站點(diǎn),相對于LSTM模型、TCN模型、CEEMDAN-LSTM模型,CEEMDAN-TCN模型的預(yù)測精度最高,對波峰波谷的預(yù)測更為準(zhǔn)確,較準(zhǔn)確地預(yù)測出了降水量序列的整體的變化趨勢。
(2)在河南省其他全部站點(diǎn)中,相較于LSTM模型、TCN模型、CEEMDAN-LSTM模型,CEEMDAN-TCN模型在各個(gè)站點(diǎn)的預(yù)測精度最高,且具有較大的提升。對絕大多數(shù)站點(diǎn)的預(yù)測效果都較好,充分表明該模型在河南省月降水量預(yù)測上的有效性和普適性。
(3)在空間分布上,對4種模型的預(yù)測值和真實(shí)值使用普通克里金插值法進(jìn)行空間插值發(fā)現(xiàn),CEEMDAN-TCN模型的月均降水量預(yù)測值與真實(shí)值的插值效果更為接近,表明該模型在河南省月降水量預(yù)測上具有較高的可靠性。
研究結(jié)果表明,使用CEEMDAN方法可以有效降低降水量序列的不平穩(wěn)性的影響,進(jìn)而提升模型的預(yù)測精度。并且通過TCN與LSTM的對比實(shí)驗(yàn),表明了TCN模型具有更為優(yōu)秀的信息提取能力和計(jì)算效率。實(shí)驗(yàn)證明了CEEMDAN-TCN模型在月降水量預(yù)測上的準(zhǔn)確性和可行性,也為該領(lǐng)域的研究提供一種新方法。