尹文靜, 段 煉, 高 鵬
(中國民用航空飛行學(xué)院氣象學(xué)院, 四川 廣漢 618307)
臺風(fēng)屬于嚴(yán)重的自然災(zāi)害天氣,我國正處于臺風(fēng)頻發(fā)的西北太平洋區(qū)域,每年登陸我國東部區(qū)域的臺風(fēng)平均4、5個。由于臺風(fēng)具有極強的破壞力,會引發(fā)暴雨、大風(fēng)天氣等極端天氣。每年都會對我國沿海地區(qū)人民的生命安全造成威脅并且會極大程度破壞沿海地區(qū)公共設(shè)施繼而無法開展正常的經(jīng)濟(jì)活動,如2014年1409號臺風(fēng)造成我國沿海59個縣市區(qū)、742.3萬人、468.5 khm2農(nóng)作物受災(zāi),直接經(jīng)濟(jì)損失約為265.5億元[1]。準(zhǔn)確預(yù)測西北太平洋臺風(fēng)路徑,不僅可以降低我國臺風(fēng)災(zāi)害的直接影響,更能提前預(yù)報暴雨、大風(fēng)等極端天氣,對于提前部署防災(zāi)措施提供一定幫助,大大減少人身傷害和財產(chǎn)損失。早期的研究人員主要利用主觀上的專業(yè)知識和經(jīng)驗,通過分析臺風(fēng)衛(wèi)星云圖序列判斷路徑移動。但這種方法的預(yù)測效果很大程度上受到研究人員主觀經(jīng)驗影響,且人為工作效率較低。
近年來,隨著計算機硬件的不斷發(fā)展,利用圖形處理器(graphics processing unit,GPU)[2]并行加速完成深度學(xué)習(xí)任務(wù)成為可能。深度學(xué)習(xí)逐漸被應(yīng)用于各個領(lǐng)域,其中包括計算機視覺[3]、文本翻譯、視頻分類。熊祥瑞等[4]提出一種以氣象作為相似度標(biāo)準(zhǔn),利用移速相似和移向相似從臺風(fēng)歷史數(shù)據(jù)庫中篩選并預(yù)測臺風(fēng)路徑。在此基礎(chǔ)上,我國主要工作是根據(jù)西北太平洋海域 1949—1989 年的臺風(fēng)歷史數(shù)據(jù)總結(jié)出路徑規(guī)律和運動特征,并且從時空緯度上設(shè)計了 106個氣象和持續(xù)性因子,通過經(jīng)緯度兩個方向的因子有效提高臺風(fēng)軌跡預(yù)測精度。王瀚[5]針對靜止衛(wèi)星所生成的臺風(fēng)圖像數(shù)據(jù),提出基于時序的基因?qū)咕W(wǎng)絡(luò)(generative adversarial network,GAN) 模型,有效提高了預(yù)測精度。綜上所述,大多數(shù)文獻(xiàn)中的預(yù)測方法主要就是利用單一模態(tài)的數(shù)據(jù)構(gòu)建單一模型進(jìn)行臺風(fēng)預(yù)測。而臺風(fēng)路徑預(yù)測可用的數(shù)據(jù)包括多普勒雷達(dá)圖、衛(wèi)星云圖、最佳臺風(fēng)路徑數(shù)據(jù)、大氣再分析資料等。為了更好地表征臺風(fēng)的時空特征[6],研究人員開始尋求使用多模態(tài)數(shù)據(jù)、構(gòu)建多模型結(jié)構(gòu),實現(xiàn)信息互補,更大程度提高預(yù)測效果。深度學(xué)習(xí)是機器學(xué)習(xí)的一部分,與機器學(xué)習(xí)不同,深度學(xué)習(xí)一步到位,過程中包含了各層特征提取以及分類器,這些都是可以訓(xùn)練的。深度學(xué)習(xí)逐漸被應(yīng)用于各個領(lǐng)域,同時伴隨著氣象觀測技術(shù)的進(jìn)步,臺風(fēng)最佳路徑資料和與臺風(fēng)相關(guān)的氣象資料已經(jīng)構(gòu)成了海量數(shù)據(jù)庫。基于此,越來越多的研究人員開始將深度學(xué)習(xí)在其他領(lǐng)域的成功經(jīng)驗借鑒到西北太平洋臺風(fēng)路徑預(yù)測,旨在提高傳統(tǒng)方法的預(yù)測精度,最大程度降低臺風(fēng)災(zāi)害帶來的損失。同時伴隨著 Tensorflow 、 Pytorch[7]等深度學(xué)習(xí)框架的開發(fā),已經(jīng)能夠滿足以大數(shù)據(jù)為支撐的深度學(xué)習(xí)網(wǎng)絡(luò)?;诖?利用深度學(xué)習(xí)的方法提高臺風(fēng)路徑預(yù)測精度成為可能。
為了解決傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)模型[8]處理臺風(fēng)衛(wèi)星云圖無法簡單高效提取熱帶氣旋(tropical cyclone,TC )的背景信息以及 普通神經(jīng)網(wǎng)絡(luò)很難對臺風(fēng)序列數(shù)據(jù)建模的問題。并且考慮到過去臺風(fēng)路徑預(yù)測只局限于單一模態(tài)的數(shù)據(jù),故本文提出了基于循環(huán)神經(jīng)網(wǎng)絡(luò)的多元時間序列預(yù)測模型,內(nèi)容包括問題概述、模型評價指標(biāo)和循環(huán)神經(jīng)網(wǎng)絡(luò)的模型設(shè)計。最后用處理好的包含中國氣象局(CMA)臺風(fēng)最佳路徑數(shù)據(jù)集和歐洲中期天氣預(yù)報中心(ERA5)數(shù)據(jù)集兩種資料的多元時間序列數(shù)據(jù)訓(xùn)練3種循環(huán)神經(jīng)網(wǎng)絡(luò)[9]并預(yù)測未來 6、12、24 h的TC中心位置,最后對比3種模型在測試集上的預(yù)報效果。本文聚焦于西北太平洋TC中心位置信息的預(yù)測研究,本質(zhì)上是一個典型的回歸任務(wù),即用過去連續(xù)N個TC中心的歷史經(jīng)緯度信息以及TC中心周圍的環(huán)境信息預(yù)測未來時刻的TC中心位置。具體為:臺風(fēng)多元時間序列經(jīng)過數(shù)據(jù)預(yù)處理后按照一定比例而劃分訓(xùn)練集和測試集,然后以循環(huán)神經(jīng)網(wǎng)絡(luò)為核心搭建3種網(wǎng)絡(luò)模型,預(yù)設(shè)好模型訓(xùn)練停止的條件。將數(shù)據(jù)集以滑動窗口的方式去匹配模型要求的輸入方式,通過滑動窗口的方式將數(shù)據(jù)集切分成N×M個樣本,將滑動窗口大小的數(shù)據(jù)作為其中一組數(shù)據(jù)輸入模型進(jìn)行訓(xùn)練。每輪訓(xùn)練結(jié)束時根據(jù)提前設(shè)定好的停止條件對模型進(jìn)行判斷。若模型輸出滿足訓(xùn)練停止條件,則輸出模型;反之,則繼續(xù)訓(xùn)練模型,不斷提高模型泛化能力直至能滿足停止條件。最后將訓(xùn)練好的模型用于測試集上,比較3種模型的預(yù)測效果,驗證循環(huán)神經(jīng)網(wǎng)絡(luò)能否有效利用多元時間序列數(shù)據(jù)時序性特點提高預(yù)測精度。
使用3種循環(huán)神經(jīng)網(wǎng)絡(luò)對TC路徑進(jìn)行預(yù)測。將通過滑動窗口的方式設(shè)定不同的時間步長,實現(xiàn)不同歷史長度預(yù)測對比,完成對臺風(fēng)路徑6、12、24 h的預(yù)測任務(wù)。3種循環(huán)神經(jīng)網(wǎng)絡(luò)都采用雙層設(shè)計,其中隱藏層節(jié)點數(shù)設(shè)為32。下面將以步長為3、神經(jīng)元單元為LSTM單元來簡述模型網(wǎng)絡(luò)架構(gòu),如圖1所示。
為X1 在t-1時刻的輸入;為X2 在t-1時刻的輸入;為X1 在t時刻的輸入;為X2 為t時刻的輸入; 為X1 在t+1時刻的輸出; 為X2在t+1時刻的輸出;y1、y2表示輸入
該模型是一個典型的簡單循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),由輸入層、隱藏層(循環(huán)層)、輸出層組成,隱藏層沿時間維度從左到右展開,隱藏層之間鏈接為了保證前序信息向后傳遞,同時這里隱藏層神經(jīng)元用長短期記憶神經(jīng)網(wǎng)絡(luò)(long short term memory,LSTM)單元代替。其他結(jié)構(gòu)相應(yīng)的更改主要是隱藏層神經(jīng)元,其余部分不變。
采用的TC資料為中國氣象局熱帶氣旋資料中心提供的熱帶氣旋最佳路徑(China Meteorological Administration-Best Track,CMA-BST)數(shù)據(jù)集。數(shù)據(jù)集時間分辨率為6 h,即每天的00:00、06:00、12:00和18:00;其空間分辨率為0.1°×0.1°,即經(jīng)緯度坐標(biāo)值精度為0.1°,本文使用的大氣數(shù)據(jù)為歐洲中期天氣預(yù)報中心(European Centre for Medium-Range Weather Forecast,ECMWF)提供的1959年至今全球氣候第五代大氣再分析資料集ERA5。該數(shù)據(jù)提供了包括200、300、500、700、850 hPa 5個不同氣壓層的UV(U是東西風(fēng)上的分量,西風(fēng)為正;V是南北風(fēng)上的分量,南風(fēng)為正)風(fēng)、溫度、位勢高度,其空間分辨率為0.25°×0.25°。
2.2.1 數(shù)據(jù)篩選與時空匹配
使用的ERA5數(shù)據(jù)集的空間分辨率和CMA-BST數(shù)據(jù)的空間分辨率不一致,因此在輸入模型之前,必須對所需數(shù)據(jù)進(jìn)行嚴(yán)格預(yù)處理。對于時間分辨率,首先CMA-BST數(shù)據(jù)需要進(jìn)行篩選,剔除與訓(xùn)練要求不一致的記錄點,然后根據(jù)篩選后的CMA-BST數(shù)據(jù)中的TC記錄點找到對應(yīng)的ERA5數(shù)據(jù)中所對應(yīng)的時間點,實現(xiàn)兩種數(shù)據(jù)在時間上的匹配,對于空間分辨率不同,選擇對ERA5數(shù)據(jù)進(jìn)行插值,實現(xiàn)兩類數(shù)據(jù)的空間匹配。又因為兩種數(shù)據(jù)在維度上不一致,要想串聯(lián)起來形成多元時間序列數(shù)據(jù),需要對ERA5數(shù)據(jù)進(jìn)行降維處理。選擇插值之后求取空間范圍的平均值。經(jīng)過降維后進(jìn)行拼接,形成最終的實驗數(shù)據(jù)。
2.2.2 數(shù)據(jù)組織與劃分
通過數(shù)據(jù)組織后形成的多元時間序列數(shù)據(jù)就可以有效輸入模型中。為了模型更好地訓(xùn)練和驗證評估,將1959—2014年的數(shù)據(jù)中80%作為訓(xùn)練集,剩下的20%作為驗證集。同時為了將模型預(yù)測的效果可視化,將挑選2015年22號臺風(fēng)彩虹、2016年01號臺風(fēng)尼伯特、2017年03號臺風(fēng)南瑪都、2017年04號臺風(fēng)塔拉斯,這4條臺風(fēng)路徑作為測試數(shù)據(jù)。
為了評估模型預(yù)測的準(zhǔn)確性,使用均方誤差(mean square error,MSE)函數(shù)作為損失函數(shù)。為了驗證模型對于測試數(shù)據(jù)的效果,將使用路徑平均距離誤差(mean distance error,E)公式和平均絕對誤差(mean absolute error,MAE)表示預(yù)測經(jīng)緯度點和真實經(jīng)緯度點之間的差異。MSE的計算公式為
(1)
(2)
(3)
MAE的計算公式為
(4)
E的公式為
(5)
式中:R為 地球半徑。
使用沿時間反向傳播(back prop)算法,包括以下4個步驟。
(1)前向傳播。輸入臺風(fēng)多元時間序列數(shù)據(jù)計算每個神經(jīng)元的輸出值。
(2)反向傳播。一個批次數(shù)據(jù)前向傳播完得到輸出值后反向傳播計算每個神經(jīng)元的誤差項,它是誤差函數(shù)對神經(jīng)元的偏導(dǎo)數(shù)。
(3)計算每個權(quán)重的梯度。
(4)最后再用隨機梯度下降算法更新權(quán)重。
滑動窗口的大小就是每次輸入數(shù)據(jù)的長度,實驗了不同歷史長度下模型的優(yōu)劣來決定滑動窗口的大小。實驗中分別使用的窗口大小有6、8、10、12 h,控制模型都為LSTM網(wǎng)絡(luò)預(yù)測24 h臺風(fēng)路徑,用E值來判定模型優(yōu)劣。實驗結(jié)果見表1。
表1 滑動窗口大小選擇
從表1中可以看出,當(dāng)滑動窗口大小為8 h,模型表現(xiàn)出來的性能更好。因此本文選擇的滑動窗口大小為8。
分析3種模型在不同預(yù)測長度下的表現(xiàn),預(yù)測時效包括6、12、24 h。利用LSTM模型對前42 h(即滑動窗口為8,一次8條記錄),預(yù)測后6、12、24 h臺風(fēng)中心位置。
如圖2所示,利用 LSTM 預(yù)測臺風(fēng)6 h中心位置,訓(xùn)練過程中的損失值由最初的0.005 68下降到0.000 75,并且穩(wěn)定在這個數(shù)值。
圖2 LSTM 預(yù)測6 h臺風(fēng)路徑的模型 loss 曲線及經(jīng)緯度預(yù)測曲線
如圖3所示,利用LSTM預(yù)測臺風(fēng)12 h中心位置,訓(xùn)練過程中的損失值由最初的 0.015 下降到 0.001,并且穩(wěn)定到這個數(shù)值。
圖3 LSTM 預(yù)測12 h臺風(fēng)路徑的模型 loss 曲線經(jīng)緯度預(yù)測曲線
如圖4所示利用LSTM預(yù)測臺風(fēng)24 h中心位置,損失函數(shù)曲線可以觀察到,訓(xùn)練階段的損失值由0.017 6下降到0.003 8,并趨于平穩(wěn)??梢杂^察到訓(xùn)練損失曲線和驗證損失曲線擬合程度高,差距小,說明在24 h預(yù)測時batchsize設(shè)置合理。預(yù)測效果相比于預(yù)測時效12 h的差很多。但總體預(yù)測效果還是在合理范圍內(nèi),其中E值為173.15 km。相對于循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)模型預(yù)測24 h臺風(fēng)路徑,提升了41.45 km,因此驗證了LSTM模型在長序列預(yù)測中的有效性。整體看LSTM預(yù)測臺風(fēng)路徑,隨著預(yù)測時效的增加預(yù)測效果逐漸降低,但6 h與12 h的預(yù)測效果接近,原因在于LSTM與RNN模型相比更加復(fù)雜,對于長序列預(yù)測更加精確。
圖4 LSTM 預(yù)測24 h臺風(fēng)路徑的模型 loss 曲線及經(jīng)緯度預(yù)測曲線
但考慮到LSTM模型復(fù)雜度高參數(shù)多。為了降低模型復(fù)雜度同時保證模型性能,利用RNN模型對前42 h(即滑動窗口為8,一次8條記錄),預(yù)測后6、12、24 h臺風(fēng)中心位置。
如圖5所示,訓(xùn)練過程中損失值由第一輪的0.006 27逐漸穩(wěn)定減小至0.000 66,loss值開始趨于穩(wěn)定。訓(xùn)練過程中出現(xiàn)最大 loss 下降即第一輪訓(xùn)練中,降幅為 0.005 61。
圖5 RNN預(yù)測6 h臺風(fēng)路徑的模型loss曲線及經(jīng)緯度預(yù)測曲線
如圖6所示,對于預(yù)測時效12 h,訓(xùn)練過程中損失值由第一輪的 0.008 47逐漸穩(wěn)定減小至0.000 56,loss值開始趨于穩(wěn)定。訓(xùn)練過程中出現(xiàn)最大loss下降即第一輪訓(xùn)練中,降幅0.006 38。本次訓(xùn)練一共68輪,之后模型就停止訓(xùn)練。
圖6 RNN 預(yù)測12 h臺風(fēng)路徑的模型loss曲線及經(jīng)緯度預(yù)測曲線
如圖7所示,對于預(yù)測時效 24 h,訓(xùn)練過程中損失值從最開始的 0.011 8下降到0.004,下降幅度達(dá)到0.007 8。由預(yù)測值與真實值曲線觀察來看,擬合效果很差,同樣的緯度方向預(yù)測效果更好一些。整體的預(yù)測效果相對于6 h和12 h的預(yù)測效果來看要差很多。其中E值為214.60 km。隨著預(yù)報時效的延長,預(yù)報的精度逐漸下降[10],但是其效果還是比多層感知機(multilayer perceptron,MLP)效果要好[11]。RNN模型在直線路徑階段預(yù)測效果很好,并且能夠預(yù)測臺風(fēng)路徑的大致走勢。此外也可以觀察到 RNN 模型隨著預(yù)報時效增加,其預(yù)報誤差已經(jīng)超過了 200 km,為了更進(jìn)一步解決長時效預(yù)測誤差較大的問題,利用門控循環(huán)神經(jīng)網(wǎng)絡(luò)(gated recurrent unit, GRU)模型對前42 h(即滑動窗口為8,一次8條記錄),預(yù)測后6、12、24 h臺風(fēng)中心位置。
圖7 RNN預(yù)測24 h臺風(fēng)路徑的模型 loss曲線及經(jīng)緯度預(yù)測曲線
如圖8所示,利用 GRU 模型對路徑進(jìn)行預(yù)測,首先預(yù)測時效為6 h,可以看出損失函數(shù)擬合程度很好。對于預(yù)測曲線,可以觀察到經(jīng)度曲線和緯度曲線預(yù)測效果都很好,整體預(yù)測效果和 LSTM 模型預(yù)測效果接近,其中E值為106.03 km,預(yù)測精度略低于LSTM模型, 同時略高于 RNN 模型。
圖8 GRU 預(yù)測6 h臺風(fēng)路徑的模型 loss曲線經(jīng)緯度預(yù)測曲線
如圖9所示,預(yù)測時效為12 h時,GRU 模型同樣表現(xiàn)優(yōu)異,和LSTM模型預(yù)測情況類似。但是在中低緯度區(qū)域出現(xiàn)一定程度的波動。這也說明 GRU 模型預(yù)測能力也并不是無限的, 對于超過一定閾值之后的預(yù)測效果反而不好,其中E=123.98 km 。與 LSTM 模型的預(yù)測情況相比,預(yù)測精度降低18.92 km,這說明GRU模型雖然在參數(shù)上減少了很多,但是預(yù)測效果卻不及LSTM。
圖9 GRU預(yù)測12 h臺風(fēng)路徑的模型loss曲線及經(jīng)緯度預(yù)測曲線
如圖10所示,預(yù)測時效為24 h時,GRU模型在預(yù)測結(jié)果上看也和 LSTM 相當(dāng)。整體預(yù)測效果較差但也在合理范圍之內(nèi),其中E=193.89 km,相比于LSTM 模型預(yù)測誤差高了20.74 km。3種循環(huán)神經(jīng)網(wǎng)絡(luò)的預(yù)測性能對比見表2。
表2 3種循環(huán)神經(jīng)網(wǎng)絡(luò)的預(yù)測性能對比
圖10 GRU預(yù)測12 h臺風(fēng)路徑的模型loss曲線及經(jīng)緯度預(yù)測曲線
綜合以上3種模型在不同預(yù)測時效的表現(xiàn),可以得出以下結(jié)論。首先是RNN模型在3個不同預(yù)測時效上的表現(xiàn),說明了RNN對于長時間序列預(yù)測效果不好。預(yù)測時效越長預(yù)測的效果越差。在LSTM模型和GRU模型預(yù)測上就很好地解決了這一點,可以觀察到不同預(yù)測時效下其預(yù)測效果大致相同。說明它們的內(nèi)部復(fù)雜的結(jié)構(gòu)對于長序列預(yù)測很有效。另外在經(jīng)度方向和緯度方向的預(yù)測上,這三者對于高緯度區(qū)域、高經(jīng)度區(qū)域以及緯度范圍在10°~20°內(nèi)的預(yù)測效果都較差[12],這些區(qū)域大部分都是臺風(fēng)消亡的洋面或登陸后的陸地區(qū)域。但兩種變體模型整體還是要優(yōu)于RNN模型。此外從表2中可以看出,3種模型不論預(yù)測時效多長,預(yù)測出來的緯度方向的誤差都小于經(jīng)度方向誤差。最后考慮到臺風(fēng)預(yù)測時效太短意義不大,同時也考慮到本文中選擇的隱藏層節(jié)點數(shù)不多,GRU模型簡化LSTM模型的程度不大,預(yù)測精度也略低于LSTM模型。因此參考各方面的因素,認(rèn)為利用LSTM網(wǎng)絡(luò)對未來24 hTC中心位置的預(yù)測具有可行性和可參考價值。