覃衛堅 史旭明 陸 虹 金 龍
(1.廣西壯族自治區氣候中心 南寧 530022)(2.桂林航天工業學院理學院 桂林 541004)
廣西冬季受冷空氣南下影響,經常有持續的低溫冰凍雨雪天氣過程出現,嚴重地影響著人們的生活,如2008 年廣西發生了歷史罕見的低溫冰凍雨雪災害過程,使交通運輸、電力輸送、農業和林業生產受到了嚴重影響,直接經濟損失高達321.75 億元。提高冷濕天氣預報準確率,讓人們提前做好防備、減少災害損失,成了迫切的社會需求。天氣變化是一種非線性的大氣運動過程,一些研究表明使用支持向量機、神經網絡等機器學習算法能夠很好地處理氣象預報中的非線性問題和提高氣象預報準確率,如史旭明等[1]、孔慶燕等[2]使用支持向量機學習算法在降水定量預報中應用,預報準確率高于數值模式預報;Tao 等[3]將混合支持向量機算法在長江流域降水預測中應用,預測效果好于經驗分解模態和差分進化算法;Rasp and Lerch[4]使用神經網絡機器學習方案提高了天氣集合預報準確率;Zeng等[5]研究指出神經網絡模型使環流預報可靠性可延長到4周;李曉嵐等[6]指出BP人工神經網絡方法可提高空氣質量濃度預報準確率;陸虹等[7]、覃衛堅等[8]利用粒子群-神經網絡分別建立了低溫雨雪天氣和寒露風日數預報模型,預報誤差明顯小于逐步回歸方法;黃小燕和金龍[9]把遺傳神經算法應用在臺風路徑預報中,發現其能夠提高臺風路徑預報精度;陳文兵等[10]將深度卷積神經網絡模型應用于濃霧天氣預報中,取得了良好的預報效果。為了提高廣西冷濕天氣預報準確率,本研究利用適應度函數對懲罰參數、核函數參數、不敏感損失函數進行了優化,建立了支持向量回歸模型;增加了沖量項的誤差反向傳播算法,使神經網絡算法中步長不穩定性得到了改善;解碼遺傳種群中的遺傳個體,計算得到遺傳神經網絡集合預報值,為廣西冷濕天氣預報提供參考。
使用1951 年-2017 年12 月-2 月廣西90 個地面氣象觀測站逐日氣溫、逐日降水量資料;1951年-2017 年NCEP/NCAR 2.5×2.5°格點的逐日高度場、風場、氣溫、相對濕度再分析資料。
2.2.1 冬季冷濕指數
冷濕指數(PT)采用周秀華等[11]提出的計算公式:
式(1)中,Ti、Pi分別為冷濕天氣過程第i天平均氣溫和降水量;Tˉ、Pˉ分別為同一時間段歷史平均氣溫和降水量;Ts、Ps分別為同一時間段歷史氣溫和降水量標準差。PT值越大,天氣冷濕程度越嚴重;PT值越小,天氣冷濕程度越輕。
2.2.2 支持向量回歸模型方法
支持向量回歸模型方法(Support Vector Regression,SVR)是在處理非線性問題中,將低維樣本空間非線性數據集通過核函數映射到高維的Hilbert 特征空間,把非線性問題化為線性問題,再通過回歸方法進行估算,最后得到最優解[12]。
設定訓練樣本集T={xi,yi,i=1,2,…,n} ,其中xi?Rd為輸入值,yi?R為目標值。樣本非線性數據集通過φ(.)函數映射到線性高維的Hilbert 特征空間,構建回歸估算函數:
式(2)中,ω?Rd;b?R。
以下通過使用不敏感損失函數ε求解ω和b:
在求解以下最小化目標函數過程中依據了結構風險最小化原則,結果相當于得到了式(2)的擬合[13]:
式(4)中,C 為懲罰參數;ξi-與ξi+為松弛變量。將式(4)進行拉格朗日變換,得到其對偶問題[14]:
式(5)中,核函數使用了徑向基函數:B(xi,xj)=exp{- (xi-xj)2/(2σ2)} ,通過計算求得最優拉格朗日乘子ai和a*i;支持向量為(ai-a*i)≠0 的訓練樣本,支持向量數為S。在計算過程中利用適應函數對懲罰參數、核函數參數、不敏感損失函數進行了優化,最后得到回歸函數:
2.2.3 沖量項神經網絡模型
誤差反向傳播(Back Propagation,BP)算法是利用梯度算法迭代來求解權值,即把樣本輸入輸出轉變為沒有約束的非線性最優化計算。BP 算法在學習過程中受步長η大小的影響很大;如果步長η值過大,那么計算收斂快,可能引起不穩定,在計算過程中權值超出某一個誤差的極小值,呈不規則的波動,而導致不收斂;如果步長η值過小,那么計算收斂慢,學習時間過長,難于得到最優解。針對BP算法的這些問題,增加沖量項改進BP 算法能夠比較合理地調節學習過程中步長η值,向著底部平均方向發展,從而使波動減少,起到緩沖平滑作用,提高了BP算法調整各層權值的審計網絡學習效率及其自適應能力[15]。增加沖量項的BP算法調整網絡的隱含層和輸出層權系數的計算公式為
式(7)中,ω(k)為第k 個時間點獨個的連接權系數或連接權向量;D(k)=?J/?ω(k),為第k 時間點的負梯度;D(k-1)為第k-1 時間的負梯度;η為步長值,η>0;a為動量項因子,0 ≤a<1。
2.2.4 遺傳神經網絡模型
遺傳算法是由Holland(1975年)提出的基于生物遺傳規律的智能全局優化搜索算法[16],近年來在氣象等領域得到了應用,并取得良好的效果[17~18]。以下遺傳神經網絡模型使用二進制和實數混合編碼方法,基本模型采用三層BP神經網絡,將各層節點、連接權、閥值按順序排列成一串,作為一個遺傳神經網絡預報模型的遺傳個體[19]。
1)適應度函數計算
(1)對遺傳種群中遺傳個體進行解碼,得到其隱節點、連接權,輸入訓練樣本計算得到隱層輸
出[20]:
式(8)中,vki為輸入層到隱層的連接權系數矩陣;θi為相對應的閥值。
(2)然后計算從隱層到計算網絡輸出:
式(9)中,wij為隱層到網絡輸出層的連接權系數矩陣;?j為相對應的閥值;f為轉移函數。
(3)計算網絡總誤差為
從而得到適應度函數:
式(10)~式(11)中,n為訓練集的樣本數量。
2)進化操作過程
依據遺傳個體的適應度對遺傳種群作進化操作,使用選擇、交叉和變異三個遺傳算子,經過進化計算得到新一代遺傳種群。
(1)選擇算子使用輪盤選擇方法,計算每一個遺傳個體被選中的概率[21]為
式(12)中,Fi(x)為第i 個遺傳個體的適應度;m 為種群的遺傳個體總數;這樣大概率保證適應度大的個體能夠遺傳到下一代。
(2)交叉算子是依據交叉概率Pi隨機設置遺傳個體編碼串中的多個交叉點,并進行基因交換,得到新的遺傳個體。
(3)變異算子是依據概率Pm開展遺傳個體與其它遺傳個體進行基因對位替換,形成新的遺傳個體。
反復進行以上三個算子的進化操作計算,直到進化到N代,計算結束。解碼遺傳種群中每一個遺傳個體,得到m 個神經網絡的連接權和隱節點,作為集合預報個體成員,建立集合預報模型,計算得到遺傳神經網絡集合預報值。
利用式(1)計算得到廣西1951年-2016年冷濕天氣過程的PT 值,計算PT 值與前一天NCEP/NCAR 高度場、風場等再分析資料的相關系數,得到了顯著相關的區域,計算相關顯著區域格點的平均值作為預選因子,將臨近的、相關符號相反的因子的格點平均值相減作為組合因子,經過這樣處理后能夠顯著地提高因子與冷濕指數的相關程度。按相關系數從高到低排序進行初步篩選,得到了42 個預報因子。為了盡量避免不良因子的相互干擾,剔除重復因子,選擇有重要作用的因子,使用逐步回歸方法做進一步篩選,而且重點考慮造成區域持續性低溫雨雪事件有關的、物理意義較明確的因子能夠進入預報模型。取F=5,建立了廣西冷濕天氣逐步回歸預報方程:
式中,x14、x17、x22、x23、x25、x36為入選的預報因子,利用這6 個預報因子和114 個建模樣本,分別采用支持向量機回歸、沖量項神經網絡以及遺傳神經網絡三種機器學習算法進行預報建模。x14為北太平洋中部與日本附近區域700hPa 氣溫之差;x17為華南地區上空500hPa 濕度與熱帶西北太平洋相減,反映了西北太平洋熱帶天氣系統對廣西的影響;x22為菲律賓以東洋面上空925hPa 濕度與中國東部之差,反映了西北太平洋熱帶系統對中國東部低層水汽活動的影響;x23為西伯利亞北部地區與貝加爾湖—巴爾喀什湖一帶上空200hPa 緯向風之差;x25為伊朗高原700hPa 緯向風與貝加爾湖—巴爾喀什湖一帶相減;x36為北太平洋中部與千島群島附近上空500hPa 高度場之差,表現出了高緯度地區環流波動信號。
首先使用傳統的逐步回歸方法來進行預報試驗,獨立樣本數為10,在進行獨立樣本預報時,使用前一天NCEP 再分析實況場,計算得到6 個預報因子資料,并代入式(13),計算得到24h 逐步回歸方法冷濕指數預報值,誤差平均為-5.31,即預報平均值小于實況值,預報平均相對誤差為26.94%(如表1)。

