陳飛盛,蔣玉鳳,唐展鴻
梧州市氣象局,廣西梧州 543000
降水預(yù)報(bào)是天氣預(yù)報(bào)和氣象防災(zāi)減災(zāi)工作的重要環(huán)節(jié),當(dāng)前定時(shí)、定量、定點(diǎn)的降水天氣預(yù)報(bào)預(yù)警呈精準(zhǔn)化趨勢(shì)[1]。而數(shù)值模式的定量降水量預(yù)報(bào)準(zhǔn)確率仍有待提高,因此,對(duì)數(shù)值預(yù)報(bào)模式的后處理研究十分必要。目前常用的非線性機(jī)器學(xué)習(xí)算法有支持向量機(jī)方法、 Logistics判別方法、神經(jīng)網(wǎng)絡(luò)方法和長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)等。孔慶燕等[2-3]運(yùn)用粒子群優(yōu)化算法和遺傳優(yōu)化算法對(duì)支持向量機(jī)優(yōu)化后進(jìn)行降水預(yù)測(cè),同樣得到了較好的效果。陳錦鵬等[4]通過(guò)卷積神經(jīng)網(wǎng)絡(luò)方法以及不同訂正方案下對(duì)3 h降水預(yù)報(bào)進(jìn)行對(duì)比分析。
本文選取2019—2021年廣西前汛期(4—6月)91個(gè)國(guó)家氣象站日降水量,以及對(duì)應(yīng)時(shí)間的EAR5再分析資料不同層次的上百個(gè)氣象要素場(chǎng)作,先通過(guò)相關(guān)分析與主成分分析方法對(duì)降水因子進(jìn)行篩選、降維,再運(yùn)用9種機(jī)器學(xué)習(xí)方法以及2種參數(shù)優(yōu)化算法相結(jié)合建立降水預(yù)報(bào)模型,進(jìn)行逐日降水?dāng)?shù)值預(yù)報(bào)產(chǎn)品的釋用及比較分析。
預(yù)報(bào)因子主要是以對(duì)應(yīng)時(shí)段的EAR5再分析資料117個(gè)氣象要素,以梧州市國(guó)家氣象站為例,通過(guò)對(duì)2019—2021年的4—6月逐日氣象要素和降水量的網(wǎng)格場(chǎng)數(shù)據(jù)進(jìn)行雙線性插值方法插值到站點(diǎn)上,進(jìn)行相關(guān)分析,發(fā)現(xiàn)仍有40多個(gè)與降水量高相關(guān)的預(yù)報(bào)因子,相關(guān)系數(shù)均在0.5以上。
為了減少預(yù)報(bào)模型的輸入因子,避免過(guò)擬合等問(wèn)題,采用主成分分析方法分別對(duì)因子進(jìn)行降維處理,既實(shí)現(xiàn)降維又保留原有因子主要特征。最后得到10個(gè)重新構(gòu)建的預(yù)報(bào)因子作為模型的輸入。需要說(shuō)明的是不同的站點(diǎn)選取的預(yù)報(bào)因子各不相同,經(jīng)過(guò)統(tǒng)計(jì)后發(fā)現(xiàn),入選最多的預(yù)報(bào)因子為平均層垂直速度和1 000 hPa相對(duì)濕度。
通過(guò)主成分分析得知,前10個(gè)主成分的累積方差貢獻(xiàn)率達(dá)到87.792%,意味著這10個(gè)主成分在整個(gè)數(shù)據(jù)分析占據(jù)絕對(duì)意義的比重。通常情況下,提取的載荷平方和達(dá)到85%以上就能反映相關(guān)因子的影響。不同的預(yù)報(bào)因子均有不同主成分因子的權(quán)重,如主成分1權(quán)重最大的預(yù)報(bào)因子為1 000 hPa相對(duì)濕度(r_1 000),主成分2權(quán)重最大的預(yù)報(bào)因子為1 000 hPa具體雨水含量(crwc_1 000)。
支持向量機(jī)(SVM)是機(jī)器學(xué)習(xí)方法中的一種,目前在模式訂正和圖形識(shí)別等各領(lǐng)域應(yīng)用中取得不錯(cuò)成果。在求解非線性回歸問(wèn)題時(shí),將低維非線性的數(shù)據(jù)集映射到高維Hilbert特征空間的數(shù)據(jù)集,從不規(guī)則的空間映射到超平面上,更容易求解出最優(yōu)解,且具有較強(qiáng)的泛化性。
設(shè)T={xi,yi,i=1,…,n},通過(guò)ψ(·),將非線性的低維輸入矩陣映射到高維Hilbert特征空間,并構(gòu)造:f(x)=ω·ψ(x)+b。進(jìn)一步引入不敏感損失函數(shù),得:
即利用損失函數(shù)求解ω和b,在滿足ε前提下最小化
Logistics判別方法一般用于二分類問(wèn)題,該函數(shù)方程為:
其中,x為樣本矩陣,β為待定參數(shù);P為降水發(fā)生的概率值,位于0~1之間。因?yàn)長(zhǎng)ogistics回歸輸出的只是預(yù)報(bào)概率,無(wú)法直接進(jìn)行分類。通常情況下以0.5為臨界值,進(jìn)行二類判別。但是在實(shí)際應(yīng)用中,則以分類準(zhǔn)確率為指標(biāo),得到實(shí)際對(duì)應(yīng)的預(yù)報(bào)概率的判斷閾值。判斷大于閾值的為一類,而小于閾值的屬于另一類。
AdaBoost算法原理是要選出弱學(xué)習(xí)算法和訓(xùn)練樣本,首先將訓(xùn)練樣本賦以相同的權(quán)重,然后使用弱學(xué)習(xí)算法分別對(duì)訓(xùn)練樣本進(jìn)行訓(xùn)練,再對(duì)訓(xùn)練失敗的訓(xùn)練樣本重新賦予更大的權(quán)重,讓弱學(xué)習(xí)算法在后面的學(xué)習(xí)中可以繼續(xù)對(duì)重新賦予更大權(quán)重的訓(xùn)練樣本進(jìn)行訓(xùn)練,從而得到一個(gè)預(yù)測(cè)函數(shù)集且設(shè)定有權(quán)重,預(yù)測(cè)函數(shù)的預(yù)測(cè)結(jié)果好則權(quán)重相對(duì)較大,反之則較小。
隨機(jī)森林算法(RF)是通過(guò)參數(shù)調(diào)整葉子節(jié)點(diǎn)的數(shù)量或者樹(shù)的深度來(lái)構(gòu)造每棵決策樹(shù),RF在決策樹(shù)的基礎(chǔ)上具有防止過(guò)擬合的特點(diǎn),過(guò)擬合一般是由噪聲和離群點(diǎn)導(dǎo)致。從數(shù)據(jù)抽樣開(kāi)始,每棵樹(shù)會(huì)隨機(jī)地在原有數(shù)據(jù)中有放回抽取樣本,保證了樹(shù)之間的獨(dú)立性,所以森林中各個(gè)決策樹(shù)會(huì)成為單一的個(gè)體,互不關(guān)聯(lián)。針對(duì)回歸問(wèn)題,單一決策樹(shù)運(yùn)算的輸出累加求平均,從而求解出新樣本的預(yù)測(cè)值。本文采用最小方均差原則如式(3):對(duì)隨機(jī)劃分特征A的點(diǎn)s,將數(shù)據(jù)集劃分為s1和s2,使s1和s2的均方差最?。?/p>
其中,c1和c2分別為s1和s2的樣本輸出均值,yi為輸入樣本。
梯度提升回歸樹(shù)、貝葉斯嶺回歸算法、BP神經(jīng)網(wǎng)絡(luò)算法、KNN回歸算法和決策樹(shù)回歸算法詳見(jiàn)參考文獻(xiàn)[5],本文不再一一介紹。
粒子群算法[6](PSO)是通過(guò)群體智能進(jìn)化算法技術(shù),使個(gè)體間的互動(dòng)協(xié)作,不斷迭代來(lái)獲得全局最優(yōu)解。每個(gè)粒子通過(guò)跟蹤個(gè)體最優(yōu)解Pi=(Pi1, Pi2,…, PiD),反復(fù)迭代來(lái)更新自己的位置和速度,直到迭代次數(shù)達(dá)到預(yù)設(shè)值,或當(dāng)前群體最優(yōu)解的適應(yīng)度小于等于設(shè)定最小值。其中i=1,2,…,m,種群個(gè)數(shù)為m;Wmax與Wmin分別是慣性權(quán)重的最大、最小值;當(dāng)前迭代次數(shù)t,最大迭代次數(shù)tmax;u1和u2為加速因子,通常取值范圍在0~2;r1和r2取值范圍為0~1。
遺傳算法[7](GA)是迭代式自適應(yīng)概率性搜索方法,具有模擬自然界中生物進(jìn)化的發(fā)展規(guī)律的能力,還可以對(duì)特定目標(biāo)實(shí)現(xiàn)自動(dòng)優(yōu)化。具體實(shí)現(xiàn)步驟為:
(1)遺傳算子采用實(shí)數(shù)編碼方法計(jì)算出SVR的3個(gè)參數(shù)。
(2)然后在編碼空間中隨機(jī)生成初始群體,解碼出的遺傳個(gè)體即為SVR的3個(gè)參數(shù),并代入到訓(xùn)練樣本中。將訓(xùn)練數(shù)據(jù)交叉驗(yàn)證后的均方誤差平均值定義為適應(yīng)度函數(shù),即:
式中,n為訓(xùn)練樣本數(shù);yi為雨量實(shí)況值;fi為雨量預(yù)測(cè)值。
根據(jù)第3節(jié)的9種機(jī)器學(xué)習(xí)回歸預(yù)報(bào)模型,以及第2節(jié)選取的預(yù)報(bào)因子,利用2019—2020年的4—6月數(shù)據(jù)作為樣本(182 d),對(duì)2021年4—6月(91 d)廣西91站日降水量建立預(yù)報(bào)模型,并進(jìn)行檢驗(yàn),各模型預(yù)報(bào)值與真實(shí)值對(duì)比見(jiàn)圖1,其對(duì)應(yīng)的評(píng)價(jià)指標(biāo)見(jiàn)表1。
表1 廣西91站點(diǎn)各模型評(píng)價(jià)指標(biāo)平均值
檢驗(yàn)結(jié)果表明:AdaBoost、MLP和DecisionTree這3種模型的平均絕對(duì)誤差均>5,在9種模型中表現(xiàn)較差,且MLP和DecisionTree的R2為負(fù)值,說(shuō)明回歸函數(shù)擬合效果差于取平均值;而KNN模型較前3種模型的預(yù)報(bào)性能均有所提高,但平均絕對(duì)誤差仍然較大;表現(xiàn)較好的模型為SVR和BayesianRidge,其平均絕對(duì)誤差為4左右,R2和EVS指標(biāo)也提升到0.3以上;但由圖1可知,SVR模型預(yù)報(bào)趨勢(shì)更貼合真實(shí)值變化趨勢(shì),而B(niǎo)ayesian-Ridge模型的預(yù)報(bào)值出現(xiàn)了明顯負(fù)值,不利于實(shí)際應(yīng)用。
圖1 9種機(jī)器學(xué)習(xí)模型預(yù)報(bào)值與真實(shí)值對(duì)比
綜上,9種機(jī)器學(xué)習(xí)回歸預(yù)報(bào)模型中,表現(xiàn)最好的為SVR模型。
選取上述表現(xiàn)最好的SVR模型作為基礎(chǔ),通過(guò)粒子群算法和遺傳算法對(duì)其參數(shù)進(jìn)行優(yōu)化,目的是更進(jìn)一步提高模型的預(yù)報(bào)性能。經(jīng)過(guò)計(jì)算,使用模型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可知,通過(guò)粒子群算法和遺傳算法對(duì)SVR參數(shù)進(jìn)行優(yōu)化后,預(yù)報(bào)性能均有較大提高,而GA-SVR模型表現(xiàn)更為出色,預(yù)報(bào)穩(wěn)定性強(qiáng),未出現(xiàn)負(fù)值預(yù)報(bào)。由于本文在模式建立前解決了預(yù)報(bào)因子的處理及選擇,GA-SVR模型有比較合理的優(yōu)化參數(shù),對(duì)短期降水預(yù)報(bào)效果較好,為再分析資料的本地化應(yīng)用提供了很好的技術(shù)方法。
圖2 改進(jìn)SVR模型預(yù)報(bào)值與真實(shí)值對(duì)比
本文首先運(yùn)用EAR5基礎(chǔ)小時(shí)數(shù)據(jù)計(jì)算出與降水相關(guān)的多個(gè)物理量,組成117個(gè)日值預(yù)報(bào)因子,然后通過(guò)雙線性插值把格點(diǎn)數(shù)據(jù)插值到對(duì)應(yīng)離散站點(diǎn)上,并使用相關(guān)分析以及主成分分析方法,篩選出10個(gè)左右的預(yù)報(bào)因子,然后建立9個(gè)機(jī)器學(xué)習(xí)模型對(duì)2021年的4—6月廣西91個(gè)國(guó)家站點(diǎn)日降水進(jìn)行預(yù)測(cè)。經(jīng)過(guò)試驗(yàn)對(duì)比分析,除個(gè)別站點(diǎn)外,大部分站點(diǎn)使用SVR模型的預(yù)報(bào)性能表現(xiàn)最優(yōu),平均MAE為3.64;最后通過(guò)粒子群算法和遺傳算法對(duì)其參數(shù)優(yōu)化,GA-SVR模型預(yù)報(bào)性能得到進(jìn)一步提升,R2提高到0.51,EVS為0.52,MAE減少到3.16。由于本文在模式建立前解決了預(yù)報(bào)因子的處理及選擇,GA-SVR模型有比較合理的優(yōu)化參數(shù),對(duì)短期降水預(yù)報(bào)效果較好,為再分析資料的本地化應(yīng)用提供了很好的技術(shù)方法,可應(yīng)用于模式預(yù)報(bào)產(chǎn)品中進(jìn)行嘗試。