陳 麗,卞康旭
(中國民用航空飛行學院理學院,四川 廣漢 618307)
預測物理系統通常需要系統的時間演變模型和系統當前狀態(tài)的估計。在一些應用中,可以高精度地直接測量系統的狀態(tài)。在其他應用中,如天氣預報,直接測量全球系統狀態(tài)是不可行的。相反,必須從可用數據中推斷出狀態(tài)。雖然基于當前數據的狀態(tài)估計是合理的,但通??梢酝ㄟ^使用當前和過去的數據來獲得更好的估計[1]?!皵祿痹诔掷m(xù)的基礎上提供這種估計,在預測步驟和狀態(tài)估計步驟之間迭代交替;后一個步驟通常被稱為“分析”。分析步驟結合來自當前數據和先前短期預測(基于過去數據)的信息,產生當前狀態(tài)估計。該估計用于初始化下一個短期預測,隨后用于下一次分析等[2]。
同化方法主要有兩種類型:變分同化方法和序列同化方法。序列數據同化方案顯式求解一系列方程,以找到系統的分析狀態(tài)。順序方法的例子是卡爾曼濾波器(KF)[3]以及從KF 的基礎上導出的各種濾波器。例如,集合卡爾曼濾波器(EnKF)[4]、集成變換卡爾曼濾波器(ETKF)[5]都是順序方案。
集合卡爾曼濾波器由Geir Evensen 于1994 年提出,并于1998 年進行了修正[6]。它的半經驗性論證可能令人不安。盡管如此,集合卡爾曼濾波器已被證明在大量的學術和操作數據同化問題上是非常有效的。集合卡爾曼濾波器(EnKF)是一個降階卡爾曼濾波器,它只處理二階以下的誤差統計信息。由于其在計算過程中對引入的觀測信息進行了隨機擾動,又稱為隨機性集合卡爾曼濾波。
隨機EnKF[7]能夠單獨跟蹤集合中的每個成員,并通過分析步驟使它們相互作用。這個好的性質是有代價的:其需要獨立地擾動每個成員的觀測向量。雖然這看起來易于實現,但在隨機擾動時也引入了數值噪聲。這可能會影響算法的性能,特別是當單個分析的觀測數量有限時,可能會造成算法發(fā)散。為了解決這個問題,發(fā)展出了另一種類型的濾波算法,稱為確定性集合卡爾曼濾波。在本文中,將重點關注確定性EnKF 的集合變換變體,通??s寫為ETKF。該算法不是在狀態(tài)空間或觀測空間中執(zhí)行計算,而是在集合空間中執(zhí)行。
目前,對于隨機性和確定性集合卡爾曼濾波算法的比較研究較少,本文將基于不同實驗模型比較隨機EnKF 與ETKF 的算法性能。
2.1.1 分析步驟
在EnKF 算法框架中[8],先從狀態(tài)集合開始分析,記狀態(tài)集合為:
將觀測向量進行擾動yi=y+ui,其中ui來自高斯分布ui~N(0,R)。首先,確保以避免偏差。其次,定義經驗誤差協方差矩陣:
當m→∞時,Ru的極限應趨于R。
其中:
那么分析誤差協方差矩陣為:
2.1.2 預報步驟
在預測步驟中,在分析中獲得的更新集合通過一個時間步長由模型傳播到下一個瞬間:
預報估計是預報集合的平均值:
而預測誤差協方差矩陣則由:
重要的是要注意,在算法過程中已經避免使用切線性算子,或任何線性化。
ETKF 與EnKF 的不同之處在于分析集合的構造。在下面的討論中,定義集合空間如下:
對于分析估計,利用卡爾曼增益的形式得到均值的最優(yōu)系數向量wa:
為了生成一個后驗集合,下面需要分解。
為了防止濾波發(fā)散,引入乘法膨脹,其簡單地將集合誤差協方差Pf進行處理,以近似真實誤差協方差Pf:Pf←λPf,其中λ是膨脹因子。
本節(jié)提供了EnKF、ETKF 在三種模型上的一些實驗說明,一共進行了6 個實驗,從LA 模型的2 個實驗開始,其次是Lorenz3 模型的2 個實驗,最后是Lorenz96 模型的2個實驗。這些實驗的設置與文獻[9]中的設置相同。對于實驗性能用以下“分析rmse”進行考量:
其中,x和x真分別為待估計的模型狀態(tài)和真實的模型狀態(tài)。
在本小節(jié)中,基于線性平流模型(LA)進行了2個實驗,線性平流模型表達如下:
狀態(tài)樣本xi由具有隨機幅度和相位的nk正弦波組成,表示為:
rand()函數返回一個均勻分布的隨機數,0≦rand()≦1,exp()是e的指數函數。實驗基本設置都是相同的。唯一的區(qū)別在于觀測誤差。系統運行700 個同化周期,前100個循環(huán)被丟棄。超過600個循環(huán)的平均結果見表1。
表1 LA 模型
從表1 中可知,對于線性模型,不論觀測誤差大小,ETKF 算法性能都優(yōu)于EnKF。
在本小節(jié)中,基于Lorenz3 模型進行了2 個實驗,Lorenz3 模型方程如下所示:
其中為σ=10、ρ=28 和β=8/3。該系統用四階龍格-庫塔方案積分,采用固定的時間步長為0.01。
與LA 模型一樣,系統運行700 個同化周期,前100 個循環(huán)被丟棄。超過600 個循環(huán)的平均結果見表2。
表2 Lorenz3 模型
從表2 中可知,在Lorenz3 模型中,觀測誤差較小時,ETKF 算法性能優(yōu)于EnKF,但觀測誤差較大時,EnKF 算法性能卻優(yōu)于ETKF。
Lorenz96 表達式為:
在Lorenz96 模型中,依然進行了2 個實驗。系統依然運行700 個同化周期,前100 個循環(huán)被丟棄。超過600 個循環(huán)的平均結果見表3。
表3 Lorenz96 模型
如表3 所示,在Lorenz96 模型中,和LA 模型結果相同,不論觀測誤差大小,ETKF 算法性能都優(yōu)于EnKF,不過EFKF 同化時間始終高于EnKF。
隨機性集合卡爾曼濾波與集合變換卡爾曼濾波都是經典的數據同化算法,在其他實驗條件相同的情形下,兩者算法的性能表現出些許不同。對于線性模型(如LA 模型)和強非線性模型(如Lorenz96 模型)來說,不論觀測誤差大小,ETKF 的算法性能始終優(yōu)于EnKF,但其同化時間比EnKF 較多,不過在算法性能的優(yōu)勢下,時間成本可忽略不計。對于弱非線性模型(如Lorenz3模型),觀測誤差較小時,ETKF 算法性能優(yōu)于EnKF,但觀測誤差較大時,EnKF 算法性能卻優(yōu)于ETKF。