2. 概率与估计基础

无迹卡尔曼滤波(UKF)并不是凭空出现的算法,它建立在概率论与统计估计的完整理论链条之上。理解这条链条,才能明白为什么卡尔曼滤波要那样写预测与更新,也才能理解 UKF 在非线性场景中究竟改动了哪一环。本节从随机变量出发,经高斯分布、贝叶斯估计、最小均方误差估计,最终落到卡尔曼滤波,把这条主线一次讲清。

一、随机变量:把不确定性写成数学对象

在滤波问题中,我们关心的量几乎都是不确定的:车辆的位置、速度、姿态角,传感器的测量值,过程噪声。这些量无法用确定数值描述,只能用随机变量刻画。随机变量是一个从样本空间到实数的映射,它把“可能发生的结果”变成可以运算的数值。

描述随机变量有两类工具:

  • 概率密度函数(PDF):描述取值在某个区间附近的相对可能性,连续情形下 p(x) 满足非负且积分为 1。
  • 数字特征:均值 E[x] 描述中心位置,方差 Var(x) 或协方差矩阵 P 描述离散程度与各分量之间的相关性。

滤波中真正被递推传播的,往往不是完整 PDF,而是均值和协方差这两个数字特征。这正是卡尔曼滤波高效的根本原因,也是 UKF 仍然沿用均值—协方差框架的原因。

二、高斯分布:滤波世界的“通用语言”

高斯分布(正态分布)由均值 μ 和协方差 Σ 完全确定,记作 x ~ N(μ, Σ)。它有三个对滤波极其关键的性质:

  1. 线性变换封闭:若 x ~ N(μ, Σ),则 y = Ax + b 仍服从高斯分布,且 y ~ N(Aμ + b, AΣAᵀ)。
  2. 条件分布仍是高斯:联合高斯的条件分布依然是高斯,这使贝叶斯更新可以只用均值和协方差完成。
  3. 边缘分布仍是高斯:对部分变量积分后,剩余变量仍为高斯。

正因为高斯分布在这三种操作下“闭合”,卡尔曼滤波才能用有限几个矩阵递推地完成整个贝叶斯估计,而不需要存储任意形状的概率密度。

核心结论:卡尔曼滤波 = 在高斯假设下,对贝叶斯递推的均值和协方差做精确闭式求解。UKF 则是在非线性条件下,用确定性采样点近似这套均值和协方差的传播。

三、贝叶斯估计:滤波的统一框架

贝叶斯估计把“已知什么”和“观测到什么”统一在一个公式里。设 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 通过确定性采样替代解析线性化,继续沿用同一套均值—协方差递推。

概率与估计基础 → 卡尔曼滤波 → UKF 的逻辑链条 随机变量 x, z, w, v 均值 / 协方差 高斯分布 N(μ, Σ) 线性变换封闭 贝叶斯估计 p(x|z) ∝ p(z|x)p(x) 预测 + 更新 MMSE 准则 x̂ = E[x | z] 后验均值即最优估计 卡尔曼滤波 线性高斯下的贝叶斯递推闭式解 预测:x̂⁻ = Fx̂, P⁻ = FPFᵀ + Q 无迹卡尔曼滤波 UKF Sigma 点采样 → 非线性传播 → 均值/协方差重构 关键前提 ① 噪声为高斯白噪声 ② 系统模型线性 ③ 后验保持高斯 → 闭式解存在 非线性时的困境 EKF:一阶泰勒展开 强非线性下误差大 雅可比矩阵难求 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 估计。整个算法没有出现任何概率密度函数的显式积分,因为高斯假设让积分变成了矩阵运算。

七、常见误区与复盘

误区一:把卡尔曼滤波当成“加权平均”经验公式。 卡尔曼增益 K 不是拍脑袋的权重,而是由 P、H、R 通过贝叶斯后验推导出的最优权重。改变 R 或 Q,K 会自动调整,这正是贝叶斯框架的威力。
误区二:认为 UKF 抛弃了贝叶斯和 MMSE。 恰恰相反,UKF 仍然以贝叶斯递推为框架、以 MMSE 为准则,只是把“线性变换下高斯分布封闭”这一解析条件,替换为“Sigma 点采样后重构均值与协方差”的数值近似。
复盘要点: 判断一个滤波算法是否“最优”,先看它是否在贝叶斯框架下计算后验,再看它是否用后验均值作为输出。满足这两点,它就是 MMSE 意义下的最优估计;差别只在于后验的计算方式——解析、线性化还是采样近似。

把本节的关系记牢:随机变量是描述对象,高斯分布是可运算的结构,贝叶斯估计是递推框架,MMSE 是最优准则,卡尔曼滤波是这四者在“线性 + 高斯”条件下的闭式解。UKF 之所以出现,是因为现实系统往往非线性,而贝叶斯递推中的积分不再有闭式解,于是我们用确定性采样去近似它。这条主线,是后续理解 UKF 预测与更新公式的基础。