Что такое фильтр Калмана?

Стандартный фильтр Калмана

В среде модели пространства состояний фильтр Калмана оценивает значения латентного, линейного, стохастического, динамического процесса на основе возможно неправильных наблюдений. Учитывая допущения о распределении по неопределенности, фильтр Калмана также оценивает параметры модели через максимальную правдоподобность.

Начиная с начальных значений для состояний (x 0 | 0), дисперсионно-ковариационной матрицы начального состояния (P 0 | 0) и начальных значений для всех неизвестных параметров (θ 0), простого фильтра Калмана:

  1. Оценки, для t = 1,..., T:

    1. Вектор прогнозов состояний на 1 шаг вперед для периода t (x^t|t1) и его дисперсионно-ковариационная матрица (Pt|t1)

    2. Вектор прогнозов наблюдений на 1 шаг вперед для периода t (y^t|t1) и его предполагаемая дисперсионно-ковариационная матрица (Vt|t1)

    3. Отфильтрованные состояния для периода t (x^t|t) и его предполагаемая дисперсионно-ковариационная матрица (Pt|t)

  2. Подает прогнозные и отфильтрованные оценки в функцию правдоподобия данных

    lnp(yT,...,y1)=t=1Tlnϕ(yt;y^t|t1,Vt|t1),

    где ϕ(yt;y^t|t1,Vt|t1) - многомерная функция плотности нормальных вероятностей со средним значением y^t|t1 и отклонение Vt|t1.

  3. Подает эту процедуру в оптимизатор, чтобы максимизировать вероятность относительно параметров модели.

Прогнозы состояния

s - ожидание состояния, прогнозы состояния являются оценками состояний в период t с использованием всей информации (например, наблюдаемых ответов) до периода t - s.

Вектор mt -by-1 1-шага вперед, прогнозы состояния в t периода xt|t1=E(xt|yt1,...,y1). Предполагаемый вектор прогнозов состояния

x^t|t1=Atx^t1|t1,

где x^t1|t1 - m t - 1 на 1 отфильтрованный вектор состояния в период t - 1.

В t периоде прогнозы состояния на 1 шаг вперед имеют дисперсионно-ковариационную матрицу

Pt|t1=AtPt1|t1At+BtBt,

гдеPt1|t1 - оцененная дисперсионно-ковариационная матрица отфильтрованных состояний в период t - 1, с учетом всей информации до периода t - 1.

Соответствующее прогнозируемое наблюдение на 1 шаг вперед y^t|t1=Ctx^t|t1,, и его дисперсионно-ковариационная матрица Vt|t1=Var(yt|yt1,...,y1)=CtPt|t1Ct+DtDt.

В целом, s вектор прогнозируемого состояния является xt|ts=E(xt|yts,...,y1). Вектор s -step-award, прогнозов состояний,

x^t+s|t=(j=t+1t+sAj)xt|t

и s вектор прогнозируемого наблюдения,

y^t+s|t=Ct+sx^t+s|t.

Отфильтрованные состояния

Прогнозы состояния в t период, обновляемые с использованием всей информации (для примера наблюдаемых ответов) до t периода.

Вектор mt -by-1 отфильтрованных состояний в t периода xt|t=E(xt|yt,...,y1). Предполагаемый вектор отфильтрованных состояний

x^t|t=x^t|t1+Ktε^t,

где:

  • x^t|t1 - вектор прогнозов состояния в период t используя наблюдаемые отклики от периодов с 1 по t - 1.

  • Kt является mt -by ht необработанной матрицей усиления Калмана для периода t.

  • ε^t=ytCtx^t|t1 - ht вектор предполагаемых инноваций наблюдений в t периоде.

Другими словами, отфильтрованные состояния в период t являются прогнозируемыми состояниями в период t плюс корректировка, основанная на достоверности наблюдения. Достоверные наблюдения имеют очень мало соответствующих отклонение инноваций наблюдений (для примера, максимальное собственное значение DtDt′ относительно мало). Следовательно, для данного предполагаемого нововведения наблюдения, термин Ktε^t оказывает более высокое влияние на значения отфильтрованных состояний, чем ненадежные наблюдения.

В период t отфильтрованные состояния имеют дисперсионно-ковариационную матрицу

Pt|t=Pt|t1KtCtPt|t1,

