朱國棟,朱 蕾,王 楠,孫少明,梁 艷
(1.民航新疆空中交通管理局空管中心氣象中心,新疆 烏魯木齊830016;2.民航新疆空中交通管理局培訓中心,新疆 烏魯木齊830016;3.民航新疆空中交通管理局氣象服務部,新疆 烏魯木齊830016)
在民航機場運行中,機場溫度是決定航空器配載和起飛降落滑跑距離的重要氣象指標。隨著機場溫度的升高,航空器的起飛全重會逐漸減小,滑跑距離變長,為確保航空器運行的安全,必須對航空器進行減載[1],或者調整起飛計劃等待溫度降低,這些操作都將會對航空公司運力資源調配造成困難,嚴重影響航空公司效益和旅客出行體驗[2]。
溫度作為天氣預報中最基本的氣象要素,其變化受到諸如季節、日照、天氣現象等因子的影響。國內已有研究表明,ECMWF細網格模式2 m溫度預報產品對制作烏魯木齊市未來24和48 h溫度預報具有很好的指導意義[3],國內多地采用該產品進行最高、最低溫度預測,均取得較好效果[4-6]。結合東北中東部復雜地形條件下,EC模式溫度預報產品在山區預報準確率偏低,系統性偏差較大,而通過客觀訂正方法,可將山區的預報均方根誤差由1.48℃降低至平均0.03℃[7]。通過采用一元線性回歸、多元回歸方程、誤差訂正以及最優集合訂正等方法,并結合本地天氣特征,進行溫度客觀預報[8-11],能較好地改善ECMWF細網格模式直接輸出的溫度預報效果。除了結合EC數值預報之外,還有結合WRF中尺度模式產品,通過MOS方法改善機場要素預報的效果[12]。
隨著近些年機器學習及深度學習方法的快速發展,國內外學者嘗試利用支持向量機、人工神經網絡、深度學習等方法,構建預測模型,改善溫度預測結果[13-25]。但是已有的站點溫度預測方法,缺少逐小時的溫度預測研究,且未綜合考量不同機器學習方法的差異,因此本文根據ECMWF細網格數值模式0~72 h預報產品,引入各層次風、溫度、高度及地面風、降水、氣壓、溫度等要素構建模型因子,利用自動機器學習工具包,分別構建深度學習模型[26](Auto-Keras)和常規機器學習模型[27](Auto-sklearn),進行機場逐小時溫度預報的預測,經過自動機器學習方法的自動建模和參數尋優,模型改善了數值模式直接輸出的站點溫度預報,提高了機場逐小時溫度預報準確率。
結合機場氣象服務工作的需求,將烏魯木齊機場逐小時2 m溫度作為預報對象。選取2015年1月—2021年3月ECMWF細網格數值預報的預報產品作為因子,包含逐3 h各層次高度、u分量、v分量、溫度、相對濕度、垂直速度、散度等要素,以及地面風、溫度、露點溫度、氣壓、降水等要素??紤]模式的不穩定和準確性,臨近起報時間的預報場準確性和參考性較高,故選取0~72 h內的預報產品進行建模??紤]地面、高空的模式產品網格間距的差異,此處統一選用最近網格點方法,將地面、高空的預報產品中距離烏魯木齊機場最近網格點的數據抽取出來,并與小時、月份信息共同構成數據集,合計93個因子。
由于EC細網格數值預報產品時間間隔3 h,與機場逐小時溫度預報無法一一對應建模,此處將EC細網格數據3 h間隔數據線性插值至1 h,剔除缺測數據后,與機場逐小時溫度構建訓練樣本,合計44 529條樣本,為確保足夠的訓練樣本,并預留一定數量的檢驗樣本,將67%的樣本(29 835條)用于建模訓練和參數尋優,剩余33%的樣本(14 694條)用于模型結果的檢驗。模型訓練過程中為防止欠擬合和過擬合,不同的自動機器學習方法采用不同的方法來處理,其中Auto-sklearn方法通過多次嘗試模型尋優的時長,防止訓練次數過多、或過少,并按比率保留多個機器學習方法,集成獲得最優模型。而Auto-Keras則采用K-fold交叉驗證,在模型構建過程中從訓練樣本中抽取20%的數據進行交叉驗證,構建最優的深度學習模型。
在給定的數據集中實現最佳的預測模型,傳統的機器學習方法需要數據預處理和清洗、選擇和構建合適的特征、選擇合適的模型、優化模型超參數、機器學習模型后流程處理等,這些任務的處理通常非常復雜,一般非機器學習專家無法處理,隨著越來越多的模型不斷被開發出來,如何選擇合適的模型變得越來越困難,并且參數調優需要遍歷所有可能的值,這些都需要大量的人工操作,進而導致流程效率低,難于管理。
自動機器學習(AutoML)的任務是使所有這些步驟(或至少其中一些步驟)自動化[26],消除常規的操作順序和模型的手動枚舉,隱藏建模過程中大量的數學問題和代碼編寫過程,簡化氣象領域中應用機器學習方法的流程,將機器學習專家的經驗固化,利用最優的數據科學實踐,減少人工對機器學習過程的參與,幫助非機器學習專家輕松處理任務,在確保預測準確性的基礎上提高建模效率。
目前,許多商業公司也在積極發展自動機器學習平臺的開發,例如微軟Azure Automated ML、谷歌的AutoML,通過購買公有云平臺的算力和機器學習算法,即可快速構建機器學習業務流程。同時機器學習開源社區,也積極借鑒商業公司成熟的算法,推出各類開源的自動機器學習工具,例如基于貝葉斯優化和自動集成構造的Auto-sklearn,以及利用神經網絡架構搜索的Auto-Keras深度自動學習工具??紤]到氣象歷史建模數據體量和系統設計成本,本文選取Auto-sklearn和Auto-Keras兩種成熟的開源工具包來構建自動機器學習,并利用本地CPU、GPU資源進行建模運算。
1.2.1Auto-sklearn自動機器學習方法
Auto-sklean是基于Auto-Weka的組合算法選擇和超參數優化問題的定義,采用與微軟Azure Automated ML相同的思路構建的,同時選擇一個學習算法和設置其超參數的問題。主要區別是將兩個額外的步驟合并到主進程中,首先是元學習步驟,最后是自動化集成構造步驟[27]。

