游梟雄 戴 勁 何 寧 劉二影
(湘潭市氣象局,湖南 湘潭 411100)
隨著數(shù)值預(yù)報(bào)業(yè)務(wù)技術(shù)的迅速發(fā)展,數(shù)值產(chǎn)品的準(zhǔn)確度和分辨率也得到了極大的提高,面對(duì)不斷增長(zhǎng)的海量數(shù)值預(yù)報(bào)產(chǎn)品,如何在短時(shí)間內(nèi)有效地對(duì)其進(jìn)行利用成為目前天氣預(yù)報(bào)業(yè)務(wù)中面臨的主要問題之一,從而促使了多模式集成預(yù)報(bào)方法研究的快速發(fā)展。目前主要的集成預(yù)報(bào)方法有多元回歸集成法、權(quán)重分布法、神經(jīng)網(wǎng)絡(luò)集成法等[1-4]。近年來也有學(xué)者嘗試?yán)眠z傳算法(GA)開展氣溫集成預(yù)報(bào)實(shí)驗(yàn)[5],這類方法在試驗(yàn)中都表現(xiàn)出較高的預(yù)報(bào)精度,但也存在著一些問題:運(yùn)算時(shí)間過長(zhǎng)、計(jì)算結(jié)果不夠穩(wěn)定等[5]。
本文將針對(duì)遺傳算法的缺點(diǎn)進(jìn)行改進(jìn),利用EC細(xì)網(wǎng)格、日本細(xì)網(wǎng)格和德國(guó)模式48 h內(nèi)預(yù)報(bào)數(shù)據(jù)進(jìn)行逐6 h氣溫預(yù)報(bào)實(shí)驗(yàn),并對(duì)算法的預(yù)報(bào)性能進(jìn)行對(duì)比分析。
遺傳算法[6](GA)是一種模擬生物進(jìn)化規(guī)律的全局搜索算法,它的主要目標(biāo)對(duì)種群個(gè)體優(yōu)勝劣汰并使其得到進(jìn)化,通過多次的進(jìn)化獲得更好的結(jié)果。標(biāo)準(zhǔn)的遺傳算法包含選擇、交叉、變異三個(gè)基本步驟,每完成一次運(yùn)算即對(duì)個(gè)體完成一次進(jìn)化,在經(jīng)過多次進(jìn)化后得出最優(yōu)解。遺傳算法具有全局搜索能力強(qiáng)、收斂性好的特點(diǎn),但也存在早熟、計(jì)算時(shí)間長(zhǎng)、穩(wěn)定性差的缺點(diǎn)。
自標(biāo)準(zhǔn)遺傳算法被提出以來,眾多學(xué)者一直致力于推動(dòng)遺傳算法的發(fā)展,不斷地提高遺傳算法的性能[7-9],經(jīng)過對(duì)比分析,文獻(xiàn)[9]中的精英個(gè)體保留策略對(duì)算法性能提升的影響較大,其在進(jìn)化過程中保留父代和交叉所得新個(gè)體中的優(yōu)秀個(gè)體,從而保證在進(jìn)化過程中不會(huì)丟失最優(yōu)解,由于精英個(gè)體得以保留,可將交叉概率設(shè)為1,能極大提高全局搜索效率,本文將引入該策略對(duì)遺傳算法進(jìn)行優(yōu)化。
改進(jìn)后的算法步驟為:①首先產(chǎn)生初始種群,種群規(guī)模為n;②計(jì)算每一個(gè)個(gè)體的適應(yīng)度;③按照輪盤賭選擇法選擇個(gè)體進(jìn)入下一代;④對(duì)選擇的個(gè)體進(jìn)行交叉;⑤對(duì)交叉產(chǎn)生的n個(gè)個(gè)體和n個(gè)父代個(gè)體按適應(yīng)度排序,保留前m個(gè)精英個(gè)體;⑥對(duì)交叉產(chǎn)生的n個(gè)個(gè)體,按概率Pm進(jìn)行變異;⑦用m個(gè)精英個(gè)體替換變異后種群中m個(gè)最差個(gè)體;⑧若滿足求解條件則終止進(jìn)化進(jìn)入下一步,若不滿足則轉(zhuǎn)至第②步;⑨輸出種群中最優(yōu)解。
算法流程圖如圖1所示。
圖1 改進(jìn)遺傳算法流程圖
本文采用權(quán)重系數(shù)分配法對(duì)多個(gè)模式預(yù)報(bào)值進(jìn)行集成,而各模式的權(quán)重系數(shù)以及偏差則由改進(jìn)的遺傳算法計(jì)算得出,對(duì)于單一站點(diǎn),如式(1)所示。
式中: i—預(yù)報(bào)模式; t—時(shí)次; m—預(yù)報(bào)模式個(gè)數(shù);Fit—模式預(yù)報(bào)值;ωit—權(quán)重系數(shù);bit—偏差;—集成預(yù)報(bào)值。
改進(jìn)遺傳算法的具體步驟包含:編碼方式、超參數(shù)設(shè)定、適應(yīng)度函數(shù)、選擇操作、交叉操作和變異操作,根據(jù)本文的改進(jìn)策略還涉及精英個(gè)體保留操作,具體設(shè)計(jì)如下:
(1)編碼方式:采用實(shí)數(shù)編碼,所有個(gè)初始化為(-1,1)的實(shí)數(shù)。
(2)超參數(shù)設(shè)置:超參數(shù)即為算法開始學(xué)習(xí)前需提前設(shè)置的參數(shù),本算法中需要設(shè)置的超參數(shù)有種群規(guī)模、迭代次數(shù)、保留精英個(gè)體數(shù)、交叉概率Pc、變異概率Pm,由于本文采用精英保留策略,因此,可將交叉概率Pc設(shè)為1,以增大全局搜索能力,變異概率Pm設(shè)為0.05,其他參數(shù)則根據(jù)訓(xùn)練樣本酌情設(shè)置。
(3)適應(yīng)度函數(shù):用于評(píng)價(jià)個(gè)體的好壞,本文適應(yīng)度函數(shù)設(shè)計(jì)如式(2)所示:
(4)選擇操作:本文采用輪盤賭選擇法[6],適應(yīng)度越高則被選擇幾率越大。
(5)交叉操作:根據(jù)實(shí)數(shù)編碼的特點(diǎn),本文采用一致交叉法進(jìn)行算術(shù)交叉,先隨機(jī)選取兩個(gè)父代 和 ,經(jīng)過交叉后得到新個(gè)體 和 ,具體公式如下:
式中:r—(0,1)間隨機(jī)數(shù)。
(6)變異操作:遍歷群體中所有個(gè)體和基因,對(duì)于每個(gè)基因產(chǎn)生一個(gè)隨機(jī)數(shù)P和變異概率Pm比較,若P小于Pm則生成一個(gè)(0,1)間的隨機(jī)數(shù)替換原基因。
(7)精英個(gè)體保留操作:將交叉產(chǎn)生的新群體和父代群體組合起來按適應(yīng)度排序,保留前m個(gè)精英個(gè)體,變異之后再用m個(gè)精英個(gè)體替換變異后種群中較差的m個(gè)個(gè)體,形成子代。
(1)數(shù)值預(yù)報(bào)產(chǎn)品資料。EC_thin、JAPAN、GERMAN三個(gè)模式2 m高度氣溫預(yù)報(bào)格點(diǎn)插值產(chǎn)品,區(qū)域?yàn)橄嫣秶?guó)家站點(diǎn)位置,時(shí)間范圍為2016年10月1日~2018年12月10日,起報(bào)時(shí)間為每日8:00和20:00,考慮實(shí)際工作中0~6 h內(nèi)預(yù)報(bào)數(shù)據(jù)沒有實(shí)際使用價(jià)值,因此,僅采用12~48 h內(nèi)逐6 h預(yù)報(bào)值作為實(shí)驗(yàn)數(shù)。
(2)實(shí)況資料。湘潭國(guó)家觀測(cè)站的2:00、8:00、14:00、20:00逐日氣溫資料,時(shí)間范圍為2016年10月1日~2018年12月12日。
(3)預(yù)處理。將數(shù)值產(chǎn)品按時(shí)間順序取最晚的20%作為測(cè)試數(shù)據(jù)集,剩下的作為訓(xùn)練集,所有數(shù)據(jù)均去除漏報(bào)和無效值。
設(shè)定初始化種群規(guī)模為60,保留精英個(gè)體數(shù)為10,迭代次數(shù)為300次。由于數(shù)值產(chǎn)品在不同起報(bào)時(shí)間和預(yù)報(bào)時(shí)次上精度差異較大,因此,采用按起報(bào)時(shí)間和預(yù)報(bào)時(shí)次單獨(dú)建立預(yù)報(bào)模型的方式進(jìn)行實(shí)驗(yàn),并將改進(jìn)遺傳算法與基本遺傳算法以及各模式產(chǎn)品的預(yù)報(bào)性能進(jìn)行比較,檢驗(yàn)指標(biāo)包括平均絕對(duì)誤差和絕對(duì)誤差小于2 ℃的準(zhǔn)確率。
經(jīng)實(shí)驗(yàn),改進(jìn)遺傳算法與標(biāo)準(zhǔn)遺傳算法及三種模式的在各時(shí)次的預(yù)報(bào)準(zhǔn)確度和平均絕對(duì)誤差如圖2所示,在各時(shí)次的預(yù)報(bào)準(zhǔn)確率與平均絕對(duì)誤差上改進(jìn)遺傳算法明顯優(yōu)于標(biāo)準(zhǔn)遺傳算法以及三個(gè)模式。將各時(shí)次的準(zhǔn)確度與平均絕對(duì)誤差取平均,結(jié)果如表1所示,改進(jìn)遺傳算法相對(duì)標(biāo)準(zhǔn)遺傳算法有明顯的提升,其中,準(zhǔn)確度8:00起報(bào)提高了2%,20:00起報(bào)提高了4%,平均絕對(duì)誤差也降低了0.1~0.2 ℃。
將迭代次數(shù)設(shè)為500,檢驗(yàn)改進(jìn)遺傳算法與標(biāo)準(zhǔn)遺傳算法的運(yùn)算效率,結(jié)果如圖3所示,改進(jìn)遺傳算法收斂速度比標(biāo)準(zhǔn)遺傳算法更快,精度更高。
圖2 各時(shí)次準(zhǔn)確度與平均絕對(duì)誤差
表1 各算法與各模式所有時(shí)次平均準(zhǔn)確度與平均絕對(duì)誤差
圖3 兩種算法平均絕對(duì)誤差隨迭代次數(shù)的變化
通過對(duì)比分析可見,基于改進(jìn)遺傳算法的集成預(yù)報(bào)明顯優(yōu)于其他模式預(yù)報(bào)結(jié)果,且性能相對(duì)于標(biāo)準(zhǔn)遺傳算法顯著提高。
改進(jìn)的遺傳算法通過加入保留精英個(gè)體策略,加快了算法的收斂速度,且大大提高了算法的精度,相對(duì)于標(biāo)準(zhǔn)遺傳算法的缺陷有了明顯的改善。通過實(shí)驗(yàn)可以看出,基于改進(jìn)遺傳算法的多模式氣溫集成預(yù)報(bào)結(jié)果明顯優(yōu)于各模式預(yù)報(bào)值,在實(shí)際的預(yù)報(bào)工作中具有較高的參考價(jià)值。