陳欣影,叢 源,錢 池
文登區氣象局,山東威海 264400
降水是整個世界水循環過程中至關重要的一環,對于人們的生產活動和經濟社會的平衡與發展來說至關重要。形成降水需要有較豐富的水汽、上升運動以及數量較多的凝結核,而影響降水量的各種因素也涉及地形、氣壓、西風帶、海陸位置、人類活動等各個方面。諸多影響因子的共同作用給降水量的預報工作增加了難度,近年來,因為強降水造成的城市內澇、山洪、泥石流等氣象災害時有發生,在一定程度上危害著社會經濟的正常發展。因此,提高降水量預報準確度迫在眉睫。
鄭州市地處河南省中北部,黃河中、下游分界處,屬于溫帶大陸性季風氣候,特點是四季分明。春季干旱少雨,多旱春,冷暖多變,多大風天氣;夏季炎熱,降水集中;秋季較短,多涼爽天氣;冬季漫長干冷,雨雪很少。降水主要集中在每年6—8月,以8月最多。因此,汛期降水的預測十分重要,不僅事關人們生產生活,還事關做好防汛抗旱工作,更為精準的預報方法有待研究。
目前,降水量的預報方式主要包括:經驗統計方法、物理統計方法、數值模式方法、動力與統計預測相結合的方法。在人工智能不斷發展的過程中,降水量預報中逐步開始應用各類機器學習方法,主要包括回歸分析、時間序列分析、頻譜分析、神經網絡、支持向量機等?;貧w分析、時間序列分析以及頻譜分析所得到的降水量預報結果往往與真實值有較大的不同,而使用神經網絡實現的降水量預報更加依賴于初始權值,具有較強的不穩定性,支持向量機是一種機器學習的預報方法,相比于其他模型,它更加適合處理小樣本數據,在處理較大的樣本上存在一定的困難。隨機森林是一門可以通過bootstrap重抽樣構建決策樹的組合分類器模型,更適合處理大樣本數據,同時避免了過度擬合的問題[1]。介紹隨機森林的基本原理,以鄭州汛期降水量預報為著眼點,將隨機森林用于降水量的預報,構建基于隨機森林的降水量預報模型,并將其與傳統方法比較,檢驗預報模型的精度,評價模型的優劣程度。
1.1.1 決策樹決策樹是一種樹結構的預測模型,能夠直接反映自變量與因變量之間的對應關系,樹中每個節點表示一次測試,而每個樹枝則代表測試結果。決策樹采用遞歸法自上而下地構造樹結構,完成決策。按其功能的不同,決策樹分為分類樹、回歸樹及CART(calssificationg and regression tree)。決策樹根據信息增益或者信息增益率來尋找最優特征和最優候選值[2]。
1.1.2 自舉法自舉法(bootstrap)又稱為自助法,是利用重抽樣構建樣本的統計方法。核心思想:對一個樣本大小為n的樣本進行有放回的重復抽樣,生成一系列樣本大小同樣為n的新樣本的方法,在建立決策樹的過程中,隨機森林采用bootstrap構建分類樹和回歸樹。
1.1.3 剪枝剪枝是決策樹中的停止決策樹分類的一種方法,可以消減訓練集樣本的噪聲,包括預剪枝和后剪枝[3]。預剪枝是在決策樹產生前構建剪枝標準,當決策樹分類達到此標準時,決策樹停止分支,存在“視覺局限”。后剪枝是在決策樹產生后進行剪枝,保證了決策樹的充分生成,使得葉節點的純度值最小,相對預剪枝而言,突破了“視覺局限”,并且不需要保留用于交叉驗證的樣本,缺點是增加了大量的計算量。
隨機森林中存在2個隨機過程:在產生每棵樹的過程中,在訓練數據集中都可以使用bootstrap抽樣;在決策樹的各個節點上,通過隨機選取劃分特征。正是因為這2個隨機過程的存在,在形成決策樹的整個過程中,隨機森林即使不對決策樹進行剪枝,也避免了overfitting(過度擬合)的問題[4]。
1.1.4 集成學習方法“集成學習”方法是一種能產生許多分類器并匯總其結果的學習方法。其中,2種眾所周知的方法是增強分類樹和裝袋[5-6]。在助推中,連續的樹會給以前的預測變量錯誤預測點增加重量。最后,加權投票進行預測。在裝袋時,連續的樹木不依賴于早期的樹木,每個都是使用數據集的自舉樣本獨立構建的。按照少數服從多數進行投票得到預測結果。
隨機森林的套袋還添加了一個附加的隨機性,除了能夠通過不同的bootstrap樣本數據構建每棵樹之外,隨機森林也能夠改變分類樹回歸樹的構建方法。在標準樹中,每個節點使用所有變量之間的最佳分割進行分割。在隨機森林中,每個節點使用在該節點隨機選擇的預測變量的子集中的最佳值進行分割。
隨機森林是一種通過利用不同的bootstrap樣本數據建立分類樹和回歸樹的組合分類器模型,是采用集成學習方法組合決策樹的機器學習方法,相比于傳統的組合分類器,在對樣本進行分類判別生成多棵決策樹的過程中,隨機森林不對已經生成的決策樹進行剪枝(由于隨機森林在生成訓練集的過程中對樣本進行的是隨機抽樣,選擇劃分特征時也是隨機的,因此不需要進行剪枝)。在生成過程中,隨機森林產生了大量的決策樹,并進行匯總,以少數服從多數的投票選擇最佳的預測效果,從而提高預測的精度。
隨機森林通過bagging方法產生k個訓練集,即在隨機森林中,對初始樣本數據只用bootstrap抽樣的方法得到k個訓練集,對每個訓練集都使用特征選取的方式得到k棵決策樹,并不對新生成的決策樹進行剪枝,最終分類(或回歸)結果是k棵決策樹的結果的多數投票(或平均)。在使用bootstrap抽樣時,每次抽取的樣本數與訓練集大小都相同,假設為n,則每次抽樣中,每個樣本未被抽中的概率為,經過n次抽樣后,每個樣本未被抽中的概率為,在n無限大的情況下,每個樣本在未被抽中的概率為≈0.368,也就是說原始樣本數據中有接近1/3的數據是抽不到的,這部分未被抽中的數據稱為袋外數據,即所謂“out-of-bag”數據(OOB數據)[7]。
在隨機森林中,OOB數據并未參加模型的構建,可以作為檢驗隨機森林性能的重要支撐,相關方法為:將OOB數據輸入隨機森林分類器,由于這部分數據類型已知,可以通過比較隨機森林分類器分類結果與OOB數據自身的分類情況,得出隨機森林錯誤分類數目,袋外數據誤差為錯誤分類數目/袋外數據數目。
選取1951—2016年鄭州汛期降水量逐月降水量數據,處理成汛期降水總量,并將50個環流因子的逐月數據處理成1951—2016年66年的春季環流因子數據。
采用Matlab,構建以隨機森林為依據的汛期降水量預測模型,選取1951—2006年的降水量和環流因子數據作為訓練期,將2007—2016年的降水量和環流因子數據作為檢驗期,利用隨機森林的回歸功能,建立了訓練期內降水量和環流因子的關系,并根據這種關系,使用檢驗期內的環流因子數據預報鄭州汛期降水量。
決策樹數目和預選變量個數是隨機森林的2個重要參數,隨機森林的決策樹數目n通常大于等于100。預選變量個數用來表示每個樹分類器選取變量的數目。比較變量數目不同的情況下回歸樹的均方誤差,以尋找最佳變量數目。由圖1可知,所選擇的變量個數越小,回歸樹的均方誤差就越小,回歸樹中的預選變量個數一般選為5??刂祁A選變量個數為5,比較不同決策樹數目下均方誤差。由圖2可知,隨著決策樹數目的增加,均方誤差波動減小,可以理解為當以少數服從多數的原則進行投票的對象越多時,投票結果越好。當決策樹數目超過100時,袋外數據均方誤差減少量很小,但程序運行時間增加了很多,因此決策樹數目取100。