表1 2017年廣西冷濕天氣逐步回歸預報方法預報結果
支持向量回歸模型各參數設置為最大進化代數為100,種群個數為50,變異概率為0.5,交叉概率為0.9,拉格朗日乘子上界C∈[0,300],高斯核函數的寬度б∈[0,2],不敏感損失函數的參數ε∈[0,0.3]。支持向量回歸模型的建模樣本個數為114,預報因子為6 個,獨立預報樣本數為10,使用前一天NCEP 再分析實況場,計算得到預報因子資料,預報模型擬合平均誤差為22.78。從支持向量回歸模型10 個獨立預報樣本的預報檢驗結果來看(見表2),預報值平均為85.23,與實況誤差平均為-3.29,預報值總體比實況平均值偏小,平均相對誤差為22.58%,較逐步回歸方法減小了4.36%。

表2 2017年廣西冷濕天氣支持向量回歸模型(SVM)預報結果
沖量項神經網絡模型參數設置為隱接點為3個,訓練最多為1000 次,目標誤差為0.01,學習速率為0.9,動量因子為0.75。沖量項神經網絡模型的建模樣本為114 個,預報模型擬合誤差為13.68。從沖量項神經網絡模型10個獨立預報樣本的預報結果來看,預報平均值為95.72,與實況誤差平均為7.2,預報平均值高于實況平均值,相對誤差平均為25.04%,較逐步回歸方法減小了1.9%(表3)。

