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