朱宏宇,劉 群
(閩南師范大學數學與統計學院,福建 漳州 363000)
福建省沿海地形較平坦,對夏季風抬升作用相對較弱,降水較少一些,西部有武夷山脈,對夏季風阻擋抬升作用較強,武夷山東南側降水較多,故福建省的降雨量空間分布特征為東南沿海降水偏少,向西北內陸方向降雨增多,降水分布不均衡[1]。利用隨機森林算法[2-4],對福建省是否降雨進行預測研究。
使用的數據來自美國國家大氣研究中心、計算與信息系統實驗室公開網站,其檔案中的NCEP GDAS/FN(https://rda.ucar.edu/datasets/ds094.0/#sfol-wl-/data/ds094.0?p=33)業務為全球分析及訂正數據。該數據為水平分辨率0.5×0.5的網格氣象數據,時間頻率為每1 h從原始數據集sfluxgrbl中通過經緯度選取整個福建省的氣象數據,時間跨度為2021年6月1日24時至2022年5月31日24時,為每小時觀測數據,共記錄8760個數據。通過經緯度網格劃分,網格精度水平分辨率為0.5×0.5,將福建省劃分為5大區域,分別為龍巖、南平、福州寧德、泉州莆田三明及廈門漳州。使用變量見數據集sfluxgrbl。
選取云層氣象數據具有更好的特征,對降雨的影響可解釋性更高。各區域數據量及特征數量如表1所示。

表1 各區域原始降雨數據
隨機森林(random forest)的基本組成單元是決策樹,又稱為分類回歸樹(CART)[5]。分類回歸樹的基本思想是一種二分遞歸分割方法,在計算過程中充分利用二叉樹,在一定的分割規則下將當前樣本集分割為兩個子樣本集,令生成的決策樹的每個非葉節點都有兩個分枝,這個過程在子樣本集上重復進行,直至不可再分為葉節點為止。由于單棵決策樹精度不高,容易出現過擬合的問題,故需通過聚集多個模型來提高訂正精度。隨機森林采用Bagging[6-7]方法來組合決策樹,利用Bootstrap[8]重抽樣方法從原始樣本中抽取多個樣本,對每個樣本進行決策樹建模,組合多棵決策樹的預測,通過投票得出最終預測結果。

圖1 隨機森林示意圖Fig.1 Schematic diagram of random forest
按照經緯度,將福建省一年之間的逐小時氣象數據劃分為5個區域,分別為南平、福州寧德、龍巖、泉州莆田三明及廈門漳州。其中,福州寧德與廈門漳州兩大區域除目標特征label(是否降雨)之外,有54個氣象特征,南平、龍巖及泉州莆田三明三大區域除目標特征label之外,有84個氣象特征。每個區域降雨(非降雨)數據量分布如表2所示。

表2 各區域降雨(非降雨)數據量分布
對各區域數據建立隨機森林分類模型,將5個區域的數據通過隨機抽樣分別按照7∶3的比例隨機劃分,其中70%作為訓練數據,30%作為測試數據。分別選取10%特征數、30%特征數、50%特征數、70%特征數,CART決策樹從0~200變化時觀察模型的誤差變化情況[如圖2、圖3、圖4、圖5所示(南平區域)]。圖中橫坐標表示決策樹的數量,縱坐標表示模型的分類誤差率,其中error0實線表示非降雨(標簽為0)的誤差率,error1短虛線表示降雨的誤差率(標簽為1),errorOOB長虛線表示袋外數據兩種類別綜合的誤差率。觀察圖2、圖3、圖4、圖5、圖6,隨著決策樹數量的增加,袋外數據的誤差率先減小后趨于穩定。對比各特征數的模型,選取決策樹100棵、50%特征作為最終模型。

圖2 10%特征數Fig.2 10% feature number

圖3 30%特征數Fig.3 30% feature number

圖4 50%特征數Fig.4 50% feature number

圖5 70%特征數Fig.5 70% feature number

圖6 南平區域變量重要性排序Fig.6 Importance ranking of variables in Nanping Region
隨機森林模型在擬合數據后會對數據特征有一個重要性的度量,對應隨機森林模型認為訓練特征的重要程度。圖6展現的是隨機森林分類模型對南平區域的數據擬合后生成的變量重要性的排序,取前30個,橫坐標為平均下降基尼系數(Mean Decrease Gini),計算每個變量對分類樹每個節點上觀測值異質性的影響,該值越大表示變量的重要性越大。
對5個區域輸出影響是否降雨的前30個特征,結果表明,每個區域的重要性均不同,按重要性排序(選取影響較大的特征),福州寧德區域為低云位總云量、邊界層總云量、中云位總云量、大氣總云量、大氣晴空頂部向上長波通量,龍巖區域為地表降水速率、大氣柱云功函數、中云位總云量、低云位總云量、地表植物冠層地表水,泉州莆田三明區域為地表暴雨地表徑流、低云位總云量、中云位總云量、地表植物冠層地表水,廈門漳州區域為中云位總云量、低云位總云量、大氣頂部晴空向上長波通量,南平區域為地表植物冠層地表水、中云位總云量、地表暴雨地表徑流、低云位總云量。
建立隨機森林分類模型后,對比各區域誤差率在不同特征下隨著決策樹數量的變化,選取誤差率最小的參數訓練模型,如表3所示,其中南平、龍巖兩個區域選取50%特征數用來訓練模型,福州寧德與泉州莆田三明兩個區域選取30%特征數,廈門漳州區域選取70%特征數。決策樹數量南平、福州寧德、泉州莆田三明3個區域均選取100棵,廈門漳州區域取130棵決策樹,龍巖區域選擇150棵決策樹作為最終的模型參數。

表3 各區域隨機森林分類模型參數
表4為模型在5個區域袋外數據的混淆矩陣及各類別上的錯誤率、訓練集袋外數據的誤差率及測試集的準確率。觀察表4可知,各區域的測試集準確率均達到96%以上,其中龍巖區域的OOB誤差在1%以下,測試集準確率達到99.5%,訂正效果最好。

表4 各區域袋外數據混淆矩陣及準確率
利用隨機森林分類算法對福建省降雨進行預測研究,得出了以下結論:隨機森林在對是否降雨的分類預測上能夠表現出較好的效果,對福建省各區域是否降雨的判斷準確率均達到96%以上。在是否降雨的預測上,不同區域的特征重要性程度不一,其中中云位總云量、低云位總云量、地表植物冠層地表水3個特征對各個區域是否降雨的影響較重要。