圖1 Auto-sklearn自動機器學習方法示意圖
該方法使用元特征來描述數據集,包括簡單的、信息論的和統計的元特征,如數據點的數量、特征和分類,以及數據偏度和目標的熵。利用這些信息,選擇k個采樣點作為貝葉斯優化的初始采樣點。在完成貝葉斯優化之后,構建一個由所有嘗試過的模型組成的集成模型。這一步的思路是將訓練每個模型所做的努力都存儲下來。沒有拋棄這些模型而選擇更好的模型,而是將它們存儲起來,最終構建出一個集成模型。這種自動集成構造方法避免了陷入單個超參數的設置中,因此魯棒性更強且不容易過擬合。使用集成選擇(這個貪婪過程從空集成開始,迭代地添加能夠最大化集成驗證性能的模型)來構建集成模型。
結合基于EC細網格數值預報產品建立的訓練樣本,使用Auto-sklearn工具包進行模型訓練,Auto-sklearn方法無需關注參數設置和模型選擇,僅需要通過設置不同的運行時間,讓算法在給定的時間內,盡可能嘗試更多的模型和參數方案,進而得到其中最優的集成模型(表1)。

表1 Auto-sklearn自動機器學習的最優集成模型
1.2.2Auto-Keras自動深度學習方法
Auto-Keras使用一個通過循環訓練的RNN控制器,對候選架構(即子模型)進行采樣,然后對其進行訓練,以測量其在期望任務中的性能[28]。接著,控制器使用性能作為指導信號,以找到更有前景的架構。然而神經架構搜索在計算上非常昂貴、耗時。為了解決這個問題,Auto-Keras使用了高效神經架構搜索(ENAS)。ENAS采用類似于遷移學習的概念,在特定任務上為特定模型學習的參數可以用于其他任務上的模型。因此,ENAS迫使所有生成的子模型共享權值,從而刻意防止從頭開始訓練每一個子模型。ENAS不僅可以在子模型之間共享參數,還能夠獲得非常強的性能。
本文使用Nvidia P6000 GPU進行Auto-Keras的模型構建和運算加速,解決神經架構搜索的計算耗時問題。結合整體計算資源和建模時效性,設置Auto-Keras方法構建100種組合進行模型訓練,通過訓練最終獲得最優的深度學習模型(表2)。

