卡尔曼滤波学习笔记

一、卡尔曼滤波的本质
预测模型的预测值和观测数据的加权求和后,获得的一个新的值作为卡尔曼滤波的预测值。预测值公式入下所示:

二、观测值、预测值和真实值之间的关系假设
事实上,在现实生活中,无论是预测模型的预测值,还是实际的观测值,它们都存在误差或者说随机干扰。也就是说,二者和真实值还存在误差,换而言之没有误差的预测值和观测值就是真实值。在这里我们假设这个误差服从正态分布,这就可以得出以下公式:

三、方差计算缘由及计算过程
插入一个问题,既然卡尔曼滤波的本质是获得多种方式得到的预测值进行加权平均,那么最朴素的求平均值(图3)难道就不行吗,它比卡尔曼滤波差在哪里。

其实,要知道哪种方式预测效果更好,就看哪个预测值的方差最小,毕竟方差就是衡量预测值相对于期望值(真实值)的离散程度。那么这个问题就变成了计算者的方差大小了。
首先是最朴素的平均值算法,其方差值为:

值得注意的是,其中真实值y是一个具体的数值,不存在方差。
接着计算加权平均值算法,其对应的方差值为:

看完计算后的方差公式,就要对比哪个方差更大,但考虑k∈[0, 1]之间,这表明D2是一个变量,那么就要计算它的最大值,即max{D2}。考虑σ1和σ2是一个正数且为常量值,因而仅需确定k值即可获得最大值,那么通过对公式求导(图6)就可以获得极值。可以发现,当k为图7值时获得极大值。此时,其方差计算结果如图8所示。



可以发现:加权平均值要优于普通的平均值。这表明卡尔曼滤波的预测值至少能获得不低于平均值计算的精度。

四、概率统计计算
好了,上面我们说过,预测值和观测值都存在服从正态分布的误差,这就表示预测值和观测值都不是一个精确的值,而是在一个服从正态分布的区域内,且期望值y即为真实值。


现在,我们又知道了预测值和观测值都是一个服从正态分布的随机概率值,只是落在某些区域概率大些,某些区域概率小一些。事实上,我们希望卡尔曼滤波得出来的值既在预测值的概率范围内又在观测值的概率范围内,这样得到得预测结果才是最可能是真实值。

这就又引发了一个问题,我们有一个观测值的概率分布,又有一个预测值的概率分布,我们把它们进行了概率叠加后,它们的概率叠加会服从什么分布呢?这就需要我们计算一下了。先回顾一下正态分布的公式:

可以获得预测值和观测值的分布公式:

概率叠加计算:

可以发现,叠加后的概率分布依旧符合正态分布,其期望值为y,方差值如图16。

算到这里,我们会发现一件很神奇的事情,方差结果和图8一样,而且二者的期望值也一样都是真实值。这表明加权平均就等于概率相叠加。
五、计算公式初步整理
好了,让我们再来捋一下。首先是模型的预测值:

权重值计算:

模型的预测值的方差:

概率叠加后的方差:

卡尔曼滤波结果计算:

值得注意的是这里的k和其他地方不一样,这是因为如下原因:

六、公式最终整理
第一步,加权平均值计算,即最终卡尔曼滤波结果计算:

第二步,为了获取公式(1)中提到的模型预测值,需要计算列公式:

第三步,为了获取公式(1)中的权重值,需要计算概率叠加后的:

第四步,为了获取公式(3)中的模型预测值方差:

第五步,为了获得公式(4)中提到的概率叠加后的方差:
