Використання фільтрів Калмана для імпулювання пропущених значень у часових рядах


12

Мене цікавить, як можна використовувати фільтри Kalman для імпультування пропущених значень у даних часових рядів. Чи це також застосовно, якщо відсутні деякі послідовні моменти часу? Я не можу багато знайти на цю тему. Будь-які пояснення, коментарі та посилання вітаються та цінуються!


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

@javlacalle дякую, я вже знав цю посаду, і це чудовий приклад для конкретного втілення. Але мене швидше цікавить теоретичне підґрунтя.
GS9

Відповіді:


9

Передумови: фільтрація Кальмана :

Кальманські фільтри працюють на державно-просторових моделях форми (існує кілька способів її написання; це простий на основі Дурбіна та Коопмана (2012) ; все наступне базується на тій книзі, яка є чудовою):

yt=Zαt+εtεtN(0,H)αt1=Tαt+ηtηtN(0,Q)α1N(a1,P1)

де - це спостережуваний ряд (можливо, із відсутніми значеннями), але α t повністю не помічений. Перше рівняння (рівняння "вимірювання") говорить про те, що спостережувані дані певним чином пов'язані з неспостережуваними станами. Друге рівняння («перехідне» рівняння) говорить про те, що неспостережувані стани розвиваються з часом певним чином.ytαt

Фільтр Калмана працює для пошуку оптимальних оцінок ( α t вважається нормальним: α tN ( a t , P t ) , тому те, що насправді робить фільтр Калмана, - це обчислити умовне середнє значення та дисперсію розподілу для α t, що залежить від спостережень до часу t ).αtαtαtN(at,Pt)αtt

У типовому випадку (коли доступні спостереження) фільтр Калмана використовує оцінку поточного стану та поточного спостереження щоб зробити найкраще, щоб оцінити наступний стан α t + 1 , таким чином:ytαt+1

at+1=Tat+Kt(ytZαt)Pt+1=TPt(TKtZ)+Q

де - "виграш Кальмана".Kt

Коли немає спостереження, фільтр Кальмана все ще хоче обчислити і найкращим чином. Оскільки недоступний, він не може використовувати рівняння вимірювання, але все ж може використовувати рівняння переходу . Таким чином, коли відсутня, замість цього фільтр Kalman обчислює: P t + 1 y t y tat+1Pt+1утут

ат+1=ТатПт+1=ТПтТ'+Q

По суті, це говорить про те, що з урахуванням , я найкраще здогадуюсь про без даних - це лише еволюція, визначена в перехідному рівнянні. Це може бути виконано протягом будь-якої кількості періодів часу з відсутніми даними.αтαт+1

Якщо є дані , то перший набір рівнянь фільтрування найкраще здогадується без даних і додає "виправлення", виходячи з того, наскільки хороша була попередня оцінка.ут


Імпульсивні дані :

Після того , як фільтр Калмана був застосований до всього діапазону часу, ви отримаєте оптимальні оцінки станів для . Далі імпультування даних просте за допомогою рівняння вимірювання. Зокрема, ви просто підраховуєте:ат,Птт=1,2,,Т

у^т=Zат

Щодо довідки, Дурбін та Коопман (2012) є чудовими; Розділ 4.10 обговорює відсутні спостереження.

  • Дурбін, Дж. Та Коопман, SJ (2012). Аналіз часових рядів методами простору стану (№ 38). Oxford University Press.

Використання більш гладкого рішення мало б більше сенсу для введення даних (оскільки в них уже є всі (не пропущені) дані, чому б не використати інформацію також у майбутніх значеннях)
Juho Kokkala

0

Приклад у публікації, на який вказує javlacalle, містить послідовні пропущені моменти часу. Вас також можуть зацікавити інтервали навколо введених (у вибірці прогнозованих) значень, обчислення яких відображається в цій статті про космічний простір , у розділі 2.1.

Інший документ, який може бути цікавим, - це цей .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.