где Pt|t1 - оцененная дисперсионно-ковариационная матрица прогнозов состояния в период t, с учетом всей информации до периода t - 1.

Сглаженные состояния

Smoothed states оцениваются состояния в t периода, которые обновляются с использованием всей доступной информации (для примера, всех наблюдаемых ответов).

Вектор mt -by-1 сглаженных состояний в t периода xt|T=E(xt|yT,...,y1). Предполагаемый вектор сглаженных состояний

x^t|T=x^t|t1+Pt|t1rt,

где:

  • x^t|t1 являются прогнозами состояния в период t используя наблюдаемые отклики от периодов 1 до t - 1.

  • Pt|t1 - оценочная дисперсионно-ковариационная матрица прогнозов состояния, с учетом всей информации до периода t - 1.

  • rt=s=tT{[j=ts1(AtKtCt)]CsVs|s11νs}, где,

    • Kt является mt -by ht необработанной матрицей усиления Калмана для периода t.

    • Vt|t1=CtPt|t1Ct+DtDt, которая является оценочной дисперсионно-ковариационной матрицей прогнозируемых наблюдений.

    • νt=yty^t|t1, что является различием между наблюдением и его прогнозом в период t.

Сглаженные нарушения порядка состояния

Smoothed state disturbances оцениваются, состояние нарушений порядка в t периода, которые обновляются с использованием всей доступной информации (для примера, всех наблюдаемых ответов).

Вектор kt -на-1 сглаженных нарушений порядка состояния в t периоде ut|T=E(ut|yT,...,y1). Предполагаемый вектор сглаженных нарушений порядка состояния

u^t|T=Btrt,

где rt - переменная в формуле для оценки сглаженных состояний.

В t периоде нарушения порядка состояния имеют дисперсионно-ковариационную матрицу

Ut|T=IBtNtBt,

где Nt - переменная в формуле для оценки дисперсионно-ковариационной матрицы сглаженных состояний.

Программа вычисляет сглаженные оценки, используя обратную рекурсию фильтра Калмана.

Прогнозные наблюдения

s прогнозируемые наблюдения являются оценками наблюдений в период t с использованием всей информации (например, наблюдаемых ответов) до периода t - s.

Вектор nt -на-1 1-шага вперед, прогнозируемых наблюдений в t периода, yt|t1=E(yt|yt1,...,y1). Предполагаемый вектор прогнозируемых наблюдений

y^t|t1=Ctx^t|t1,

где x^t|t1 - mt -на-1 оцененный вектор прогнозов состояния в период t.

В t периоде прогнозируемые наблюдения с 1 шагом вперед имеют дисперсионно-ковариационную матрицу

Vt|t1=Var(yt|yt1,...,y1)=CtPt|t1Ct+DtDt.

где Pt|t1 - оцененная дисперсионно-ковариационная матрица прогнозов состояния в период t, с учетом всей информации до периода t - 1.

В целом s -степ-аванс, вектор прогнозов состояний, xt|ts=E(xt|yts,...,y1). Вектор s -ступенчатого прогнозируемого наблюдения,

y^t+s|t=Ct+sx^t+s|t.

Сглаженные инновации в области наблюдений

Smoothed observation innovations оцениваются, инновации наблюдений в t периода, которые обновляются с использованием всей доступной информации (для примера, все наблюдаемые ответы).

Вектор ht -by-1 сглаженных инноваций наблюдений в t периода εt|T=E(εt|yT,...,y1). Предполагаемый вектор сглаженных, инноваций наблюдений

ε^t=DtVt|t11νtDtKtrt+1,

где:

В t периоде сглаженные инновации наблюдений имеют дисперсионно-ковариационную матрицу

Et|T=IDt(Vt|t11KtNt+1Kt)Dt.

Программа вычисляет сглаженные оценки, используя обратную рекурсию фильтра Калмана.