圖1 預選變量為5的條件下決策樹數目與袋外數據均方誤差的關系

圖2 不同預選變量數條件下決策樹數目與均方誤差的關系
隨機森林能夠從眾多因子中挑選出重要性更強的因子,在隨機森林中,每個變量的重要程度都受到與其他變量相互作用的影響,使用隨機森林衡量某個變量重要程度時,需要利用OOB數據。相關方法為置換某個變量的取值,并保證其他變量值不變,計算置換后的預測誤差(OOB均方誤差)與置換前的預測誤差(OOB均方誤差)的差值,預測誤差增加越多,則說明該因子重要程度越高,能夠被用作預報因子[8]。
預測因子的優劣程度取決于該因子的重要程度,通過控制其他預測因子不變,置換該預測因子,觀察該因子被置換后袋外數據均方誤差的增長程度來判斷該因子的重要性。利用此方法評價50個環流因子的重要程度,OOB均方誤差增加越多,該因子對鄭州汛期降水量的影響程度越大,該環流因子的變化將在很大程度上影響鄭州汛期的降水量。
由前文可知,隨機森林的預選變量個數應為5,根據變量重要性度量原理,從50個環流因子中選取了5個對鄭州汛期降水量影響最大的環流因子,依次是北非—北大西洋—北美副高脊線位置指數、東太平洋副高脊線位置指數、南海副高脊線位置指數、北太平洋遙相關型指數以及850 hPa中太平洋信風指數(圖3)。

