成振華,周坤論,陶 偉,黃劍釗,王 瑋,景 坤
(廣西壯族自治區(qū)氣象技術(shù)裝備中心,南寧 530022)
降水現(xiàn)象儀在地面氣象觀測(cè)中逐漸地被普及使用,可以觀測(cè)降水雨滴譜數(shù)據(jù),得到降水過(guò)程中的各種參數(shù)(如降水粒子的直徑、降水粒子的下落速度、不同降水粒子的數(shù)量等)。在人工影響天氣、天氣現(xiàn)象類型判定中具有重要作用[1]。南寧國(guó)家氣象觀測(cè)站于2017 年安裝并使用至今,是南寧國(guó)家站智能觀測(cè)天氣現(xiàn)象的主要手段之一。降水現(xiàn)象儀是一種采用現(xiàn)代激光技術(shù)的光學(xué)測(cè)量?jī)x器,它主要由激光發(fā)生器和激光接收器組成。工作時(shí)激光發(fā)生器向接收器發(fā)射激光束,當(dāng)降水粒子從激光束中通過(guò)時(shí),會(huì)遮擋激光束造成接收器端電壓的變化,從而確定粒子大小。利用粒子從進(jìn)入激光束的時(shí)間,到完全離開(kāi)激光束的時(shí)間可以判定粒子的下降速度。測(cè)量粒子直徑范圍為0~24.5mm,速度最大可達(dá)20.8m·s-1,分鐘降水量最大值為6mm,可以滿足南寧市的降水觀測(cè)需求[2]。隨著自動(dòng)氣象觀測(cè)的不斷發(fā)展,“監(jiān)測(cè)精密”對(duì)氣象探測(cè)質(zhì)量提出了更高要求。周坤論等對(duì)比了廣西全區(qū)的降水現(xiàn)象儀與人工觀測(cè)天氣中存在差距[3]。劉平等指出81.8%的降水現(xiàn)象儀,得出的降水量絕對(duì)偏差和相對(duì)偏差都較大[4]。經(jīng)過(guò)分析得出可能的原因,是由于計(jì)算過(guò)程中對(duì)降水現(xiàn)象儀的精度要求較高,在實(shí)際中可能會(huì)出現(xiàn)降水現(xiàn)象儀在預(yù)測(cè)過(guò)程中,將粒子直徑或者速度誤判的情況,因此造成較大偏差。
機(jī)器學(xué)習(xí)(machinelearning,ML)算法近年來(lái)發(fā)展成熟,廣泛應(yīng)用于醫(yī)學(xué)、經(jīng)濟(jì)學(xué)、生物學(xué)、農(nóng)學(xué)、氣象學(xué)等領(lǐng)域[5]。相關(guān)人工智能算法也引入到降水預(yù)報(bào)業(yè)務(wù)中[6]。ML 技術(shù)在數(shù)據(jù)挖掘領(lǐng)域有較多應(yīng)用,在算力充足時(shí)可以彌補(bǔ)傳統(tǒng)算法建模復(fù)雜的問(wèn)題[7]。按照是否需要訓(xùn)練數(shù)據(jù),機(jī)器學(xué)習(xí)分為監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)兩類。其中監(jiān)督學(xué)習(xí)主要有線性回歸(linearregression)、邏輯回歸(logisticregression)、K 近鄰算法(K-Nearest neighbor,K-NN)決策樹(shù)(decisiontrees,DTs)等。無(wú)監(jiān)督學(xué)習(xí)主要有聚類算法(Clustering Algorithm)以及主成分分析法等(principalcomponentanalysis,PCA)[8]。在數(shù)據(jù)處理中高維稀疏數(shù)據(jù)帶來(lái)的冗余數(shù)據(jù)會(huì)影響算法模型的準(zhǔn)確率,并且提升時(shí)間和空間存儲(chǔ)的復(fù)雜度。通過(guò)數(shù)據(jù)降維可以減少數(shù)據(jù)冗余,提升算法的表示性能。本文嘗試采用機(jī)器學(xué)習(xí)算法對(duì)降水現(xiàn)象儀和雨量筒的數(shù)據(jù)進(jìn)行擬合試驗(yàn),從而檢驗(yàn)降水?dāng)?shù)據(jù)的一致性情況。提升觀測(cè)業(yè)務(wù)的準(zhǔn)確性。
本文的試驗(yàn)數(shù)據(jù)主要是南寧氣象觀測(cè)站2018年雨量筒數(shù)據(jù)和降水現(xiàn)象儀按分鐘輸出的雨滴觀測(cè)數(shù)據(jù)。其中降水資料通過(guò)地面氣象綜合觀測(cè)業(yè)務(wù)軟件(ISOS)采集,觀測(cè)粒子速度和直徑分為32 級(jí)共1024 維,每個(gè)維度用4 位數(shù)表示該維度雨滴粒子的個(gè)數(shù)。
在進(jìn)行降水現(xiàn)象儀和雨量筒數(shù)據(jù)一致性檢驗(yàn)試驗(yàn)時(shí),本文主要利用PCA 算法將高維稀疏的降水現(xiàn)象儀輸出數(shù)據(jù)降維,減少數(shù)據(jù)冗余。進(jìn)一步分別采用多元線性回歸算法、決策樹(shù)算法、最近鄰算法等3種機(jī)器學(xué)習(xí)算法對(duì)降維后的雨滴譜數(shù)據(jù)進(jìn)行擬合計(jì)算,并分析各種算法性能差異化的原因。各種降維和機(jī)器學(xué)習(xí)算法介紹如下:
1.2.1 主成分分析法
主成分分析法(PCA)通過(guò)去除冗余信息可有效降低數(shù)據(jù)維度[9]。數(shù)據(jù)集樣本協(xié)方差越小,則認(rèn)為該維度的信息更不容易被區(qū)分,該維度攜帶的信息量越?。环粗畡t認(rèn)為該維度攜帶的信息量越大。由于協(xié)方差矩陣對(duì)稱,因此選取的各個(gè)特征之間相互正交,保證了分解之后的各個(gè)特征之間不相關(guān),使得分解結(jié)果的各個(gè)分量可以單獨(dú)討論。計(jì)算公式如(1)所示:
其中∑代表樣本方差,xi為第i 個(gè)特征的樣本數(shù)據(jù),為樣本均值。
1.2.2 多元線性回歸
多元線性回歸分析是根據(jù)給定的多維自變量數(shù)據(jù),計(jì)算對(duì)應(yīng)的因變量數(shù)據(jù)[10],其公式如(2)所示。本文進(jìn)行雨量估計(jì)時(shí),降水現(xiàn)象儀輸出不同粒子直徑、不同粒子數(shù)量的數(shù)據(jù)可以看作數(shù)據(jù)的自變量x。雨量筒輸出的雨量數(shù)據(jù),可以看作多元線性回歸的因變量y。在計(jì)算中只需找到兩者的對(duì)應(yīng)關(guān)系,通過(guò)給定自變量x 和因變量y,可以求得對(duì)應(yīng)的關(guān)系w。
其中:
1.2.3 決策樹(shù)
決策樹(shù)算法[11]以樹(shù)形結(jié)構(gòu)建立模型,在模型中,決策節(jié)點(diǎn)、葉節(jié)點(diǎn)和分支定義了一系列可用于案例分類的決策。通過(guò)對(duì)樹(shù)的生長(zhǎng)算法做小幅調(diào)整,這些樹(shù)同樣可以應(yīng)用于數(shù)值預(yù)測(cè)。相對(duì)于比較常見(jiàn)的回歸方法,決策樹(shù)主要有以下優(yōu)點(diǎn):決策樹(shù)能自動(dòng)選擇特征,允許決策樹(shù)與大量特征一起使用。具有更多特征的決策樹(shù),對(duì)某些數(shù)據(jù)類型的適應(yīng)能力比線性回歸強(qiáng)。分析表明,在降水現(xiàn)象儀統(tǒng)計(jì)時(shí),如果出現(xiàn)較多錯(cuò)誤數(shù)據(jù),則決策樹(shù)回歸模型預(yù)測(cè)效果相對(duì)較好,如果錯(cuò)誤數(shù)據(jù)較少,則決策樹(shù)模型擬合效果一般。
1.2.4 K 近鄰回歸
K 近鄰回歸算法憑借計(jì)算量小、可解釋強(qiáng)等優(yōu)點(diǎn)近年來(lái)被廣泛應(yīng)用于氣象研究中。該算法通過(guò)計(jì)算目標(biāo)值周圍最近的數(shù)值結(jié)果,加權(quán)平均得到目標(biāo)值的數(shù)據(jù)[12]。在計(jì)算過(guò)程中需要對(duì)數(shù)據(jù)維度進(jìn)行正確地劃分。在雨滴譜擬合降雨量的過(guò)程中,雨滴譜輸出的每個(gè)降雨維度都可以作為降雨量的一個(gè)特征,具有相似雨滴譜特征的降雨量,也具有相似的雨量值,因此可以作為擬合雨量的算法。在實(shí)際使用中需要求已獲得的數(shù)據(jù)樣本足夠多,可以在目標(biāo)值周圍產(chǎn)生足夠的近鄰選擇。K 近鄰回歸算法不用擔(dān)心雨滴譜中,各個(gè)維度之間的參數(shù)制約關(guān)系,數(shù)據(jù)即使不為線性數(shù)據(jù)也可以有較好的回歸結(jié)果。
k 近鄰回歸的算法流程:
(1)找出距離目標(biāo)值最近的k 個(gè)相似雨滴譜特征的雨量值;
(2)計(jì)算k 個(gè)雨量值的平均數(shù)作為預(yù)測(cè)值的實(shí)際雨量;
(3)不斷重復(fù)篩選k 值使得結(jié)果最優(yōu)。
試驗(yàn)中,首先采用PCA 算法對(duì)數(shù)據(jù)進(jìn)行降維處理,其次分別采用多元線性回歸算法、決策樹(shù)算法、最近鄰算法等3 種機(jī)器學(xué)習(xí)算法進(jìn)行擬合計(jì)算。在進(jìn)行機(jī)器學(xué)習(xí)算法降水?dāng)?shù)據(jù)集的構(gòu)建中,篩選出降水現(xiàn)象儀與雨量筒觀測(cè)的雨量數(shù)據(jù)記錄共有309 個(gè)小時(shí)。本文將其中的80%作為訓(xùn)練集用以訓(xùn)練模型,20%作為測(cè)試集驗(yàn)證算法效果。
雨滴譜將雨滴數(shù)據(jù)劃分1024 維雨滴數(shù)據(jù),分別對(duì)應(yīng)不同的半徑和粒子速度。其中南寧一整年的降雨過(guò)程沒(méi)有雨夾雪和雪,因此在較高維度中數(shù)據(jù)為0,因此在計(jì)算過(guò)程中可以直接將該列數(shù)據(jù)刪除。將空列數(shù)據(jù)刪除后雨滴譜輸出維度為426 維。
刪除空維度后保證了每列數(shù)據(jù)均有不為0 的雨量記錄,但是仍然存在大量為0 的單列數(shù)據(jù)。在進(jìn)行計(jì)算時(shí)稀疏性的高維數(shù)據(jù)會(huì)使得計(jì)算值產(chǎn)生較大偏差,影響計(jì)算效果。
通過(guò)PCA 算法將高維數(shù)據(jù)降維,可以降低計(jì)算過(guò)程中的計(jì)算量,增加每個(gè)維度在計(jì)算中的占比權(quán)重。降維后還可以減少因雨滴譜設(shè)備本身性能問(wèn)題帶來(lái)的噪聲信號(hào)。
利用小時(shí)雨滴譜參數(shù)加權(quán)求和可以得到小時(shí)雨量,經(jīng)過(guò)降維后多元線性回歸方程寫為:
其中y 表示雨量筒統(tǒng)計(jì)的小時(shí)降雨量。x 表示對(duì)應(yīng)小時(shí)的雨滴譜降維數(shù)據(jù)。w 為小時(shí)雨滴譜各個(gè)維度對(duì)應(yīng)的參數(shù)。
利用最小化損失函數(shù):
即:
其中yi為雨量筒雨量,為回歸預(yù)測(cè)雨量。
利用最小二乘法求參數(shù)w,等式兩邊對(duì)w 求導(dǎo)并令一階導(dǎo)數(shù)為0 得到:
此時(shí)解出參數(shù)w 并可以預(yù)測(cè)雨量筒雨量yi的值。通過(guò)擬合估計(jì)得出基于多元線性回歸的雨量預(yù)測(cè)如圖1 所示:
圖1 多元線性回歸擬合雨量圖
在雨量預(yù)測(cè)中訓(xùn)練集里的每個(gè)樣本維度x 都會(huì)被賦予對(duì)應(yīng)的系數(shù)w,因此在擬合中對(duì)樣本雨強(qiáng)的數(shù)據(jù)平衡性依賴較低,不會(huì)因?yàn)槟骋环N雨強(qiáng)較少而降低擬合準(zhǔn)確率??梢院芎玫乜朔?shí)際中暴雨出現(xiàn)較少的場(chǎng)景。
雨滴譜樣本中存在426 維非空的數(shù)據(jù),因?yàn)榻涤赀^(guò)程中雨滴存在相關(guān)性(包含線性和非線性相關(guān)),預(yù)測(cè)雨量值時(shí)存在大量的冗余維度作為噪聲,干擾多元線性回歸系數(shù)的選取。通過(guò)PCA 降維算法抑制噪聲后進(jìn)行多元線性回歸擬合,會(huì)取得較好的效果。從圖1 中可以看出多元線性回歸算法在預(yù)測(cè)值中,大部分的預(yù)測(cè)值與雨量筒值較為相近。經(jīng)統(tǒng)計(jì)線性回歸在降維成29 維時(shí),預(yù)測(cè)準(zhǔn)確率最高,其中有超過(guò)85%的預(yù)測(cè)值誤差小于0.7mm。
經(jīng)過(guò)PCA 降維后的雨滴譜數(shù)據(jù)的每個(gè)維度,可以看作計(jì)算雨量值的一個(gè)特征。因此在計(jì)算過(guò)程中,可以利用決策樹(shù)預(yù)測(cè)實(shí)際的雨量值。決策樹(shù)算法首先構(gòu)建根節(jié)點(diǎn),將雨滴譜數(shù)據(jù)放入其中,篩選出根節(jié)點(diǎn)中條件最好的分類。然后按照此規(guī)則依次將各個(gè)分類的子集中的雨滴譜數(shù)據(jù)繼續(xù)分類,直到得出葉子節(jié)點(diǎn)對(duì)應(yīng)的雨量數(shù)據(jù)為止。如果重復(fù)完該過(guò)程后依舊有未成功分類的節(jié)點(diǎn),則根據(jù)最優(yōu)特征分類將雨滴譜數(shù)據(jù)歸為其中。擬合結(jié)果如圖2 所示:
圖2 決策樹(shù)擬合雨量圖
分析圖2 可知,決策樹(shù)算法在預(yù)測(cè)值中大部分的預(yù)測(cè)值與真實(shí)值偏差較大。但總體預(yù)測(cè)穩(wěn)定性較好。決策樹(shù)算法通過(guò)判斷每層邏輯分支進(jìn)行擬合。當(dāng)擬合數(shù)據(jù)維度較少時(shí),會(huì)因數(shù)據(jù)特征重疊導(dǎo)致誤判;當(dāng)擬合數(shù)據(jù)維度較多時(shí),又會(huì)導(dǎo)致分支數(shù)較多導(dǎo)致擬合性能下降。經(jīng)統(tǒng)計(jì),決策樹(shù)的降維最佳維度為40 維,其中有超過(guò)70%的預(yù)測(cè)小時(shí)雨量值誤差小于0.7mm。在三種算法中擬合效果最差。
導(dǎo)致這種情況的原因,是由于決策樹(shù)擬合過(guò)程中,將目標(biāo)訓(xùn)練數(shù)據(jù)作為離散的分類點(diǎn)。在進(jìn)行測(cè)試數(shù)據(jù)擬合時(shí),通過(guò)平滑離散點(diǎn)形成一條曲線。因此在擬合出的結(jié)果中幾乎所有點(diǎn)都存在一定量的偏差。
通過(guò)找出一個(gè)樣本的k 個(gè)最近鄰居,將這些鄰居的某個(gè)(些)屬性的平均值賦給該樣本,就可以得到該樣本的值。最近鄰算法預(yù)測(cè)結(jié)果如圖3 所示:
圖3 KNN 擬合雨量圖
從圖3 中可以看出KNN 算法在預(yù)測(cè)值中大部分的預(yù)測(cè)值,與真實(shí)值偏差總體不大。這是由于KNN 算法在預(yù)測(cè)中取周圍點(diǎn)的平均值。在降雨過(guò)程中小時(shí)雨量超過(guò)7mm 的次數(shù)較少,測(cè)試集目標(biāo)值周圍的點(diǎn)不夠均勻,因此KNN 算法對(duì)較大雨量的擬合準(zhǔn)確率較低。而小雨量的目標(biāo)值在樣本中較多,可以充分取到周圍的近鄰點(diǎn)做平均,因此預(yù)測(cè)準(zhǔn)備率較高。
對(duì)于近鄰值K 的選擇。當(dāng)K 值選擇較小時(shí),會(huì)因選取點(diǎn)不夠均勻,導(dǎo)致預(yù)測(cè)結(jié)果產(chǎn)生偏差;當(dāng)K值選擇過(guò)大時(shí),會(huì)導(dǎo)致計(jì)算量和空間開(kāi)銷增加,并且會(huì)將原本無(wú)關(guān)的樣本點(diǎn)歸在一起進(jìn)行預(yù)測(cè)。準(zhǔn)確率隨K 值變化如圖4 所示,當(dāng)K 值取6 時(shí)效果最佳,綜合判定超過(guò)75%的預(yù)測(cè)值誤差小于0.7mm。
圖4 不同K 值下的準(zhǔn)確率
對(duì)上述一致性檢驗(yàn)試驗(yàn)的結(jié)果進(jìn)行對(duì)比分析發(fā)現(xiàn),3 種機(jī)器學(xué)習(xí)算法中多元線性回歸算法的預(yù)測(cè)成功率最好。這表明降水現(xiàn)象儀輸出中的各個(gè)粒子直徑和速度的雨滴譜數(shù)據(jù)與雨量之間的確存在線性關(guān)系。通過(guò)計(jì)算各個(gè)粒子的權(quán)重,累和后可以得到雨量筒數(shù)據(jù)。計(jì)算過(guò)程中部分?jǐn)?shù)據(jù)出現(xiàn)小時(shí)雨量超過(guò)0.7mm 以上情況主要分布在較大量級(jí)的雨量附近。分析發(fā)現(xiàn)造成這一現(xiàn)象的原因可能是雨量較大時(shí)雨量筒在翻轉(zhuǎn)過(guò)程中存在一些外溢損耗,因此雨量筒未成功探測(cè)到雨量數(shù)據(jù)。
最近鄰回歸算法通過(guò)計(jì)算距離目標(biāo)值最近的K個(gè)點(diǎn)的均值,代表目標(biāo)值數(shù)據(jù)。通過(guò)分析小時(shí)雨量數(shù)據(jù)發(fā)現(xiàn)小時(shí)雨量超過(guò)50mm 的樣本較少。在計(jì)算這部分雨量時(shí),沒(méi)有足夠多的近鄰數(shù)據(jù)進(jìn)行加權(quán)平均,因此出現(xiàn)了較大誤差。較多的小雨量樣本使得在計(jì)算小雨量時(shí),有足夠多的相似近鄰因此預(yù)測(cè)值較為接近,這也說(shuō)明降雨過(guò)程的雨滴粒子直徑和數(shù)量較為均勻。
決策樹(shù)算法在三者當(dāng)中,誤差明顯高于另外兩種的原因是:決策樹(shù)在進(jìn)行回歸計(jì)算時(shí)主要通過(guò)分類的方式進(jìn)行。通過(guò)分類得到的決策樹(shù)具有較好的可理解性,但是在線性擬合中將線性的結(jié)果,轉(zhuǎn)化為分類結(jié)果會(huì)產(chǎn)生過(guò)擬合現(xiàn)象。
本文采用三種機(jī)器學(xué)習(xí)算法,對(duì)2018 年南寧國(guó)家站降水現(xiàn)象儀觀測(cè)數(shù)據(jù)與雨量筒數(shù)據(jù),進(jìn)行了一致性擬合試驗(yàn)。結(jié)果表明,不同的機(jī)器學(xué)習(xí)算法在預(yù)測(cè)中均有較高的擬合度。其中多元線性回歸算法在擬合中預(yù)測(cè)中最多的小時(shí)降雨量,達(dá)到了85%;最近鄰算法在預(yù)測(cè)中雨量較小時(shí)綜合準(zhǔn)確率為75%,在樣本較多時(shí)具有很好的預(yù)測(cè)準(zhǔn)確性。當(dāng)設(shè)備穩(wěn)定運(yùn)行時(shí)決策樹(shù)綜合預(yù)測(cè)值最差只有70%。
在預(yù)測(cè)降水過(guò)程中并未克服傳統(tǒng)機(jī)器學(xué)習(xí)存在的弊端,無(wú)法進(jìn)一步提升算法的表示性能。在最近鄰算法中,距離度量方法有多中,判定出的“近鄰”也可能有顯著區(qū)別,從而影響擬合效果。后續(xù)可嘗試不僅使用歐式距離,改用馬氏距離或其他距離作為選擇度量。在最近鄰算法中如果解決樣本不均衡問(wèn)題,可以獲得更好的預(yù)測(cè)效果。線性回歸中對(duì)設(shè)備穩(wěn)定運(yùn)行率有較高要求,設(shè)備出現(xiàn)過(guò)大值的原因主要因?yàn)樵O(shè)備運(yùn)行穩(wěn)定率不高導(dǎo)致。在后續(xù)工作中考慮將不同算法的優(yōu)勢(shì)結(jié)合起來(lái),從而提高算法的效果。