Калманское усиление

  • raw Kalman gain является матрицей, которая указывает, сколько взвешивать наблюдения во время рекурсий фильтра Калмана.

    Необработанный коэффициент усиления Калмана является матрицей mt -by ht, вычисленной с помощью

    Kt=Pt|t1Ct(CtPt|t1Ct+DtDt)1,

    где Pt|t1 - оценочная дисперсионно-ковариационная матрица прогнозов состояния, с учетом всей информации до периода t - 1.

    Значение необработанного усиления Калмана определяет, сколько веса надевать на наблюдения. Для данного предполагаемого инновационного наблюдения, если максимальное собственное значение DtDt′ относительно мало, то сырой коэффициент усиления Калмана придает относительно большой вес наблюдениям. Если максимальное собственное значение DtDt′ относительно велико, то сырой коэффициент усиления Калмана придает наблюдениям относительно небольшой вес. Следовательно, отфильтрованные состояния в период t близки к соответствующим прогнозам состояния.

  • Рассмотрите получение прогнозов состояния на 1 шаг вперед для периода t + 1, используя всю информацию до t периода. The adjusted Kalman gain (неопр.Kadj,t) - количество веса, приложенное к предполагаемому нововведению о наблюдении за период t (ε^t) по сравнению с прогнозом состояния на 2 шага вперед (x^t+1|t1).

    То есть,

    x^t+1|t=Atx^t|t=Atx^t|t1+AtKtε^t=x^t+1|t1+Kadj,tε^t.

Обратная рекурсия фильтра Калмана

Backward recursion of the Kalman filter оценивает сглаженные состояния, нарушения порядка состояния и инновации в наблюдениях.

Программное обеспечение оценивает сглаженные значения по:

  1. Установка r T + 1 = 0 и N T + 1 на mT -by- mT матрицу 0s

  2. Для t = T,..., 1, он рекурсивно вычисляет:

    1. rt (см. Сглаженные состояния)

    2. x^t|T, которая является матрицей сглаженных состояний

    3. Nt (см. Сглаженные состояния)

    4. Pt|T, которая является оцененной дисперсионно-ковариационной матрицей сглаженных состояний

    5. u^t|T, которая является матрицей сглаженных нарушений порядка состояния

    6. Ut|T, которая является оцененной дисперсионно-ковариационной матрицей сглаженных нарушений порядка состояния

    7. ε^t|T, которая является матрицей сглаженных инноваций наблюдений

    8. Et|T, которая является оценочной дисперсионно-ковариационной матрицей сглаженных инноваций наблюдений

Диффузный фильтр Калмана

Рассмотрим модель пространства состояний, написанную так, чтобы m диффузных состояний (xd) были отделены от n стационарных состояний (xs). То есть моменты начальных распределений

μ0=[μd0μs0]иΣ0=[Σd000Σs0].

  • μ d 0 является m - нулевым вектором

  • μ s 0 является n - вектором вещественных чисел

  • Σ d 0 = κIm, где Im является m -by m тождеств матрицей, а κ является положительным вещественным числом.

  • Σ s 0 является n -by n положительно определенной матрицей.

  • Диффузные состояния некоррелированы друг с другом и стационарными состояниями.

Один из способов анализа такой модели - установить κ на относительно большое, положительное вещественное число, а затем реализовать стандартный фильтр Калмана (см ssm). Это лечение является приближением к анализу, который обрабатывает диффузные состояния, как если бы их начальная ковариация состояния приближалась к бесконечности.

diffuse Kalman filter или exact-initial Kalman filter [58] обрабатывает диффузные состояния, принимая κ к ∞. Диффузные фильтры Калмана в два этапа: первый этап инициализирует модель так, что впоследствии её можно отфильтровать с помощью стандартного фильтра Калмана, являющегося вторым этапом. Этап инициализации отражает стандартный фильтр Калмана. Он устанавливает все начальные отфильтрованные состояния в нуль, а затем увеличивает вектор начальных отфильтрованных состояний с помощью матрицы тождеств, которая составляет (m + n) -by- (m + n + 1) матрицу. После достаточного количества периодов матрицы точности становятся несингулярными. То есть диффузный фильтр Калмана использует достаточно периодов в начале ряда, чтобы инициализировать модель. Можно рассматривать этот период как данные предварительного образца.

Второй этап начинается, когда матрицы точности являются несовпадающими. В частности, этап инициализации возвращает вектор отфильтрованных состояний и их матрицу точности. Затем стандартный фильтр Калмана использует эти оценки и оставшиеся данные для фильтрации, сглаживания и оценки параметров. Для получения дополнительной информации смотрите dssm и [58], раздел 5.2.

Ссылки

[1] Дурбин Дж., и С. Дж. Копман. Анализ временных рядов по методам пространства состояний. 2nd ed. Oxford: Oxford University Press, 2012.

См. также

Объекты

Функции

Похожие темы