因为每次需要计算 $R_{Y_t}^{-1}$,矩阵大小随测量数量增长,求逆复杂度为 $O(t^3)$。递归方法只需常数计算量,与历史长度无关。
Kalman Filter 为什么能递归计算?—— 新息把"所有历史测量"压缩成"旧估计 + 当前新息"
理解递归估计的思想,掌握新息过程的核心概念
建议先完成前面的课程,或具备线性代数与概率论基础。
🎯 本讲目标
理解为什么直接使用所有历史测量会越来越贵、新息(innovation)是什么、Gram-Schmidt 如何把测量变成正交新息、以及为什么递归更新形式自然出现。
🔑 核心思想
新估计 = 旧估计 + 新息修正。Kalman Filter 的"妙"不在于发明了估计,而在于把"越来越复杂的多次估计"改写成了"每次只处理新增信息"的递归估计。
假设用 $y_{1},\ldots,y_{t}$ 估计 $X$。堆叠测量:
LMMSE:
⚠️ 计算瓶颈
$t$ 越大,$R_{Y_t}$ 越大,求逆越来越贵,计算复杂度大约 $O(t^3)$。这就是为什么不能简单堆叠所有历史测量。
如果 $y_{1},\ldots,y_{t}$ 彼此不相关,$R_{Y_t}$ 是块对角矩阵:
求逆很简单:
但现实中测量往往相关,所以需要新技巧将相关测量转化为独立形式。
如果新测量 $y_{k+1}$ 中有一部分已经能由旧测量解释,那么这部分不是真正的新信息。
💡 定义
新息 = 新测量中,旧信息解释不了的部分。
公式:
其中 $L_{k} = \operatorname{span}\{e_{1},\ldots,e_{k}\}$。
假设已有正交新息 $e_{1},\ldots,e_{k}$,则:
这样得到的 $e_{k+1}$ 与所有旧 $e_{j}$ 正交。
📖 理解
这本质上就是 Gram-Schmidt 过程在随机变量空间中的应用。每一步都从新测量中减去它在旧信息空间上的投影。
Gram-Schmidt 只是换基,不改变张成空间:
✅ 关键
新息形式没有丢掉测量信息,只是把相关的测量变成更容易处理的正交信息。投影到新息空间和投影到原始测量空间得到的估计完全一样。
投影到新息空间:
拆开最后一项:
前半部分就是旧估计 $\hat X_{k}$,所以:
🔄 递归形式
新估计 = 旧估计 + 新息修正。这是 Kalman Filter 能递归运行的根本原因。
假设你预测今天温度是 25°C,传感器测到 27°C。
🌡️ 直觉
如果传感器很准,就大幅修正估计(大增益);如果传感器很差,就小幅修正(小增益)。Kalman Filter 做的就是把"修正多少"数学化。
不要把 $y_{k}$ 的取值维度和随机变量空间维度混淆。即使每个 $y_{k}$ 是标量,它们也是不同时间的随机变量:
💡 通俗解释
今天的温度读数和明天的温度读数都是一个数字,但它们携带的是不同时间的信息。每增加一个时间点,信息空间就增大一维。
Kalman Filter 中的新息写作:
其中:
更新形式:
这正是"旧估计 + 新息修正"在 Kalman Filter 中的具体体现。
为什么直接堆叠所有历史测量会越来越慢?
因为每次需要计算 $R_{Y_t}^{-1}$,矩阵大小随测量数量增长,求逆复杂度为 $O(t^3)$。递归方法只需常数计算量,与历史长度无关。
新息为什么与旧新息正交?
因为新息定义为从新测量中减去它在旧信息空间上的投影。这个投影包含了所有与旧新息线性相关的部分,剩余部分自然与旧信息空间正交。
新息为 0 时,说明什么?
施老师大课堂 · 研讨会系列 KF L13 · 递归估计与新息过程