圖3 50個環流因子的袋外數據均方誤差
評價模型優劣程度的相關指標為平均相對誤差絕對值MMRE、均方根誤差RRMSE、確定性系數R2以及預報結果相對變化程度E,分別從模型預報精確程度和模型的穩定度2個方面來比較模型預報效果的優劣。平均相對誤差絕對值越小,均方根誤差越小,確定性系數越大,則模型的精度就越高。預報結果相對變化程度越低,模型的穩定度越高。
基于隨機森林,利用50個環流因子預報鄭州汛期降水量,將最終的預報結果與基于BP神經網絡的預報進行對比,對比結果見圖4。隨機森林模型的預報結果比BP神經網絡更加接近于原始數據,在極端降水年份,隨機森林的預報效果較差,但仍優于BP神經網絡。

圖4 基于隨機森林和BP神經網絡的預報結果與原始數據的對比
同樣是基于50個環流因子預報鄭州汛期的降水量,在分析隨機森林和BP神經網絡的預報效果時得到表1,在平均相對誤差絕對值、確定性系數、均方根誤差及預報結果相對變化程度上,隨機森林均小于BP神經網絡,說明隨機森林的預報精度和穩定度均要高于BP神經網絡,但在降水量變化趨勢的擬合上存在一定的不足。

表1 隨機森林和BP神經網絡預報性能對比
通過上文對隨機森林預報結果的檢驗,發現基于隨機森林的鄭州汛期降水量預報結果仍然存在一些不足之處。在對極端降水量的預報上雖然優于BP神經網絡,但預報精度比正常年份低,有待改進。
造成模型預報效果較差有2個原因:第一個原因是影響因子選擇不全面,在基于這種模型進行預報時,僅僅考慮了環流因子的影響,但是影響降水的因子種類很多,包括海陸位置、地形、氣壓帶、風帶、季風、氣旋、鋒面、下墊面、洋流、人類活動等。第二個原因是極端因素對降水的影響,極端降水的產生不僅僅是因為普通因子的相互作用,還是因為影響因子的突變或者某種極端因素的突然出現,要想做好極端降水的預報,則必須將這些突變因子和極端因子作為預報因子。
選擇了50個環流因子作為鄭州汛期降水的影響因子,并根據50個環流因子對鄭州汛期降水量的影響的重要程度進行排序,在使用隨機森林比較因子的優劣程度后,從中優選出5個環流因子進行預報,依次是、北非—北大西洋—北美副高脊線位置指數、東太平洋副高脊線位置指數、南海副高脊線位置指數、北太平洋遙相關型指數以及850 hPa中太平洋信風指數。將隨機森林預報結果與BP神經網絡預報結果進行對比發現:作為一種新型預報模型,隨機森林在降水量預報的精度和穩定度上明顯優于BP神經網絡,同時具備泛化性強、收斂快等特點。