2. 概率与估计基础
无迹卡尔曼滤波(UKF)并不是凭空出现的算法,它建立在概率论与统计估计的完整理论链条之上。理解这条链条,才能明白为什么卡尔曼滤波要那样写预测与更新,也才能理解 UKF 在非线性场景中究竟改动了哪一环。本节从随机变量出发,经高斯分布、贝叶斯估计、最小均方误差估计,最终落到卡尔曼滤波,把这条主线一次讲清。
一、随机变量:把不确定性写成数学对象
在滤波问题中,我们关心的量几乎都是不确定的:车辆的位置、速度、姿态角,传感器的测量值,过程噪声。这些量无法用确定数值描述,只能用随机变量刻画。随机变量是一个从样本空间到实数的映射,它把“可能发生的结果”变成可以运算的数值。
描述随机变量有两类工具:
- 概率密度函数(PDF):描述取值在某个区间附近的相对可能性,连续情形下 p(x) 满足非负且积分为 1。
- 数字特征:均值 E[x] 描述中心位置,方差 Var(x) 或协方差矩阵 P 描述离散程度与各分量之间的相关性。
滤波中真正被递推传播的,往往不是完整 PDF,而是均值和协方差这两个数字特征。这正是卡尔曼滤波高效的根本原因,也是 UKF 仍然沿用均值—协方差框架的原因。
二、高斯分布:滤波世界的“通用语言”
高斯分布(正态分布)由均值 μ 和协方差 Σ 完全确定,记作 x ~ N(μ, Σ)。它有三个对滤波极其关键的性质:
- 线性变换封闭:若 x ~ N(μ, Σ),则 y = Ax + b 仍服从高斯分布,且 y ~ N(Aμ + b, AΣAᵀ)。
- 条件分布仍是高斯:联合高斯的条件分布依然是高斯,这使贝叶斯更新可以只用均值和协方差完成。
- 边缘分布仍是高斯:对部分变量积分后,剩余变量仍为高斯。
正因为高斯分布在这三种操作下“闭合”,卡尔曼滤波才能用有限几个矩阵递推地完成整个贝叶斯估计,而不需要存储任意形状的概率密度。
三、贝叶斯估计:滤波的统一框架
贝叶斯估计把“已知什么”和“观测到什么”统一在一个公式里。设 x 为状态,z 为观测,则后验分布为:
p(x | z) = p(z | x) · p(x) / p(z)
其中:
p(x) 先验分布(预测得到)
p(z | x) 似然(观测模型决定)
p(x | z) 后验分布(更新得到)
p(z) 归一化常数
滤波的递推结构正是贝叶斯公式的时序版本:
- 预测步:用状态转移模型把上一时刻后验推成当前时刻先验 p(xₖ | z₁:ₖ₋₁)。
- 更新步:用当前观测 zₖ 通过贝叶斯公式把先验修正为后验 p(xₖ | z₁:ₖ)。
所以卡尔曼滤波不是“另一种方法”,而是贝叶斯估计在高斯线性条件下的解析实现。UKF 则是贝叶斯估计在高斯假设下、允许非线性模型的一种数值近似实现。
四、最小均方误差估计:贝叶斯框架下的最优准则
有了后验分布,还需要一个“取哪个值作为估计”的准则。最小均方误差(MMSE)准则定义为最小化估计误差的平方期望:
J(x̂) = E[ (x - x̂)ᵀ (x - x̂) | z ]
对 x̂ 求导并令其为零,可得:
x̂_MMSE = E[ x | z ]
也就是说,后验均值就是 MMSE 意义下的最优估计。这一点把贝叶斯估计和卡尔曼滤波直接连了起来:卡尔曼滤波输出的状态估计,正是后验均值;输出的协方差,正是后验协方差,即 MMSE 的误差下界。
| 概念 | 数学对象 | 在卡尔曼滤波中的对应 |
|---|---|---|
| 随机变量 | x, z, w, v | 状态、观测、过程噪声、观测噪声 |
| 高斯分布 | N(μ, Σ) | 状态估计 x̂ 与协方差 P |
| 贝叶斯估计 | p(x|z) ∝ p(z|x)p(x) | 预测步 + 更新步递推 |
| MMSE 准则 | x̂ = E[x|z] | 卡尔曼增益加权后的状态修正 |
| 线性高斯条件 | 闭式解存在 | 标准卡尔曼滤波方程 |
| 非线性条件 | 闭式解不存在 | UKF 用 Sigma 点近似传播 |
五、从理论到算法:一张关系图看清全链条
下面这张图把本节的核心逻辑串起来:随机变量提供描述对象,高斯分布提供可运算的结构,贝叶斯估计提供递推框架,MMSE 提供最优准则,三者共同导出卡尔曼滤波;当模型非线性时,UKF 通过确定性采样替代解析线性化,继续沿用同一套均值—协方差递推。
六、案例:一维匀速运动中的贝叶斯递推
设目标做匀速直线运动,状态 x = [位置, 速度]ᵀ,观测为位置。过程噪声和观测噪声均为零均值高斯。按本节理论,滤波过程可以写成:
# 预测步(贝叶斯先验)
x_pred = F @ x_est
P_pred = F @ P_est @ F.T + Q
# 更新步(贝叶斯后验 + MMSE)
y = z - H @ x_pred # 新息
S = H @ P_pred @ H.T + R # 新息协方差
K = P_pred @ H.T @ inv(S) # 卡尔曼增益
x_est = x_pred + K @ y # 后验均值 = MMSE 估计
P_est = (I - K @ H) @ P_pred # 后验协方差
可以看到,预测步对应贝叶斯公式中的先验传播,更新步对应后验计算,而 x_est 正是后验均值,即 MMSE 估计。整个算法没有出现任何概率密度函数的显式积分,因为高斯假设让积分变成了矩阵运算。
七、常见误区与复盘
把本节的关系记牢:随机变量是描述对象,高斯分布是可运算的结构,贝叶斯估计是递推框架,MMSE 是最优准则,卡尔曼滤波是这四者在“线性 + 高斯”条件下的闭式解。UKF 之所以出现,是因为现实系统往往非线性,而贝叶斯递推中的积分不再有闭式解,于是我们用确定性采样去近似它。这条主线,是后续理解 UKF 预测与更新公式的基础。