Объяснение фильтров Калмана в моделях пространства состояний

10

Каковы этапы использования фильтров Калмана в моделях пространства состояний?

Я видел несколько разных формулировок, но я не уверен в деталях. Например, Cowpertwait начинается с этого набора уравнений:

θt=Gtθt-1+wt

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

где и , - наши неизвестные оценки, а - наблюдаемые значения.ш т ~ N ( 0 , Ш т ) θ т у тθ0N(m0,C0),vtN(0,Vt)wtN(0,Wt)θtyt

Cowpertwait определяет соответствующие распределения (априорное, вероятностное и последующее распределение соответственно):

θt|Dt1N(at,Rt)
θt| DtN(мт,Cт)
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

Кстати, означает распределение по наблюдаемым значениям вплоть до . Более простая запись - но я буду придерживаться записи Каупертвейта. θ t y t - 1 θθ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|D0f1a1F1a1a1a1=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|D1a2=G2m1m1θ1| D1e2θ2| D2f2=F2a2a2=G2m1m1θ1|D1e2θ2|D2

Я думаю, что вычисление апостериорного распределения - это то, что некоторые люди называют шагом обновления, а использование ожидания - это шаг прогнозирования. у т + 1 | Д тθt|Dtyt+1|Dt

Для краткости я пропустил шаги для вычисления ковариационных матриц.

Я что-то пропустил? Вы знаете лучший способ объяснить это? Я думаю, что это все еще немного грязно, так что, возможно, есть более ясный подход.

Роберт Смит
источник

Ответы:

3

Я думаю, что вы говорите правильно, и я не думаю, что это грязно. Можно сформулировать это так: сказать, что фильтр Калмана является алгоритмом исправления ошибок, который модифицирует прогнозы в свете расхождений с текущими наблюдениями. Это исправление выполняется на шаге 4) с использованием матрицы усиления .At

Ф. Туселл
источник
Спасибо за ваш ответ. Возможно, это правильно, но я хотел бы прочитать более подробное (и естественное) объяснение этого. Я прочитал описания в книгах и слайдах, но большинство из них не очень ясны, и есть небольшие различия.
Роберт Смит