卡尔曼滤波(1)--递归最小二乘(RLS)推导过程
1960年,美籍匈牙利数学家卡尔曼将状态空间分析方法引入滤波理论中,对状态和杂讯进行了完美的统一描述,得到时域上的递推滤波演算法,即卡尔曼滤波,相应的演算法公式称为卡尔曼滤波器。注意卡尔曼滤波是在时域上应用的。
卡尔曼滤波是在已知系统和量测的数学模型、量测杂讯统计特性及系统状态初值的情况下(这也是用卡尔曼滤波的前提条件,需要搞清楚卡尔曼滤波的初值),利用输出信号的量测数据和系统模型方程,实时获得系统状态变数和输入信号的最优估计值。它是一种线性,无偏,且误差方差最小的随机系统最优估计演算法。其实,说到底,卡尔曼滤波就是递推形的线性最小方差估计。
学习卡尔曼滤波估计,要知道最优估计理论里面的相关知识,更要了解最基础最根本的最优估计理论,那就是最小二乘法。
RLS和卡尔曼滤波器非常类似,也是用来估计参数的,我们来推导一下它的过程。
首先定义一下各个变数
在一个线性系统中,系统状态估计方程为:
其中, 为观测量, 为观测矩阵, 为状态量(未知参数,待估计量), 为杂讯
先来看看普通的最小二乘
假设 为状态量 的最优估计量,则误差 可定义为
误差越小,说明我们的估计量越接近真值。
假设我们一批数据,我们希望总误差越小越好,定义代价函数J为
用向量来表示,即
最小化代价函数,令 J 对估计量 求偏导的结果为0,得
可以看出,估计量 是观测量 的线性函数,即线性估计。
=========================关于矩阵求导====================
一般来讲,我们约定 ,这是分母布局。
如果是分子布局,刚好相反,实质是一样的,布局问题而已。
=======================================================
令估计误差
当测量误差的均值为0时,估计误差的数学期望等于零,最小二乘估计是无偏估计(估计误差期望等于0):
此时,
估计误差方差阵
估计值的均方误差阵
因此,估计误差方差阵 和估计值的均方误差阵 相等。
注意 与估计误差方差阵 概念不同,最小二乘估计只保证测量值与估计值的平方和最小,不保证估计误差的方差最小。最小二乘估计不需要随机变数V的任何统计信息。
加权最小二乘估计(Weighted Least Square, WLS)
在古典最小二乘中,假设了每一次测量的权重相同,但事实上这样并不合理。假如一个估计值偏离真实值很远,那么它对估计结果的影响就应该被削弱,反之影响应该加强。加权最小二乘就是做这样的事。
加权最小二乘估计的误差平方和为:
同样要使这个误差平方和最小化:
可得
通过一系列推导可以发现,当 时,最小二乘估计是缺少初值条件下的线性无偏最小方差估计,又称马尔科夫估计。
则估计量可以表示为
其中,R为杂讯方差阵, 。
递推最小二乘估计(Recursive Least Square, RLS)
但是,最小二乘有个问题,就是前面计算出最优估计量后,当有新的数据进来时候,又要重新计算最优估计量。数据量比较大的时候,计算量会变得特别大。
所以引出了递归最小二乘,当有新的数据进来,不会再把以前的数据重新计算一遍,而是用当前的观测值对以前的最优估计量进行矫正更新。
考虑k次测量:
假设第k次的最优估计量 为前一次最优估计量 与测量误差的线性组合:
则误差
由加权最小二乘可知
估计误差方差阵,用符号 表示:
则最优估计 可以表示为
另外, 可以表示成跟 的递推关系
化简得
代价函数为 的迹,即 ,令代价函数 J 对 求导结果为0,可得
将 式子展开后, 式子代入其最后一项,化简后可得
可以看出协方差 随著每次观测,在逐渐减小。
演算法的整个流程为:
1,初始化估计器:
2,建立观测模型,定义雅克比和测量协方差矩阵:
3,使用下面方程更新对 的估计和协方差 :
可以总结出RLS 两个特点:
1,RLS可以进行实时在线估计参数
2,RLS是一个线性递推估计器,它使当前参数的(协)方差最小化。
详细推导过程如下图所示