陳飛盛,蔣玉鳳,唐展鴻
梧州市氣象局,廣西梧州 543000
降水預報是天氣預報和氣象防災減災工作的重要環節,當前定時、定量、定點的降水天氣預報預警呈精準化趨勢[1]。而數值模式的定量降水量預報準確率仍有待提高,因此,對數值預報模式的后處理研究十分必要。目前常用的非線性機器學習算法有支持向量機方法、 Logistics判別方法、神經網絡方法和長短時記憶網絡等。孔慶燕等[2-3]運用粒子群優化算法和遺傳優化算法對支持向量機優化后進行降水預測,同樣得到了較好的效果。陳錦鵬等[4]通過卷積神經網絡方法以及不同訂正方案下對3 h降水預報進行對比分析。
本文選取2019—2021年廣西前汛期(4—6月)91個國家氣象站日降水量,以及對應時間的EAR5再分析資料不同層次的上百個氣象要素場作,先通過相關分析與主成分分析方法對降水因子進行篩選、降維,再運用9種機器學習方法以及2種參數優化算法相結合建立降水預報模型,進行逐日降水數值預報產品的釋用及比較分析。
預報因子主要是以對應時段的EAR5再分析資料117個氣象要素,以梧州市國家氣象站為例,通過對2019—2021年的4—6月逐日氣象要素和降水量的網格場數據進行雙線性插值方法插值到站點上,進行相關分析,發現仍有40多個與降水量高相關的預報因子,相關系數均在0.5以上。
為了減少預報模型的輸入因子,避免過擬合等問題,采用主成分分析方法分別對因子進行降維處理,既實現降維又保留原有因子主要特征。最后得到10個重新構建的預報因子作為模型的輸入。需要說明的是不同的站點選取的預報因子各不相同,經過統計后發現,入選最多的預報因子為平均層垂直速度和1 000 hPa相對濕度。
通過主成分分析得知,前10個主成分的累積方差貢獻率達到87.792%,意味著這10個主成分在整個數據分析占據絕對意義的比重。通常情況下,提取的載荷平方和達到85%以上就能反映相關因子的影響。不同的預報因子均有不同主成分因子的權重,如主成分1權重最大的預報因子為1 000 hPa相對濕度(r_1 000),主成分2權重最大的預報因子為1 000 hPa具體雨水含量(crwc_1 000)。
支持向量機(SVM)是機器學習方法中的一種,目前在模式訂正和圖形識別等各領域應用中取得不錯成果。在求解非線性回歸問題時,將低維非線性的數據集映射到高維Hilbert特征空間的數據集,從不規則的空間映射到超平面上,更容易求解出最優解,且具有較強的泛化性。
設T={xi,yi,i=1,…,n},通過ψ(·),將非線性的低維輸入矩陣映射到高維Hilbert特征空間,并構造:f(x)=ω·ψ(x)+b。進一步引入不敏感損失函數,得:

即利用損失函數求解ω和b,在滿足ε前提下最小化
Logistics判別方法一般用于二分類問題,該函數方程為:

其中,x為樣本矩陣,β為待定參數;P為降水發生的概率值,位于0~1之間。因為Logistics回歸輸出的只是預報概率,無法直接進行分類。通常情況下以0.5為臨界值,進行二類判別。但是在實際應用中,則以分類準確率為指標,得到實際對應的預報概率的判斷閾值。判斷大于閾值的為一類,而小于閾值的屬于另一類。
AdaBoost算法原理是要選出弱學習算法和訓練樣本,首先將訓練樣本賦以相同的權重,然后使用弱學習算法分別對訓練樣本進行訓練,再對訓練失敗的訓練樣本重新賦予更大的權重,讓弱學習算法在后面的學習中可以繼續對重新賦予更大權重的訓練樣本進行訓練,從而得到一個預測函數集且設定有權重,預測函數的預測結果好則權重相對較大,反之則較小。
隨機森林算法(RF)是通過參數調整葉子節點的數量或者樹的深度來構造每棵決策樹,RF在決策樹的基礎上具有防止過擬合的特點,過擬合一般是由噪聲和離群點導致。從數據抽樣開始,每棵樹會隨機地在原有數據中有放回抽取樣本,保證了樹之間的獨立性,所以森林中各個決策樹會成為單一的個體,互不關聯。針對回歸問題,單一決策樹運算的輸出累加求平均,從而求解出新樣本的預測值。本文采用最小方均差原則如式(3):對隨機劃分特征A的點s,將數據集劃分為s1和s2,使s1和s2的均方差最小:

