基于EnKF 和ETKF 的比较研究

2023-12-20 16:26卞康旭
科海故事博览 2023年35期
关键词:协方差卡尔曼滤波观测

陈 丽,卞康旭

(中国民用航空飞行学院理学院,四川 广汉 618307)

1 前言

预测物理系统通常需要系统的时间演变模型和系统当前状态的估计。在一些应用中,可以高精度地直接测量系统的状态。在其他应用中,如天气预报,直接测量全球系统状态是不可行的。相反,必须从可用数据中推断出状态。虽然基于当前数据的状态估计是合理的,但通常可以通过使用当前和过去的数据来获得更好的估计[1]。“数据同化”在持续的基础上提供这种估计,在预测步骤和状态估计步骤之间迭代交替;后一个步骤通常被称为“分析”。分析步骤结合来自当前数据和先前短期预测(基于过去数据)的信息,产生当前状态估计。该估计用于初始化下一个短期预测,随后用于下一次分析等[2]。

同化方法主要有两种类型:变分同化方法和序列同化方法。序列数据同化方案显式求解一系列方程,以找到系统的分析状态。顺序方法的例子是卡尔曼滤波器(KF)[3]以及从KF 的基础上导出的各种滤波器。例如,集合卡尔曼滤波器(EnKF)[4]、集成变换卡尔曼滤波器(ETKF)[5]都是顺序方案。

集合卡尔曼滤波器由Geir Evensen 于1994 年提出,并于1998 年进行了修正[6]。它的半经验性论证可能令人不安。尽管如此,集合卡尔曼滤波器已被证明在大量的学术和操作数据同化问题上是非常有效的。集合卡尔曼滤波器(EnKF)是一个降阶卡尔曼滤波器,它只处理二阶以下的误差统计信息。由于其在计算过程中对引入的观测信息进行了随机扰动,又称为随机性集合卡尔曼滤波。

随机EnKF[7]能够单独跟踪集合中的每个成员,并通过分析步骤使它们相互作用。这个好的性质是有代价的:其需要独立地扰动每个成员的观测向量。虽然这看起来易于实现,但在随机扰动时也引入了数值噪声。这可能会影响算法的性能,特别是当单个分析的观测数量有限时,可能会造成算法发散。为了解决这个问题,发展出了另一种类型的滤波算法,称为确定性集合卡尔曼滤波。在本文中,将重点关注确定性EnKF 的集合变换变体,通常缩写为ETKF。该算法不是在状态空间或观测空间中执行计算,而是在集合空间中执行。

目前,对于随机性和确定性集合卡尔曼滤波算法的比较研究较少,本文将基于不同实验模型比较随机EnKF 与ETKF 的算法性能。

2 研究方法

2.1 随机性集合卡尔曼滤波(EnKF)

2.1.1 分析步骤

在EnKF 算法框架中[8],先从状态集合开始分析,记状态集合为:

将观测向量进行扰动yi=y+ui,其中ui来自高斯分布ui~N(0,R)。首先,确保以避免偏差。其次,定义经验误差协方差矩阵:

当m→∞时,Ru的极限应趋于R。

其中:

那么分析误差协方差矩阵为:

2.1.2 预报步骤

在预测步骤中,在分析中获得的更新集合通过一个时间步长由模型传播到下一个瞬间:

预报估计是预报集合的平均值:

而预测误差协方差矩阵则由:

重要的是要注意,在算法过程中已经避免使用切线性算子,或任何线性化。

2.2 集合变换卡尔曼滤波(ETKF)

ETKF 与EnKF 的不同之处在于分析集合的构造。在下面的讨论中,定义集合空间如下:

对于分析估计,利用卡尔曼增益的形式得到均值的最优系数向量wa:

为了生成一个后验集合,下面需要分解。

2.3 乘法膨胀

为了防止滤波发散,引入乘法膨胀,其简单地将集合误差协方差Pf进行处理,以近似真实误差协方差Pf:Pf←λPf,其中λ是膨胀因子。

3 数值实验

本节提供了EnKF、ETKF 在三种模型上的一些实验说明,一共进行了6 个实验,从LA 模型的2 个实验开始,其次是Lorenz3 模型的2 个实验,最后是Lorenz96 模型的2个实验。这些实验的设置与文献[9]中的设置相同。对于实验性能用以下“分析rmse”进行考量:

其中,x和x真分别为待估计的模型状态和真实的模型状态。

3.1 LA 模型的实验

在本小节中,基于线性平流模型(LA)进行了2个实验,线性平流模型表达如下:

状态样本xi由具有随机幅度和相位的nk正弦波组成,表示为:

rand()函数返回一个均匀分布的随机数,0≦rand()≦1,exp()是e的指数函数。实验基本设置都是相同的。唯一的区别在于观测误差。系统运行700 个同化周期,前100个循环被丢弃。超过600个循环的平均结果见表1。

表1 LA 模型

从表1 中可知,对于线性模型,不论观测误差大小,ETKF 算法性能都优于EnKF。

3.2 Lorenz3 模型的实验

在本小节中,基于Lorenz3 模型进行了2 个实验,Lorenz3 模型方程如下所示:

其中为σ=10、ρ=28 和β=8/3。该系统用四阶龙格-库塔方案积分,采用固定的时间步长为0.01。

与LA 模型一样,系统运行700 个同化周期,前100 个循环被丢弃。超过600 个循环的平均结果见表2。

表2 Lorenz3 模型

从表2 中可知,在Lorenz3 模型中,观测误差较小时,ETKF 算法性能优于EnKF,但观测误差较大时,EnKF 算法性能却优于ETKF。

3.3 Lorenz96 模型的实验

Lorenz96 表达式为:

在Lorenz96 模型中,依然进行了2 个实验。系统依然运行700 个同化周期,前100 个循环被丢弃。超过600 个循环的平均结果见表3。

表3 Lorenz96 模型

如表3 所示,在Lorenz96 模型中,和LA 模型结果相同,不论观测误差大小,ETKF 算法性能都优于EnKF,不过EFKF 同化时间始终高于EnKF。

4 结论

随机性集合卡尔曼滤波与集合变换卡尔曼滤波都是经典的数据同化算法,在其他实验条件相同的情形下,两者算法的性能表现出些许不同。对于线性模型(如LA 模型)和强非线性模型(如Lorenz96 模型)来说,不论观测误差大小,ETKF 的算法性能始终优于EnKF,但其同化时间比EnKF 较多,不过在算法性能的优势下,时间成本可忽略不计。对于弱非线性模型(如Lorenz3模型),观测误差较小时,ETKF 算法性能优于EnKF,但观测误差较大时,EnKF 算法性能却优于ETKF。

猜你喜欢
协方差卡尔曼滤波观测
观测到恒星死亡瞬间
基于递推更新卡尔曼滤波的磁偶极子目标跟踪
天测与测地VLBI 测地站周围地形观测遮掩的讨论
多元线性模型中回归系数矩阵的可估函数和协方差阵的同时Bayes估计及优良性
二维随机变量边缘分布函数的教学探索
可观测宇宙
不确定系统改进的鲁棒协方差交叉融合稳态Kalman预报器
基于模糊卡尔曼滤波算法的动力电池SOC估计
基于扩展卡尔曼滤波的PMSM无位置传感器控制
高分辨率对地观测系统