表2 Auto-Keras自動深度學習的最優模型及參數
1.2.3機器學習方法
為了綜合衡量自動機器學習方法的預測能力,本文引入機器學習方法的決策樹回歸進行對比,考慮到單決策樹功能過于簡單,且容易出現過擬合現象,此處采用迭代決策樹(GBRT)[29]和隨機森林(RF)[30,31]方法構建多決策樹進行機場溫度的回歸預測。
由于每種方法都有各自的優缺點,Auto-sklearn主要應用于回歸、分類任務,計算量較少,實現成本較低,Auto-Keras則使用神經架構搜索和強化學習,構建更復雜的深度神經網絡模型,但計算量巨大,實現成本較高。為了綜合考量不同自動機器學習方法的差異,并與傳統的集成學習方法、數值模式2 m溫度進行對比,分析不同的方法下溫度預測效果的差異。本文使用平均絕對誤差(MAE)、預報準確率[32]來判定模型對機場溫度的回歸預測效果,具體公式為:
通過使用EC細網格2 m溫度、自動機器學習方法以及常規機器學習方法,分析烏魯木齊機場溫度預測的平均絕對誤差可知,EC細網格2 m溫度直接輸出的烏魯木齊機場溫度平均絕對誤差為1.68℃,誤差相對較大,通過機器學習方法構建的預測模型,能夠改善模式直接輸出的溫度預報,GBRT方法的平均絕對誤差改善至1.44℃,而采用自動機器學習方法的Auto-Keras和Auto-sklearn預測烏魯木齊機場溫度效果更好,其中Auto-sklearn模型的平均絕對誤差最低,達到1.35℃。
通過分析烏魯木齊機場溫度的預報準確率可以看到,EC細網格2 m溫度的預報準確率(≤2℃)為67.09%,預報準確率(≤1℃)為40.21%,機器學習方法構建的模型均能夠提升預報準確率,其中Auto-sklearn模型的預報準確率(≤2℃)最高,達到77.84%,Auto-Keras模型的預報準確率(≤1℃)則達到49.67%,而常規的機器學習方法GBRT和RF的預報準確率則低于自動機器學習方法,具體結果見表3。

表3 不同方法預測烏魯木齊機場溫度的誤差統計
通過模型總體預測效果可以看到,自動機器學習方法通過自動構建模型和參數尋優,能夠改善模式直接輸出的溫度預測結果,且預測效果優于傳統的機器學習方法;但是考慮到自動機器學習方法需要利用大量的資源進行模型和參數的遍歷和嘗試,相對傳統機器學習方法更加耗時,在實際業務建模中,需要預留充足的計算資源來提高建模工作的效率。
2.2.1平均絕對誤差分析
通過分析2020年1月—2021年2月烏魯木齊機場逐月溫度的平均絕對誤差得到,EC細網格預測的溫度平均絕對誤差存在明顯的月度變化,2月、4—6月以及11月誤差較小,維持在1.5℃左右,其余月份誤差均>1.7℃,12月誤差最大(2.28℃),由此可見,EC模式輸出的溫度預測在12月—次年1月平均絕對誤差較大,4—6月平均絕對誤差較小。
4種機器學習方法均能夠改善模式直接輸出的溫度預測結果見表4,其中4—11月誤差最小,平均絕對誤差均維持在1.2℃左右,Auto-sklearn模型在5月達到最低,為0.97℃;針對冬季12月的溫度,Auto-Keras模型改善效果明顯,平均絕對誤差僅為1.79℃;1月不同模型的預測效果差異較大,Auto-Keras模型預測效果與EC模式基本持平,其余模型預測效果均比EC模式差,平均絕對誤差比EC模式偏大0.1~0.2℃;2月機器學習方法則沒有明顯改善模式輸出的溫度預測效果。

表4 烏魯木齊機場溫度逐月平均絕對誤差/℃
通過平均絕對誤差的月度對比分析發現,針對不同季節下烏魯木齊機場溫度,Auto-sklearn模型在4—5月、7月、9—10月平均絕對誤差最小,Auto-Keras模型在冬季12月平均絕對誤差最小;但是在1、2月,機器學習方法并沒有改善模式輸出的溫度預報效果,上述機器學習模型的平均絕對誤差均超過了EC模式,因此不同月份的溫度預報,需要綜合考慮EC模式直接輸出及不同機器學習方法預測的結果。
2.2.2預報準確率分析
通過分析2020年1月—2021年2月逐月的烏魯木齊機場溫度預報準確率得到,EC細網格預測的機場溫度預報準確率有明顯的月季變化,11月預報準確率(≤2℃)最高為80.94%,4—6月預報準確率(≤2℃)相對較高,維持在75%左右,其余月份的預報準確率(≤2℃)相對較低,預報準確率(≤2℃)維持在60%~65%,12月最低,僅有48.38%,12月—次年1月,模式直接輸出的溫度預報效果較差。
機器學習方法構建的模型則能夠直接改善預報準確率,4—10月的預報準確率(≤2℃)均超過80%,大幅提升模式直接預報溫度的準確率;1—3月的預報準確率(≤2℃)相對較差,且變化范圍較大,為57%~75%,12月的預報準確率最差為50%~60%(圖2)。3—10月各類模型的預報準確率均有大幅提升,2、11月的預報準確率提升不明顯,基本持平模式直接輸出的預報準確率,1、12月Auto-sklearn、GBRT、RF模型預測準確率低于模式直接輸出的預報準確率,僅有Auto-Keras模型能夠維持或略微改善模式直接輸出的結果。

