复习笔记Day121:卡尔曼滤波的推导
这篇专栏只涉及到卡尔曼滤波的一个比较原始的推导,比较现代的推导见
https://zhuanlan.zhihu.com/p/166342719
首先来介绍一下卡尔曼滤波要解决的问题:对于给定的系统
其中为实际值,
为观测值,而现实中测量以及系统本身都是存在误差的,也就是说,在这个系统中,初值不再是一个数,而是服从某个分布的随机变量;观测和迭代也不可能是绝对准确的,要加上一个噪声。在这样的假设下,模型就变成了
其中假设了初值以及噪声都是服从正态分布的。
因为加入了噪声,所以要绝对精确的得知的值是不可能的,所以只能去求在已知信息下,关于
的最优估计
,其中后一个k代表前k步的信息作为已知信息
首先需要明确的是何为最优,在我参考的教材中,对最优的定义见复习笔记Day119,同样在那篇文章里说明了,此时有,也就是说:在已知观测值
的情况下,对
的最优估计正是限制在这些观测值下迭代条件期望。下面分几步来给出计算这个值的递推公式
注意这里的迭代关系都是线性的,故都是服从某个多维正态分布的(注意它们是向量而不是一个数)
首先先来研究一下如果随机变量的概率密度函数为
,随机变量
的概率密度函数为
,它们的联合分布的概率密度函数为
。那么
在
的限制下的条件概率密度函数如何?,也就是去计算
下面来做一些假设,设,
之间的协方差矩阵为
,那么随机变量
的协方差矩阵就是
,于是就有下面的计算过程,计算过程其实不是很复杂,不过写的比较详细,所以看起来很长。
记,则
,进而
,从后面的结果来看,这样做是为了把
单独分离出来。
从而
其中最后一个等号的计算过程如下
也就是说
注意到这个式子中,同样可以视为某个服从正态分布的随机变量的概率密度函数
接下来来计算
记
,注意这样假设把y视为了常量,那么
注意这里把视为了一个数,而
是
的缩写,所以如果把
视为一个随机变量,那么
也是一个随机变量,所以干脆记成
(这块不太能讲清楚,凑合着看吧)。总之,这样就得到了
接下来,为了获得递推式,来计算,其中
都是服从正态分布的。先考虑简单的情况,即
是相互独立的情况
和上面一样,也有
接下来讨论相关的情况,实际上有结论
,这里的
指的是
减去了Z在Y条件下的最优预测值,即
。这个结论的证明如下
其中第三个等号和之前条件概率密度函数的推导思路是一样的,第五个等号开始把视为了随机变量,不过是随机变量还是常量其实无所谓了吧···反正这里只是一个简化计算的符号
为了得到结论,只需要注意到
所以总而言之,上面的式子确实说明了
因为同时也有,而
之间是相互独立的,所以上面的过程也可以看成把
与
无关的部分提取了出来再做利用先去的结论
有了这些结论,接下来就可以计算了
其中第三个等号是因为与
都是无关的,下面就来计算一下第三个等号的第二项的各个系数,首先有
那么
其中第三个等号是因为
现在记,则
同理
现在尚且需要得到的递推关系式,因为
所以
这样一来,就得到了一个递推关系:在已知的情况下,可以计算出
,进而可以计算出
,据此又可以算出
,此外根据
还可以计算出
,进而算出
,有了这些,就可以求出
了,这样就完成了一次迭代
写到这里其实已经推导完了,不过和课本上的格式不太一样,为了规范还是按课本上的来吧
记,那么之前的递推式就可以写成
其中第二个等号由之前的推导的第三个等号可以得到
而
因为
故
所以
进一步化简可得
(这两个公式我直接抄书了,实在太复杂了)
总之这样一来就可以得到计算的方法了,如下图所示

这和我之前讲的方法应该是一样的(大概吧),为了方便观看再把相关的公式贴出来一下吧,其实相关的推导都在上面了

这个推导可以说是又臭又长了,所以再次建议大家看看我在一开始发的那个链接上的推导,那个推导更接近本质。不过不管怎么说,这个推导我觉得更加直接,没有那么多弯弯绕绕,对于一个初学的人来说,虽然可能不会真的去把每一个公式都验证一遍(除非像我这么闲),但是也能很快的知道一个大致的思路,只能说各有所长吧···
接下来如果我还有雅兴的话,大概会试着应用一下这个玩意吧,如果没有雅兴就没了。