什么是 Rauch-Tung-Striebel 平滑器(RTS Smoother)?

Rauch-Tung-Striebel 平滑器(RTS Smoother)是一种固定区间贝叶斯算法,它先运行前向 Kalman Filter,再递归利用未来观测修正每个历史状态估计。

快速了解

规范文档官方规范

工作原理

保存完整前向 Kalman Pass

从第一条观测运行 Kalman Filter 到最后一条,并保留 m_k|k、P_k|k,以及下一步预测 m_(k+1)|k、P_(k+1)|k。只保存最终滤波状态并不足够,因为每次后向修正都需要局部滤波协方差及其对应预测。

Rauch、Tung 与 Striebel 1965 年论文推导了加性高斯噪声线性动态系统的滤波与平滑方程。只有声明固定区间和模型参数后,才能把递推解释为特定后验。

让未来信息沿时间反向传播

先令最终平滑状态等于最终滤波状态。对 k = T-1 ... 0,计算 Smoother Gain G_k = P_k|k F_k^T (P_(k+1)|k)^-1,再以 G_k(m_(k+1)|T - m_(k+1)|k) 修正均值,并以 G_k(P_(k+1)|T - P_(k+1)|k)G_k^T 修正协方差。

这不是把观测倒序后运行 Kalman Filter:Backward Gain 依赖前向条件协方差和状态转移模型。实现应使用线性方程求解而非显式求逆,并严格对齐 Filtered、Predicted 与 Smoothed 数组的时间索引。

防止评测中的未来信息泄漏

Berkeley 状态空间课程笔记按照可用观测范围区分 Filtering、Forecasting 与 Smoothing。RTS 能改进历史轨迹重建、缺失值估计和参数学习所需的充分统计量,却无法在未来量测尚未到达的实时系统中产生同样结果。

应报告区间边界、边界初始化、保存精度、模拟真值或延迟真值上的滤波与平滑 RMSE、协方差覆盖、缺失数据策略和延迟。生产评估应将完整 Fixed-interval Smoothing 与明确窗口的 Fixed-lag 方案分开,不能把整个测试未来泄漏给在线指标。

主要特点

  • 先执行前向 Kalman Pass,再执行后向递推
  • 让每个状态以固定区间内全部观测为条件
  • 使用保存的滤波矩与单步预测矩
  • 对指定线性高斯状态空间模型给出精确结果
  • 回顾性协方差通常不高于滤波协方差
  • 需要未来数据和额外轨迹存储

常见用途

  1. 从含噪观测离线重建轨迹
  2. 传感器数据回顾性去噪与缺口填补
  3. 已完成科学实验的状态估计
  4. Expectation-Maximization 充分统计量计算
  5. Gaussian Process 状态空间模型的参考平滑

示例

loading...
Loading code...

常见问题

Kalman Filtering 与 RTS Smoothing 有什么区别?

Kalman Filter 用截至 `k` 时刻的观测估计状态 `k`。RTS Smoother 在完整区间观测到达后,利用前向滤波输出执行后向修正,重新估计同一个历史状态。

RTS 平滑器只是倒序运行 Kalman Filter 吗?

不是。Smoother Gain 使用前向滤波协方差、状态转移矩阵与下一时刻预测协方差。没有推导对应反向时间模型时,简单颠倒观测不会得到 RTS 条件分布。

RTS Smoothing 必须保存哪些数据?

至少需要每个时刻的滤波均值与协方差,以及下一步 Backward Gain 所需的单步预测均值与协方差。时变转移矩阵和稳定求解所需的分解也必须按索引对齐。

RTS 平滑可以用于实时基准吗?

只有基准明确允许未来观测或固定延迟时才可以。完整 Fixed-interval RTS 使用整个序列,若不披露这种信息优势就与在线滤波比较,会构成未来信息泄漏。

RTS Smoother 总会降低实际状态误差吗?

在模型正确的线性高斯条件下,其后验协方差不会增加,但单条实现轨迹的实际误差仍会波动。模型失配、数值错误和错误区间边界也会产生误导性的置信度。

相关术语

相关文章