游梟雄 戴 勁 何 寧 劉二影
(湘潭市氣象局,湖南 湘潭 411100)
隨著數值預報業務技術的迅速發展,數值產品的準確度和分辨率也得到了極大的提高,面對不斷增長的海量數值預報產品,如何在短時間內有效地對其進行利用成為目前天氣預報業務中面臨的主要問題之一,從而促使了多模式集成預報方法研究的快速發展。目前主要的集成預報方法有多元回歸集成法、權重分布法、神經網絡集成法等[1-4]。近年來也有學者嘗試利用遺傳算法(GA)開展氣溫集成預報實驗[5],這類方法在試驗中都表現出較高的預報精度,但也存在著一些問題:運算時間過長、計算結果不夠穩定等[5]。
本文將針對遺傳算法的缺點進行改進,利用EC細網格、日本細網格和德國模式48 h內預報數據進行逐6 h氣溫預報實驗,并對算法的預報性能進行對比分析。
遺傳算法[6](GA)是一種模擬生物進化規律的全局搜索算法,它的主要目標對種群個體優勝劣汰并使其得到進化,通過多次的進化獲得更好的結果。標準的遺傳算法包含選擇、交叉、變異三個基本步驟,每完成一次運算即對個體完成一次進化,在經過多次進化后得出最優解。遺傳算法具有全局搜索能力強、收斂性好的特點,但也存在早熟、計算時間長、穩定性差的缺點。
自標準遺傳算法被提出以來,眾多學者一直致力于推動遺傳算法的發展,不斷地提高遺傳算法的性能[7-9],經過對比分析,文獻[9]中的精英個體保留策略對算法性能提升的影響較大,其在進化過程中保留父代和交叉所得新個體中的優秀個體,從而保證在進化過程中不會丟失最優解,由于精英個體得以保留,可將交叉概率設為1,能極大提高全局搜索效率,本文將引入該策略對遺傳算法進行優化。
改進后的算法步驟為:①首先產生初始種群,種群規模為n;②計算每一個個體的適應度;③按照輪盤賭選擇法選擇個體進入下一代;④對選擇的個體進行交叉;⑤對交叉產生的n個個體和n個父代個體按適應度排序,保留前m個精英個體;⑥對交叉產生的n個個體,按概率Pm進行變異;⑦用m個精英個體替換變異后種群中m個最差個體;⑧若滿足求解條件則終止進化進入下一步,若不滿足則轉至第②步;⑨輸出種群中最優解。
算法流程圖如圖1所示。

圖1 改進遺傳算法流程圖
本文采用權重系數分配法對多個模式預報值進行集成,而各模式的權重系數以及偏差則由改進的遺傳算法計算得出,對于單一站點,如式(1)所示。

式中: i—預報模式; t—時次; m—預報模式個數;Fit—模式預報值;ωit—權重系數;bit—偏差;—集成預報值。
改進遺傳算法的具體步驟包含:編碼方式、超參數設定、適應度函數、選擇操作、交叉操作和變異操作,根據本文的改進策略還涉及精英個體保留操作,具體設計如下:
(1)編碼方式:采用實數編碼,所有個初始化為(-1,1)的實數。
(2)超參數設置:超參數即為算法開始學習前需提前設置的參數,本算法中需要設置的超參數有種群規模、迭代次數、保留精英個體數、交叉概率Pc、變異概率Pm,由于本文采用精英保留策略,因此,可將交叉概率Pc設為1,以增大全局搜索能力,變異概率Pm設為0.05,其他參數則根據訓練樣本酌情設置。
(3)適應度函數:用于評價個體的好壞,本文適應度函數設計如式(2)所示:

(4)選擇操作:本文采用輪盤賭選擇法[6],適應度越高則被選擇幾率越大。
(5)交叉操作:根據實數編碼的特點,本文采用一致交叉法進行算術交叉,先隨機選取兩個父代 和 ,經過交叉后得到新個體 和 ,具體公式如下:

式中:r—(0,1)間隨機數。
(6)變異操作:遍歷群體中所有個體和基因,對于每個基因產生一個隨機數P和變異概率Pm比較,若P小于Pm則生成一個(0,1)間的隨機數替換原基因。
(7)精英個體保留操作:將交叉產生的新群體和父代群體組合起來按適應度排序,保留前m個精英個體,變異之后再用m個精英個體替換變異后種群中較差的m個個體,形成子代。
(1)數值預報產品資料。EC_thin、JAPAN、GERMAN三個模式2 m高度氣溫預報格點插值產品,區域為湘潭國家站點位置,時間范圍為2016年10月1日~2018年12月10日,起報時間為每日8:00和20:00,考慮實際工作中0~6 h內預報數據沒有實際使用價值,因此,僅采用12~48 h內逐6 h預報值作為實驗數。
(2)實況資料。湘潭國家觀測站的2:00、8:00、14:00、20:00逐日氣溫資料,時間范圍為2016年10月1日~2018年12月12日。
(3)預處理。將數值產品按時間順序取最晚的20%作為測試數據集,剩下的作為訓練集,所有數據均去除漏報和無效值。
設定初始化種群規模為60,保留精英個體數為10,迭代次數為300次。由于數值產品在不同起報時間和預報時次上精度差異較大,因此,采用按起報時間和預報時次單獨建立預報模型的方式進行實驗,并將改進遺傳算法與基本遺傳算法以及各模式產品的預報性能進行比較,檢驗指標包括平均絕對誤差和絕對誤差小于2 ℃的準確率。
經實驗,改進遺傳算法與標準遺傳算法及三種模式的在各時次的預報準確度和平均絕對誤差如圖2所示,在各時次的預報準確率與平均絕對誤差上改進遺傳算法明顯優于標準遺傳算法以及三個模式。將各時次的準確度與平均絕對誤差取平均,結果如表1所示,改進遺傳算法相對標準遺傳算法有明顯的提升,其中,準確度8:00起報提高了2%,20:00起報提高了4%,平均絕對誤差也降低了0.1~0.2 ℃。
將迭代次數設為500,檢驗改進遺傳算法與標準遺傳算法的運算效率,結果如圖3所示,改進遺傳算法收斂速度比標準遺傳算法更快,精度更高。

圖2 各時次準確度與平均絕對誤差

表1 各算法與各模式所有時次平均準確度與平均絕對誤差

圖3 兩種算法平均絕對誤差隨迭代次數的變化
通過對比分析可見,基于改進遺傳算法的集成預報明顯優于其他模式預報結果,且性能相對于標準遺傳算法顯著提高。
改進的遺傳算法通過加入保留精英個體策略,加快了算法的收斂速度,且大大提高了算法的精度,相對于標準遺傳算法的缺陷有了明顯的改善。通過實驗可以看出,基于改進遺傳算法的多模式氣溫集成預報結果明顯優于各模式預報值,在實際的預報工作中具有較高的參考價值。