圖2 逐月不同方法預測烏魯木齊機場溫度的預報準確率差異(溫度誤差≤2℃)
烏魯木齊機場2020年1月—2021年2月平均溫度為7.97℃,最低溫度為-26℃,最高溫度為40℃,溫度變化區間大,其中90%的溫度記錄分布在-20~30℃,為考量不同溫度的預測效果,將溫度按照10℃量級進行劃分,分析不同溫度下的預測效果。
從表5可知,EC細網格預測機場溫度的平均絕對誤差大部分為1.7℃左右,其中30~40℃平均絕對誤差最小,為1.19℃,因溫度≥40℃區間樣本數量僅為4個,故不單獨分析該溫度區間的平均絕對誤差。

表5 不同溫度范圍內機場溫度預測的平均絕對誤差/℃
機器學習方法構建的模型能夠改善模式直接輸出的溫度預測結果,但是在不同溫度區間下,不同的模型預測效果差別顯著。20~40℃平均絕對誤差穩定維持在1℃左右,且不同的模型預測效果差異較??;-10~20℃平均絕對誤差在1.2~1.4℃,Autosklearn模型預測的效果最優,Auto-Keras模型預測效果最差為1.4℃;-30~-10℃平均絕對誤差偏大,Auto-Keras模型預測的效果優于數值模式直接輸出的溫度預報,其余模型均出現平均絕對誤差大于數值模式直接輸出的溫度預報。Auto-Keras模型預測的效果整體優于數值模式直接輸出的結果,機場溫度≥0℃Auto-sklearn模型預測效果更好,Auto-Keras模型預測效果在機場溫度<0℃情況下更好,常規機器學習方法GBRT和RF雖然能夠改善模式直接輸出結果,但是整體預測效果不如自動機器學習方法構建的模型。
本文基于EC細網格模式直接輸出的烏魯木齊機場2 m溫度預報產品,運用自動機器學習方法,簡化常規的機器學習方法中的模型選擇和參數尋優過程,降低氣象技術人員運用機器學習、深度學習的難度,通過構建Auto-sklearn機器學習模型和Auto-Keras深度學習模型,改善模式直接輸出的預報產品。
(1)Auto-Keras模型和Auto-sklearn模型將溫度平均絕對誤差由模式直接輸出的1.7℃降低至1.4℃左右,并且預測效果優于GBRT和RF方法手動參數調優的模型,自動機器學習方法獲得的模型能夠提升溫度預報的平均絕對誤差。
(2)構建的模型均能夠大幅提升4—10月的預報準確率,其中Auto-sklearn模型的預報準確率(≤2℃)在4—10月穩定在85%以上,效果優于其余模型,但是在1、12月Auto-sklearn、GBRT、RF模型預測準確率低于模式直接輸出的預報準確率,僅有Auto-Keras模型能夠維持或略微改善模式直接輸出的結果。
(3)機場溫度≥0℃時,Auto-sklearn模型預測效果較好,Auto-Keras模型預測效果在機場溫度<0℃情況下更好,常規機器學習方法GBRT和RF雖然能夠改善模式直接輸出結果,但是整體預測效果不如自動機器學習方法構建的模型。
自動機器學習方法的訓練樣本基于EC細網格數值模式產品,因此模型預測的效果依賴于數值模式產品本身的準確性,在冬季低溫情況下,數值模式輸出的產品,尤其是低空及地面的物理量預測準確性較差,進而導致模型在冬季的溫度預測效果較差。為提升冬季低溫預測效果,后續將對比EC細網格、GRAPES以及區域中尺度數值模式,并優化站點數據插值方法,分析相關產品的溫度預測結果,通過選取預測性能更優的數值預報產品作為訓練樣本,改善溫度預測的準確性。
另外,不同機器學習方法底層實現算法的區別,也導致模型預測效果存在差異,為彌補不同方法缺陷,改善溫度預測結果,后續將結合機器學習工具的改進,引入更多適合溫度回歸預測的模型方法,通過綜合應用多種機器學習方法進行溫度預測,提高預報產品的穩定性和準確性。