概率统计基础:从高斯到卡尔曼¶
一篇会成长的笔记。卡尔曼滤波的全部假设可以压缩成一句话:状态和噪声都是高斯随机向量,且系统(近似)线性——于是"预测 + 观测"就是"两个高斯相乘",结果仍是高斯。这一篇把这句话拆开:定义 → 推导 → 几何/直觉 → 课程里用在哪 → 常见坑,最后落到卡尔曼五方程。每节末尾附外链 Wiki 补课。
核心要点¶
- 卡尔曼滤波的全部假设可以浓缩成一句:状态和噪声都是高斯随机向量。
- 高斯的两大法宝:① 线性变换后仍然是高斯;② 边缘分布、条件分布仍然是高斯——条件高斯公式就是卡尔曼更新的数学内核。
- 贝叶斯视角:后验 ∝ 先验 × 似然;两个高斯相乘仍是高斯,精度(\(\sigma^{-2}\))相加。
- 协方差传播 \(P^- = F P F^T + Q\):把"已知的不确定性"沿 \(F\) 推一步、再加模型噪声。
- 不相关 ≠ 独立,只有高斯情形二者等价。
- 卡方分布:NEES / NIS 一致性检验(滤波器"体检")的工具。
一、随机变量与概率分布(定义)¶
1.1 随机变量¶
随机变量 \(X\) 是从样本空间 \(\Omega\) 到实数轴的映射:
- 离散型用概率质量函数 \(p(x)=P(X=x)\);
- 连续型用概率密度函数 \(f(x)\),满足
1.2 期望¶
期望就是"按概率加权平均":
期望是线性算子(且这一点不需要独立,很关键):
直觉:加法平移直接穿过平均符号。因为不需要独立,后面"协方差传播"一类的推导才站得住。
1.3 方差与协方差¶
方差:偏离均值的平方平均("散"的程度):
协方差:两个变量"一起动"的程度:
常用性质(背下来,后面处处用):
| 性质 | 公式 |
|---|---|
| 自协方差 | \(\mathrm{Cov}(X,X)=\mathrm{Var}(X)\) |
| 线性变换 | \(\mathrm{Cov}(aX+b,\ cY+d)=ac\,\mathrm{Cov}(X,Y)\) |
| 和的方差 | \(\mathrm{Var}(X+Y)=\mathrm{Var}(X)+\mathrm{Var}(Y)+2\mathrm{Cov}(X,Y)\) |
| 独立 ⟹ 协方差为 0 | \(X\perp Y\ \Rightarrow\ \mathrm{Cov}(X,Y)=0\) |
不相关 ≠ 独立(常见误区)
方向只有一条:独立 ⟹ 不相关(\(\mathrm{Cov}=0\))。 反过来不成立:\(\mathrm{Cov}(X,Y)=0\) 只说明"没有线性关系",非线性关系仍可能存在(例:\(X\sim N(0,1)\),\(Y=X^2\),则 \(\mathrm{Cov}(X,Y)=\mathbb E[X^3]=0\),但 \(Y\) 显然由 \(X\) 决定)。 唯一例外:联合高斯情形下,不相关 ⟺ 独立——这是高斯分布的特权,也是卡尔曼敢于用"协方差矩阵"完整描述不确定性的原因。
二、随机向量与协方差矩阵¶
2.1 随机向量¶
把一堆相关的随机变量装进一个向量:
均值向量(逐分量取期望):
协方差矩阵(把"散"和"联动"统一装起来):
展开:
2.2 协方差矩阵的性质¶
- 对称:\(\Sigma=\Sigma^T\)(因为 \(\mathrm{Cov}(x_i,x_j)=\mathrm{Cov}(x_j,x_i)\));
- 半正定:对任意 \(a\in\mathbb R^n\),\(a^T\Sigma a=\mathrm{Var}(a^Tx)\ge 0\);
- 各分量线性无关 ⟹ 正定:\(\Sigma\succ 0\),可逆——卡尔曼里 \(P,R\) 都要求可逆;
- 对角元是方差、非对角元是协方差(相关性)。
2.3 线性变换的均值与协方差(推导:\(A\Sigma A^T\) 从哪来)¶
设 \(y=Ax+b\),\(A\in\mathbb R^{m\times n}\),\(b\in\mathbb R^m\),则
协方差(\(A\Sigma A^T\) 的唯一来源,必须会推):
所以
即
这就是卡尔曼预测步 \(P^-=FPF^T+Q\) 的出处
状态方程 \(x_k=F x_{k-1}+w_{k-1}\)(\(w\) 协方差 \(Q\)),把 \(F\) 当 \(A\)、把 \(Q\) 当"额外加的噪声协方差",线性变换公式逐字给: \(P_k^-=\mathrm{Cov}(x_k^-)=F P_{k-1}^+ F^T+Q_{k-1}\)。卡尔曼你自己推导时背上这一句,五方程就只剩\(Q\)的"加法"要解释了。
三、多维高斯分布(定义 → 几何)¶
3.1 定义¶
若 \(x\in\mathbb R^n\) 的概率密度为
则称 \(x\) 服从 \(n\) 维高斯分布,记
其中:
- \(\mu\):均值向量(椭球中心);
- \(\Sigma\):协方差矩阵(椭球形状);
- \(|\Sigma|\):行列式(归一化常数的一部分);
- 指数里的二次型 \((x-\mu)^T\Sigma^{-1}(x-\mu)\):马氏距离平方。
3.2 几何意义:误差椭球¶
- \(\Sigma\) 的特征向量给出高斯"椭球"的主轴方向;
- 对应特征值给出各主轴方向的方差(轴长 ∝ 特征值平方根);
- 等概率面是椭球面:
- 特例:若 \(\Sigma=\sigma^2 I\),则各分量独立同分布、等概率面退化为球面——"圆形不确定性"。
直觉:协方差矩阵在这里就是"把笛卡尔球压成斜椭球"的那张矩阵。主轴长、斜不斜,全部由 \(\Sigma\) 的特征结构决定——这也是为什么卡尔曼/组合导航把"误差大小"直接叫"\(P\) 矩阵"。
3.3 高斯的重要性质(卡尔曼的三大发动机)¶
① 线性变换仍高斯:
(几何:椭球被线性映射成新的椭球。)
② 边缘分布仍高斯: 设
则
(取边缘 = 直接切掉协方差矩阵的对应子块!)
③ 条件分布仍高斯(下一节详细推导——卡尔曼更新的核心)。
④ 不相关 ⟺ 独立: 高斯向量中,若 \(\Sigma_{xy}=0\),则 \(x,y\) 独立(§1.3 警告里说的"特权")。
四、分块高斯与条件分布(卡尔曼更新核心)¶
4.1 分块高斯¶
设
4.2 条件分布公式¶
给定 \(y\) 的条件下,\(x\) 的条件分布仍是高斯:
其中
4.3 推导(正交投影法,把 \(K\) "算"出来)¶
核心思想:在"用 \(y\) 线性估计 \(x\)"的所有估计器里,最优的那个(线性最小均方误差)是:误差与 \(y\) 正交。
令 \(\tilde x=x-\mu_x\),\(\tilde y=y-\mu_y\),考虑线性估计
误差 \(e=x-\hat x=\tilde x-K\tilde y\)。要求 \(e\) 与 \(\tilde y\) 正交(不相关):
展开(期望穿过矩阵):
条件均值:
条件协方差(把 \(e=\tilde x-K\tilde y\) 代回去):
代入 \(K=\Sigma_{xy}\Sigma_{yy}^{-1}\):
推导完成。你看,条件方差比原 \(\Sigma_{xx}\) 小——"知道了 \(y\) 就减少了不确定性",这对应卡尔曼量测更新后 \(P^+<P^-\)。
4.4 与卡尔曼更新的对应(全表,背下来)¶
卡尔曼更新本质就是"给定观测 \(z_k\),求状态 \(x_k\) 的条件高斯"。把右列代入左列,直接得到卡尔曼五方程:
| 条件高斯 | 卡尔曼 |
|---|---|
| \(x\) | 状态 \(x_k\) |
| \(y\) | 观测 \(z_k\) |
| \(\mu_x\) | 预测均值 \(\hat x_k^-\) |
| \(\Sigma_{xx}\) | 预测协方差 \(P_k^-\) |
| \(\mu_y\) | \(H_k\hat x_k^-\) |
| \(\Sigma_{yy}\) | \(S_k=H_kP_k^-H_k^T+R_k\) |
| \(\Sigma_{xy}\) | \(P_k^-H_k^T\) |
| \(K=\Sigma_{xy}\Sigma_{yy}^{-1}\) | 卡尔曼增益 \(K_k=P_k^-H_k^T S_k^{-1}\) |
| \(\mu_{x\vert y}\) | 后验均值 \(\hat x_k^+\) |
| \(\Sigma_{x\vert y}\) | 后验协方差 \(P_k^+\) |
记法口诀:卡尔曼就是把"预测高斯"与"观测高斯"用条件公式联姻——\(K\) 是关联度(交叉信息)除以观测不确定度,新息修正量 = 关联度告诉你要信多少。
五、贝叶斯视角:后验 ∝ 先验 × 似然¶
一句话:滤波 = 把「已有估计(先验)」与「新量测(似然)」两个高斯相乘,得到「后验」。
连续形式:
一维高斯相乘的精度相加(精度 \(=\sigma^{-2}\),定义方便):
等价于"预测 + 增益 × 新息"的卡尔曼形状:
- 观测噪声小(\(\sigma_z\to0\))⟹ \(K\to1\) 信观测;
- 预测噪声小(\(\sigma_p\to0\))⟹ \(K\to0\) 信预测。
这个一维形式虽简单,却是卡尔曼更新公式 \(x^+=x^-+K(z-Hx^-)\) 的全部灵魂:权重 = 预算的不确定性 / 总不确定性。
六、协方差传播(预测步与观测步)¶
6.1 线性状态传播(推导)¶
设状态方程 \(x_k=F_{k-1}x_{k-1}+w_{k-1}\),\(w_{k-1}\sim\mathcal N(0,Q_{k-1})\),\(w\) 与 \(x\) 独立。
均值传播:
误差:
两项独立,协方差相加(§2.3 + §1.3 和的方差):
6.2 非线性状态传播(EKF 的预测步)¶
若 \(x_k=f(x_{k-1})+w_{k-1}\),在 \(\hat x_{k-1}^+\) 处一阶泰勒(导数与微分基础 §五的雅可比思想):
于是同样
这就是 EKF 与 KF 的唯一区别:\(F\) 变成雅可比。
6.3 观测传播:新息与增益¶
观测方程 \(z_k=H_k x_k+v_k\),\(v_k\sim\mathcal N(0,R_k)\),则(由线性变换性质)
新息(量测残差):
卡尔曼增益:
直觉:\(S_k\) 是"预测观测的拖后腿总和",\(P_k^-H_k^T\) 是"状态误差与观测误差的关联"——增益就是"关联度 ÷ 总不确定度",与 §4.3 的正交投影、§五的一维权重,三层是同一回事。
七、卡方分布:给滤波器做体检¶
一句话:滤波调没调废,不能只看结果像不像,得用统计检验。NEES / NIS 的检验统计量都服从 \(\chi^2\) 分布。
- NEES(状态):\(\varepsilon_x=(x-\hat x)^T P^{-1}(x-\hat x)\sim\chi^2_n\)(\(n\)=状态维数);
- NIS(量测):\(\varepsilon_z=\tilde z^T S^{-1}\tilde z\sim\chi^2_m\)(\(m\)=量测维数)。
均值就是自由度(\(\mathbb E[\chi^2_n]=n\)、\(\mathbb E[\chi^2_m]=m\)),所以多次求平均后:NEES/NIS 显著大于理论均值 ⟹ 欠估计(\(P\) 偏小);显著小于 ⟹ 过估计(\(P\) 偏大)。详见 14 一致性检验 NEES/NIS。
八、课程里用在哪¶
- ESKF 15 维状态:误差状态 \(\delta x\sim\mathcal N(0,P)\),\(P\) 是 \(15\times15\) 协方差;
- 预测:\(P^-=FPF^T+Q\)(§六);
- 更新:\(K=PH^T(HPH^T+R)^{-1}\)(§四条件高斯);
- 条件高斯:卡尔曼更新的本质(§四);
- 协方差传播:IMU 误差、GNSS 噪声如何一步步进入状态方差(§六);
- 一致性检验:新息应服从 \(\mathcal N(0,S)\),用于判断滤波是否发散(§七)。
九、常见坑¶
- 把"不相关"当"独立":只有高斯情形才等价(§1.3)。状态分量之间可以有非线性关系,别用线性协方差 \(0\) 下结论。
- 忘记 \(Q,R\) 要对称正定:否则协方差传播会丢失正定性,滤波器数值崩溃。
- 混淆标量方差与向量协方差:标量时是 \(\sigma^2\),向量时是矩阵 \(P\)——写了 \(P\) 就带上 \(15\times15\) 的记账意识。
- \(\Sigma_{yy}\) 不可逆:观测冗余或完全相关时会出现,需伪逆或降维/剔除冗余量测。
- 长时间直接算 \(P^-=FPF^T+Q\):数值上会谈对称性(浮点误差),工程上用 Joseph 形式或平方根滤波(UD/Cholesky 分解)。
- 新息忘记除以 \(S\) 再看大小:NIS 要用 \(\tilde z^T S^{-1}\tilde z\) 归一化,不能直接看 \(\tilde z\) 数值。
十、一句话总结¶
- 概率统计:卡尔曼滤波 = "高斯条件期望"的递推。核心是条件高斯公式(给出 \(K\) 与 \(P^+\))和协方差传播(给出 \(P^-\));
- 所有公式都能从"两个高斯相乘还是高斯 + 线性变换保持高斯"两条性质推出来。
关联¶
- 系列内:惯性导航系列首页
- 姊妹篇:数学地基:矩阵、概率与协方差(协方差矩阵 / 误差椭圆)· 导数与微分基础(雅可比 = 一阶线性化)
- 应用篇:10 卡尔曼滤波基础 · 11 EKF 与 ESKF · 14 一致性检验
- 下一篇计划:随机过程与噪声建模(白噪声 / 随机游走 / Allan → 定 \(Q\) 阵)