朱國(guó)棟 孫建杰 陳陽(yáng)權(quán) 王照剛
(民航新疆空中交通管理局氣象中心,烏魯木齊 830016)
隨著近年民用航空產(chǎn)業(yè)的不斷發(fā)展,航空公司、機(jī)場(chǎng)、空管等民航氣象用戶(hù)單位對(duì)機(jī)場(chǎng)預(yù)報(bào)的準(zhǔn)確性和時(shí)效性要求不斷提高。其中機(jī)場(chǎng)溫度作為民用航空器配載的重要指標(biāo),準(zhǔn)確的預(yù)報(bào)將會(huì)對(duì)飛機(jī)旅客、貨物、油料的裝載數(shù)量提供科學(xué)的參考,同時(shí)為確保航班起降安全提供幫助。
目前對(duì)地面溫度的預(yù)測(cè)主要依托數(shù)值預(yù)報(bào)產(chǎn)品,但是模式直接輸出的溫度預(yù)測(cè)產(chǎn)品與實(shí)況存在一定的偏差,為了解決模式直接輸出產(chǎn)品的誤差,通過(guò)對(duì)不同數(shù)值模式產(chǎn)品的檢驗(yàn)和誤差訂正,并應(yīng)用機(jī)器學(xué)習(xí)方法開(kāi)展模式解釋?xiě)?yīng)用,較好地改善了溫度預(yù)測(cè)的效果。同時(shí)參考不同的機(jī)器學(xué)習(xí)方法的特性和在氣象領(lǐng)域的預(yù)測(cè)效果,本文選取能夠較好地處理非線性問(wèn)題的隨機(jī)森林方法,結(jié)合歐洲中心細(xì)網(wǎng)格數(shù)值預(yù)報(bào)產(chǎn)品,實(shí)現(xiàn)對(duì)烏魯木齊地窩堡國(guó)際機(jī)場(chǎng)的逐小時(shí)地面2 m溫度的預(yù)測(cè),為民航運(yùn)行單位提供科學(xué)、可靠的溫度預(yù)報(bào)產(chǎn)品,進(jìn)而更好地為民航安全、效益服務(wù)。
隨機(jī)森林是基于決策樹(shù)的集成學(xué)習(xí)算法,決策樹(shù)是一種廣泛應(yīng)用的樹(shù)狀分類(lèi)器,在樹(shù)的所有節(jié)點(diǎn)上,通過(guò)選擇最優(yōu)的特征不斷進(jìn)行分類(lèi),直到達(dá)到建樹(shù)的停止條件。決策樹(shù)是無(wú)參數(shù)有監(jiān)督的機(jī)器學(xué)習(xí)方法,不需要先驗(yàn)知識(shí),相比神經(jīng)網(wǎng)絡(luò)等方法更容易解釋?zhuān)菃蝹€(gè)決策樹(shù)對(duì)問(wèn)題預(yù)測(cè)性能有限,為了改善單個(gè)分類(lèi)器的預(yù)測(cè)性能,將單個(gè)分類(lèi)器聚集起來(lái),通過(guò)對(duì)每個(gè)基本分類(lèi)器的分類(lèi)結(jié)果進(jìn)行組合,也就是形成多個(gè)決策樹(shù)組成的隨機(jī)森林,提升模型的預(yù)測(cè)精度和泛化能力,避免出現(xiàn)過(guò)擬合現(xiàn)象。
在機(jī)器學(xué)習(xí)方法中,雖然算法的選型很重要,但是良好的數(shù)據(jù)才是算法的基本。然而在實(shí)際的應(yīng)用中,產(chǎn)生的氣象數(shù)據(jù)并不一定符合算法的要求,總會(huì)由于一些客觀因素影響數(shù)據(jù)的收集,例如觀測(cè)設(shè)備故障、數(shù)值模式傳輸錯(cuò)誤等。
本文整理烏魯木齊地窩堡國(guó)際機(jī)場(chǎng)(以下簡(jiǎn)稱(chēng)機(jī)場(chǎng))逐小時(shí)地面觀測(cè)資料,將機(jī)場(chǎng)溫度作為預(yù)測(cè)對(duì)象,篩選氣溫對(duì)應(yīng)時(shí)刻的前24 h地面風(fēng)、氣溫等要素。同時(shí),利用2015—2017年逐日20時(shí)起報(bào)的歐洲中心細(xì)網(wǎng)格數(shù)值預(yù)報(bào)產(chǎn)品,包括2T、2D、高空溫度、濕度、高度場(chǎng)、UV風(fēng)場(chǎng)等要素,預(yù)報(bào)有效時(shí)間12~36 h的預(yù)測(cè)產(chǎn)品,由于不同的預(yù)測(cè)要素產(chǎn)品網(wǎng)格距離不同,本文采用查找距離機(jī)場(chǎng)最近網(wǎng)格點(diǎn)上的數(shù)據(jù),與機(jī)場(chǎng)溫度構(gòu)建訓(xùn)練樣本序列。通過(guò)對(duì)收集到的數(shù)據(jù)進(jìn)行數(shù)據(jù)篩查、清洗等預(yù)處理,剔除數(shù)值預(yù)報(bào)產(chǎn)品中的缺測(cè)記錄后,共得到22056條樣本記錄。
由于不同的物理量組成的因子存在著量級(jí)差異,在進(jìn)行模型訓(xùn)練和參數(shù)尋優(yōu)前,需要?dú)w一化處理所有的因子,將其限定在0~1,具體處理方法如式(1)所示:
為了評(píng)估不同算法模型的預(yù)測(cè)能力,同時(shí)避免模型出現(xiàn)過(guò)擬合,本文利用開(kāi)源工具包scikit-learn對(duì)歸一化后的樣本進(jìn)行隨機(jī)切分,確保檢驗(yàn)樣本的獨(dú)立性,將樣本數(shù)據(jù)中隨機(jī)抽取33%作為檢驗(yàn)樣本,67%作為訓(xùn)練樣本,進(jìn)行模型訓(xùn)練和參數(shù)尋優(yōu)。
利用Python的開(kāi)源機(jī)器學(xué)習(xí)庫(kù)scikit-learn構(gòu)建預(yù)測(cè)模型,為了評(píng)估不同的方法和模型參數(shù)下的溫度預(yù)測(cè)效果,本文選取決策樹(shù)回歸方法和隨機(jī)森林回歸方法進(jìn)行建模,并通過(guò)設(shè)置不同決策樹(shù)數(shù)量來(lái)評(píng)估隨機(jī)森林方法的預(yù)測(cè)能力,具體模型實(shí)現(xiàn)代碼如下:
1)決策樹(shù)方法
from sklearn.tree import DecisionTreeRegressor
model=DecisionTreeRegressor()
model.fit(trainX,trainY)
2)隨機(jī)森林方法
from sklearn.ensemble import RandomForestRegressor
model=RandomForestRegressor(n_estimators=200)
model.fit(trainX,trainY)
通過(guò)分析預(yù)測(cè)模型可以發(fā)現(xiàn),決策樹(shù)回歸方法對(duì)測(cè)試樣本的機(jī)場(chǎng)溫度預(yù)報(bào)平均絕對(duì)誤差為1.01 ℃,而采用5個(gè)決策樹(shù)的隨機(jī)森林方法較好地改善了平均絕對(duì)誤差,達(dá)到0.82 ℃,隨著增加決策樹(shù)數(shù)量,模型對(duì)測(cè)試樣本預(yù)測(cè)結(jié)果的平均絕對(duì)誤差逐漸減小,當(dāng)決策樹(shù)數(shù)量達(dá)到200個(gè)以上后,模型預(yù)測(cè)誤差逐漸趨于穩(wěn)定,達(dá)到0.70左右。由此可見(jiàn)隨機(jī)森林用于溫度回歸預(yù)測(cè)效果明顯好于單個(gè)決策樹(shù),同時(shí)隨著決策樹(shù)數(shù)量的增加,對(duì)測(cè)試樣本的平均絕對(duì)誤差逐漸減小。具體模型預(yù)測(cè)結(jié)果如表1所示。
表1 不同模型及參數(shù)構(gòu)建的預(yù)測(cè)模型效果評(píng)價(jià)Table 1 Evaluation of prediction models for different models and parameters
利用模型尋優(yōu)得到的預(yù)測(cè)模型,對(duì)樣本中隨機(jī)抽取的7279條測(cè)試樣本進(jìn)行預(yù)測(cè),其中預(yù)測(cè)結(jié)果平均絕對(duì)誤差≤1 ℃的占樣本總數(shù)78%,平均絕對(duì)誤差≤2 ℃的占樣本總數(shù)94%,模型預(yù)測(cè)結(jié)果的平均絕對(duì)誤差能夠控制在2 ℃以?xún)?nèi),對(duì)于溫度業(yè)務(wù)預(yù)報(bào)有較好的指導(dǎo)作用。為了充分評(píng)估模型預(yù)測(cè)能力,本文將預(yù)測(cè)對(duì)象機(jī)場(chǎng)溫度按照10 ℃為一個(gè)量級(jí)(表2),劃分出8個(gè)量級(jí)。烏魯木齊機(jī)場(chǎng)溫度主要分布在-10~30 ℃,模型的平均絕對(duì)誤差主要在1.2 ℃左右,其中-10~0 ℃平均絕對(duì)誤差最小,為0.939 ℃。而-30~-20 ℃考慮到樣本數(shù)量占比較少,僅為31個(gè),此范圍內(nèi)的預(yù)測(cè)誤差不單獨(dú)進(jìn)行統(tǒng)計(jì)。
表2 不同區(qū)間段內(nèi)的溫度預(yù)測(cè)誤差分析Table 2 Analysis of temperature prediction error in different interval segments
通過(guò)對(duì)四個(gè)季節(jié)的樣本建立獨(dú)立的隨機(jī)森林預(yù)測(cè)模型,分析模型對(duì)訓(xùn)練樣本的預(yù)測(cè)誤差可以看到,春季氣溫預(yù)測(cè)模型的平均絕對(duì)誤差為0.956 ℃,夏季氣溫預(yù)測(cè)模型的平均絕對(duì)誤差為1.100 ℃,秋季氣溫預(yù)測(cè)模型的平均絕對(duì)誤差為0.935 ℃,冬季氣溫預(yù)測(cè)模型的平均絕對(duì)誤差為1.067 ℃。對(duì)比全年樣本數(shù)據(jù)構(gòu)建的預(yù)測(cè)模型,按季節(jié)構(gòu)建的預(yù)測(cè)模型,在不同溫度量級(jí)下的春季預(yù)測(cè)效果更優(yōu),具體見(jiàn)表3。
表3 不同季節(jié)的溫度預(yù)測(cè)誤差分析Table 3 Analysis of temperature prediction error in different season
利用歐洲中心細(xì)網(wǎng)格數(shù)值預(yù)報(bào)輸出72 h 的0.125°×0.125°2 m氣溫產(chǎn)品資料,結(jié)合烏魯木齊機(jī)場(chǎng)本地特點(diǎn),采用最近經(jīng)緯網(wǎng)格點(diǎn)的數(shù)據(jù)做為烏魯木齊機(jī)場(chǎng)的氣溫預(yù)報(bào)結(jié)果,通過(guò)對(duì)不同預(yù)報(bào)有效時(shí)間下的預(yù)報(bào)數(shù)據(jù)進(jìn)行篩選,每個(gè)預(yù)報(bào)有效時(shí)間大約獲得3100個(gè)樣本,平均絕對(duì)誤差為2.151 ℃,誤差最小的為預(yù)報(bào)有效時(shí)間21 h,為1.932 ℃,誤差最大的為預(yù)報(bào)有效時(shí)間72 h,為2.357 ℃,通過(guò)分析不同溫度區(qū)間內(nèi)的平均絕對(duì)誤差可以看到,其中0~10 ℃平均絕對(duì)誤差為1.839 ℃。具體見(jiàn)表4。
表4 數(shù)值預(yù)報(bào)溫度預(yù)測(cè)的平均絕對(duì)誤差分析Table 4 Analysis of the numerical forecast temperature prediction error
結(jié)合烏魯木齊機(jī)場(chǎng)季節(jié)劃分以及模式不同預(yù)報(bào)有效時(shí)間下的預(yù)測(cè)效果,選取預(yù)報(bào)有效時(shí)間為24 h的結(jié)果進(jìn)行分析,春季氣溫預(yù)測(cè)的平均絕對(duì)誤差為2.043 ℃,夏季氣溫預(yù)測(cè)的平均絕對(duì)誤差為1.982 ℃,秋季氣溫預(yù)測(cè)的平均絕對(duì)誤差為2.238 ℃,冬季氣溫預(yù)測(cè)的平均絕對(duì)誤差為2.288 ℃。對(duì)比全年預(yù)測(cè)誤差結(jié)果可以看到,夏季預(yù)測(cè)效果更優(yōu),具體見(jiàn)表5。
表5 數(shù)值預(yù)報(bào)溫度預(yù)測(cè)(24 h)在不同季節(jié)的平均絕對(duì)誤差分析Table 5 Analysis of the numerical forecast temperature prediction error in different season
通過(guò)對(duì)比分析可以看到,歐洲中心細(xì)網(wǎng)格數(shù)值預(yù)報(bào)直接輸出的溫度預(yù)測(cè)結(jié)果較為穩(wěn)定,平均絕對(duì)誤差在2 ℃左右,利用隨機(jī)森林方法的溫度回歸預(yù)測(cè)結(jié)果,平均絕對(duì)誤差在1 ℃左右,對(duì)模式直接輸出的溫度結(jié)果有了較大的提升,其預(yù)測(cè)效果明顯優(yōu)于模式直接輸出的結(jié)果。