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


10

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

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

θ=g ^θ-1+瓦特

yt=Ftθt+vt
θt=Gtθt1+wt

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

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

ÿ | θ Ñ ˚F

θt|Dt1N(at,Rt)
θ| dÑÇ
yt|θtN(Ftθt,Vt)
θt|DtN(mt,Ct)

at=Gtmt1,Rt=GtCt1Gt+Wtet=ytft,mt=at+Atetft=Ftat,Qt=FtRtFt+VtAt=RtFtQt1,Ct=RtAtQtAt

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

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

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

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

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