在状态空间模型中解释卡尔曼滤波器


10

在状态空间模型中使用卡尔曼滤波器的步骤涉及什么?

我看到了几种不同的表述,但是我不确定细节。例如,Cowpertwait从以下等式开始:

θ吨=g ^吨θ吨-1+瓦特吨

yt=Ft′θt+vt
θt=Gtθt−1+wt

其中和 ,是我们未知的估计,而是观测值。瓦特吨〜Ñ (0 ,w ^ 吨)θ 吨 ÿ 吨θ0∼N(m0,C0),vt∼N(0,Vt)wt∼N(0,Wt)θtyt

Cowpertwait定义了所涉及的分布(分别为先验,似然和后验分布):

ÿ 吨 | θ 吨〜Ñ (˚F

θt|Dt−1∼N(at,Rt)
θ吨| d吨〜Ñ(米吨,Ç吨)
yt|θt∼N(Ft′θt,Vt)
θt|Dt∼N(mt,Ct)

与

at=Gtmt−1,Rt=GtCt−1Gt′+Wtet=yt−ft,mt=at+Atetft=Ft′at,Qt=Ft′RtFt+VtAt=RtFtQt−1,Ct=Rt−AtQtAt′

顺便说一句,表示给定直到的观测值的分布。一个更简单的表示法是但我会坚持使用Cowpertwait的表示法。θt|Dt−1θtyt−1θt|t−1

作者还根据期望描述了的预测:yt+1|Dt

E[yt+1|Dt]=E[Ft+1′θt+1+vt+1|Dt]=Ft+1′E[θt+1|Dt]=Ft+1′at+1=ft+1

据我了解,以下是这些步骤,但是,如果有错误或不确切之处,请告诉我:

  1. 我们从,,也就是说,我们猜测估计值。m0C0θ0
  2. 我们预测。那应该等于,它是。,因为已知。y1|D0f1F1′a1a1a1=G1m0
  3. 一旦我们有了的预测,就可以计算出误差。y1|D0e1=y1−f1
  4. 误差用于计算需要和的后验分布。作为先验平均值和误差的加权和给出:。 θ 1 | D 1 m 1 C 1 m 1 a 1 + A 1 e 1e1θ1|D1m1C1m1a1+A1e1
  5. 在下面的迭代中,我们从步骤1中预测。在这种情况下,。由于并且是我们在上一步中已经计算过的的期望值,因此我们可以继续计算误差和后验分布的平均值。 f 2 = Fy2|D1一2=G ^2米1米1θ1| d1Ë2θ2| 第2天f2=F2′a2a2=G2m1m1θ1|D1e2θ2|D2

我认为后验分布是某些人所说的更新步骤,而使用的期望值是预测步骤。 y t + 1 | d Ťθt|Dtyt+1|Dt

为了简洁起见,我省略了计算协方差矩阵的步骤。

我有想念吗?您知道更好的方法来解释这一点吗?我认为这仍然有些混乱,因此也许有一个更清晰的方法。

Answers:


3

我认为您说的是正确的,而且我认为这不是一团糟。措辞的一种说法是,卡尔曼滤波器是一种纠错算法,可以根据当前观测值的差异修改预测。在您的步骤4)中使用增益矩阵进行此校正。At


谢谢您的回答。也许是正确的,但是我想阅读对此的更详细(自然)的解释。我已经阅读了书籍和幻灯片中的描述,但是其中大多数都不是很清楚,也有细微的差别。
— 罗伯·史密斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.