表3 2017年廣西冷濕天氣沖量項神經網絡模型預報結果
遺傳神經網絡模型的初始遺傳種群數設為50,進化計算50 代。在遺傳運算中控制碼交叉概率為0.9,閾值和權系數交叉概率為0.6,變異算子的變異概率均設為0.05。神經網絡輸入節點為6,輸入節點為各方程的預報因子數,隱節點個數的搜索空間設定為輸入節點的0.5 倍~1.5 倍,網絡連接權的初步解空間為(-2,2)。網絡訓練200 次,學習因子設為0.5,動量因子為0.75。遺傳神經網絡建模樣本數為114,預報模型擬合誤差為17.48。表4給出了遺傳神經網絡模型10 個獨立預報樣本的預報結果,從表中可見,10 個獨立預報樣本實際預報平均值為81.93,實況平均值為88.52,誤差平均為-6.59,預報值總體小于實況平均值,平均相對誤差為22.99%,較逐步回歸方法減小了3.95%。

表4 2017年廣西冷濕天氣遺傳神經網絡模型預報結果
本文提出三種基于機器學習算法的冷濕天氣預報模型,并在天氣預報中進行應用試驗,支持向量回歸模型預報效果最好,平均相對誤差僅為22.58%,其次為遺傳神經網絡模型和沖量項神經網絡模型,平均相對誤差分別為22.99%、25.04%。基于機器學習算法的預報準確率高于傳統的逐步回歸方法,三種機器學習算法平均相對誤差較逐步回歸方法減小了3.4%。