李君妍
(湖北第二師范學院計算機學院,湖北 武漢 430205)
數(shù)值天氣預報中的資料同化技術(shù)是利用多種觀測資料準確表述大氣當前狀態(tài),獲取模式準確初值的有效途徑,在功能上實現(xiàn)按某種算法通過計算機程序?qū)⒉灰?guī)則分布的觀測資料,結(jié)合天氣動力學和觀測資料特征而得到某預定規(guī)則網(wǎng)格點上最可能的值,即表示盡可能準確的大氣狀態(tài)的分析場,提供數(shù)值天氣預報模式的初值條件[1]。資料同化技術(shù)中的集合卡爾曼濾波(EnKF)克服了不能在強非線性系統(tǒng)中應用的缺陷,解決了卡爾曼濾波方法在計算預報誤差協(xié)方差時對計算資源需求量過大的問題,不要求像四維變分同化方法發(fā)展切線性和伴隨模式,可顯示提供集合預報的初始擾動,在各種天氣尺度中有較好的可利用性和有效性,與假定背景場誤差協(xié)方差固定不變的資料同化方法相比,集合卡爾曼濾波有較明顯的優(yōu)勢[2]。然而集合卡爾曼濾波也有不足。如果集合成員數(shù)過少,集合的平均什不能代表真實的物理狀態(tài),會造成分析結(jié)果與觀測數(shù)據(jù)的偏離;有限的集合成員數(shù)只是真實大氣狀態(tài)的粗略近似,集合成員數(shù)遠小于模式狀態(tài)變量的自由度導致在求解增益矩陣時出現(xiàn)矩陣退化問題(即不滿秩問題)而無法求逆,無法得到合理的增益矩陣。集合數(shù)有限與不滿秩問題無法避免,帶來同化精度下降。因此,如何提高集合卡爾曼濾波同化精度意義重大。
集合卡爾曼濾波資料同化是利用蒙托卡羅方法設(shè)計預報狀態(tài)的一組集合,該集合的樣本協(xié)方差作為背景誤差協(xié)方差的近似,通過模式向前積分,每個樣本分別更新分析變量,對變量的最佳估計即為各更新分析變量的樣本平均。1994年Geir Evensen開始把集合卡爾曼濾波應用到海洋同化領(lǐng)域;1998年Houtekamer和Mitchell首先把集合卡爾曼濾波引入大氣資料同化系統(tǒng),提出用兩組集合做集合卡爾曼濾波,即用一組的集合預報后的預報誤差統(tǒng)計作為另一組的背景誤差協(xié)方差,以減少集合卡爾曼濾波中由于背景場的值和誤差統(tǒng)計的相關(guān)性而造成的濾波發(fā)散問題[3]。另一方面,集合卡爾曼濾波會影響同化精度,如集合數(shù)有限、同化過程中不向真實大氣狀態(tài)收斂、分析場動力學不協(xié)調(diào)等。陳一帆等針對河網(wǎng)非線性動態(tài)系統(tǒng)的實時校正問題,設(shè)置初始集合時采用Box Muller方法生成一組服從正態(tài)分布的隨機集合,提高了水情仿真與預報的計算精度。唐曉等為了解決濾波發(fā)散問題,分別采用放大集合離散度和擾動模式誤差源兩種方法,放大集合離散度能避免濾波發(fā)散,但沒提高臭氧預報水平,反而導致預報誤差增加;而擾動模式誤差源不僅解決了濾波發(fā)散問題,也使同化導致的臭氧預報均方根誤差下降比例得到提高。
BP網(wǎng)絡具有結(jié)構(gòu)簡單、工作狀態(tài)穩(wěn)定、易于硬件實現(xiàn)等優(yōu)點,在眾多神經(jīng)網(wǎng)絡模型中,BP網(wǎng)絡的應用最為廣泛,尤其在模式識別、最優(yōu)預測等方面。目前已有學者將神經(jīng)網(wǎng)絡與卡爾曼濾波結(jié)合以提高精度。Shuang Zhao等提出了一種基于BP神經(jīng)網(wǎng)絡的擴展卡爾曼濾波算法應用于電流傳感器在線校準;韓亞坤、文鴻雁等在高速公路變形檢測中提出基于神經(jīng)網(wǎng)絡的自適應卡爾曼濾波算法,模型精度明顯提高。許多研究結(jié)果都表明通過神經(jīng)網(wǎng)絡修正卡爾曼濾波的分析值能在提高精度上成效明顯。因此,將神經(jīng)網(wǎng)絡與集合卡爾曼濾波相結(jié)合以提高同化精度,是一個值得研究的方向。
考慮環(huán)境的動態(tài)變化對系統(tǒng)模型造成的隨機干擾,改進思路為:從補償角度出發(fā),通過實時執(zhí)行神經(jīng)網(wǎng)絡輸出估計誤差來修正集合卡爾曼濾波的結(jié)果,即校正濾波分析值,從而提高同化精度。
1)BP神經(jīng)網(wǎng)絡的構(gòu)建 首先,用一個含單層隱含層的BP神經(jīng)網(wǎng)絡,粗略估計隱含節(jié)點的初值,逐漸增加節(jié)點數(shù)量,多次反復訓練,通過訓練時間和均方誤差確定隱含層經(jīng)元的個數(shù)。2)神經(jīng)網(wǎng)絡的預處理由于集合卡爾曼濾波分析和預報過程中的數(shù)據(jù)形式與神經(jīng)網(wǎng)絡處理不同,訓練神經(jīng)網(wǎng)絡前需對集合卡爾曼濾波處理后的數(shù)據(jù)進行預 處理。
為了完成以上研究工作,可采取如下技術(shù)路線。
1)基于BP神經(jīng)網(wǎng)絡的集合卡爾曼濾波算法設(shè)計與構(gòu)建。結(jié)合BP神經(jīng)網(wǎng)絡的集合卡爾曼濾波算法框架設(shè)計如下:
圖1 算法框架圖
利用一定精度的樣本離線訓練神經(jīng)網(wǎng)絡,網(wǎng)絡的輸入為能直接影響估計誤差的參數(shù),輸出為卡爾曼濾波輸出結(jié)果和真實值間的誤差。這樣,神經(jīng)網(wǎng)絡通過學習卡爾曼濾波結(jié)果的精確性,可近似確定卡爾曼濾波結(jié)果與真實值間的誤差。
在訓練過程中可提高神經(jīng)網(wǎng)絡的性能,如:采用均值為0,標準差為1/的高斯隨機分布(n為神經(jīng)元輸入權(quán)重的個數(shù))初始化權(quán)重。通過使用交叉熵代價函數(shù)以及規(guī)范化等方法解決學習速度等問題。
2)同化數(shù)值實驗。利用參考文獻[3],用MM5作為數(shù)值實驗的模式,包含4個預報方程、3個動量方程、熱力學方程以及水汽方程;10個預報量:3維風場(u,v,w)、擾動氣壓(p')和溫度(T)以及水汽混合比(q)、云水混合比(qc)雨水混合比(qr)、云冰混合比(qi)和霰(qg);觀測資料為地面探空資料,模式區(qū)域分為61×61個格距為60km的水平格點,內(nèi)層格距為20km,對內(nèi)層區(qū)域(108.4~122.5°E,27.3~38.7°N)進行分析垂直方向分為11層,最高層為100hPa。
為了驗證算法的正確性,對比基于BP神經(jīng)網(wǎng)絡同化、基于集合卡爾曼濾波同化和基于BP神經(jīng)網(wǎng)絡的集合卡爾曼濾波同化算法的同化能力。其過程是:采用經(jīng)驗方法產(chǎn)生一組集合,每12h同化一次探空資料中的3個量。假設(shè)觀測資料的誤差是獨立互不相關(guān)且為高斯分布,均值為0,方差分別為:為2.0m/s;為1.0K。假設(shè)預報模式是理想模式,即不考慮模式誤差,用12h的短期集合預報作為此次試驗的背景場并估計背景誤差協(xié)方差。
由于集合卡爾曼濾波同化存在不滿秩的問題,導致矩陣求逆困難而使結(jié)果精度降低,因此引入神經(jīng)網(wǎng)絡方法,通過使用BP神經(jīng)網(wǎng)絡來估計誤差,對集合卡爾曼濾波的分析值進行校正,使其得到精度較高的同化結(jié)果,可填補了BP神經(jīng)網(wǎng)絡在集合卡爾曼濾波資料同化研究中的空白。