其中,c1和c2分別為s1和s2的樣本輸出均值,yi為輸入樣本。
梯度提升回歸樹、貝葉斯嶺回歸算法、BP神經網絡算法、KNN回歸算法和決策樹回歸算法詳見參考文獻[5],本文不再一一介紹。
粒子群算法[6](PSO)是通過群體智能進化算法技術,使個體間的互動協作,不斷迭代來獲得全局最優解。每個粒子通過跟蹤個體最優解Pi=(Pi1, Pi2,…, PiD),反復迭代來更新自己的位置和速度,直到迭代次數達到預設值,或當前群體最優解的適應度小于等于設定最小值。其中i=1,2,…,m,種群個數為m;Wmax與Wmin分別是慣性權重的最大、最小值;當前迭代次數t,最大迭代次數tmax;u1和u2為加速因子,通常取值范圍在0~2;r1和r2取值范圍為0~1。
遺傳算法[7](GA)是迭代式自適應概率性搜索方法,具有模擬自然界中生物進化的發展規律的能力,還可以對特定目標實現自動優化。具體實現步驟為:
(1)遺傳算子采用實數編碼方法計算出SVR的3個參數。
(2)然后在編碼空間中隨機生成初始群體,解碼出的遺傳個體即為SVR的3個參數,并代入到訓練樣本中。將訓練數據交叉驗證后的均方誤差平均值定義為適應度函數,即:

式中,n為訓練樣本數;yi為雨量實況值;fi為雨量預測值。
根據第3節的9種機器學習回歸預報模型,以及第2節選取的預報因子,利用2019—2020年的4—6月數據作為樣本(182 d),對2021年4—6月(91 d)廣西91站日降水量建立預報模型,并進行檢驗,各模型預報值與真實值對比見圖1,其對應的評價指標見表1。

表1 廣西91站點各模型評價指標平均值
檢驗結果表明:AdaBoost、MLP和DecisionTree這3種模型的平均絕對誤差均>5,在9種模型中表現較差,且MLP和DecisionTree的R2為負值,說明回歸函數擬合效果差于取平均值;而KNN模型較前3種模型的預報性能均有所提高,但平均絕對誤差仍然較大;表現較好的模型為SVR和BayesianRidge,其平均絕對誤差為4左右,R2和EVS指標也提升到0.3以上;但由圖1可知,SVR模型預報趨勢更貼合真實值變化趨勢,而Bayesian-Ridge模型的預報值出現了明顯負值,不利于實際應用。

圖1 9種機器學習模型預報值與真實值對比
綜上,9種機器學習回歸預報模型中,表現最好的為SVR模型。
選取上述表現最好的SVR模型作為基礎,通過粒子群算法和遺傳算法對其參數進行優化,目的是更進一步提高模型的預報性能。經過計算,使用模型GA-SVR,R2提高到0.51,EVS為0.52,MAE減少到3.16;PSO-SVR方法的R2為0.49,EVS為0.50,MAE為3.36,與 模型GA-SVR差別不大。
由圖2可知,通過粒子群算法和遺傳算法對SVR參數進行優化后,預報性能均有較大提高,而GA-SVR模型表現更為出色,預報穩定性強,未出現負值預報。由于本文在模式建立前解決了預報因子的處理及選擇,GA-SVR模型有比較合理的優化參數,對短期降水預報效果較好,為再分析資料的本地化應用提供了很好的技術方法。

圖2 改進SVR模型預報值與真實值對比
本文首先運用EAR5基礎小時數據計算出與降水相關的多個物理量,組成117個日值預報因子,然后通過雙線性插值把格點數據插值到對應離散站點上,并使用相關分析以及主成分分析方法,篩選出10個左右的預報因子,然后建立9個機器學習模型對2021年的4—6月廣西91個國家站點日降水進行預測。經過試驗對比分析,除個別站點外,大部分站點使用SVR模型的預報性能表現最優,平均MAE為3.64;最后通過粒子群算法和遺傳算法對其參數優化,GA-SVR模型預報性能得到進一步提升,R2提高到0.51,EVS為0.52,MAE減少到3.16。由于本文在模式建立前解決了預報因子的處理及選擇,GA-SVR模型有比較合理的優化參數,對短期降水預報效果較好,為再分析資料的本地化應用提供了很好的技術方法,可應用于模式預報產品中進行嘗試。