RTSNET: DEEP LEARNING AIDED KALMAN SMOOTHING 小白阅读笔记 - 知乎
Kalman Filter 遇到 Deep Learning : 卡尔曼滤波和深度学习有关的论文_Phoenixtree_DongZhao的博客-CSDN博客_卡尔曼滤波 深度学习

关于卡尔曼滤波和卡尔曼平滑关系的理解_foreseerwang的博客-CSDN博客_卡尔曼平滑滤波//必看,评论区也很精彩

卡尔曼平滑有图、有公式推导_GHelpU的博客-CSDN博客_卡尔曼平滑//理论公式推导有了,很重要
对于此前的若干篇与卡尔曼滤波有关的博文,所描述的算法都是基于过去以及当前时刻的传感器观测结果以估计当前时刻系统的状态,此为滤波算法。而在一些应用场景中,使用者对于系统状态的估计实时性要求较低,青睐于获取更准确的系统状态估计效果,此时可以利用一长段时间内获得的所有传感器观测来估计期间各个时刻的系统状态,此为平滑算法。
卡尔曼平滑算法是其中常用的一种,又称为RTS平滑——Rauch–Tung–Striebel smoother (RTSS, Rauch et al., 1965),本篇博文将详细介绍该算法。
卡尔曼平滑算法其实就是卡尔曼滤波算法的加强版,包括了前向递推和后向递推两个步骤,其中前向递推的过程与卡尔曼滤波算法时一致的,而后向递推可以进一步减少估计结果的波动。算法的推导过程主要依赖于引理1和引理2的反复运用,利用贝叶斯概率理论实现系统状态的后验估计,与博文卡尔曼滤波系列一——标准卡尔曼滤波的推导过程有些不一样,不过结果是统一的。
根据实验结果可见,对于相同的观测数据,参数相同的两个算法的处理结果存在一定差异,其中卡尔曼平滑算法虽然实时性不如卡尔曼滤波算法,但其估计得到的信号波形更为平滑。而且仔细看可以看出,卡尔曼滤波算法相对于信号真值存在微小的相位滞后,而卡尔曼平滑算法的估算结果则保持较好的相位一致性,这在实际应用中有重要价值。通过计算两个算法处理结果与信号真值的均方误差,例如上述实验中,卡尔曼滤波算法的MSE为0.0078,而卡尔曼平滑算法的MSE伪0.0025,可见,平滑算法的估计精度更高,效果更好。
在实际应用中,如果信号长度较大,可以将信号按照时间先后分成若干个重叠的时段,然后对每一段分别使用平滑算法,这样可以得到更好地效果,同时也在一定程度上减少传感器的测量时间,降低算法处理时间,提高实时性。
参考资料
特征工程:利用卡尔曼滤波器处理时间序列(快速入门+python实现)_微信公众号[机器学习炼丹术]的博客-CSDN博客_卡尔曼滤波 时间序列平滑
使用卡尔曼滤波平滑时间序列,提高时序预测的准确率_deephub的博客-CSDN博客_卡尔曼滤波时间序列预测
时间序列预测 | Python实现卡尔曼滤波模型时间序列预测_数据分析与算法实践的博客-CSDN博客_卡尔曼滤波时间序列预测
Python pykalman包_程序模块 - PyPI - Python中文网