Оцінка параметрів LogLikelihood для лінійного фільтра Гаусса Кальмана


13

Я написав деякий код, який може робити фільтрацію Кальмана (використовуючи ряд різних фільтрів типу Кальмана [Інформаційний фільтр та ін.]) Для лінійного аналізу простору Гаусса для простору для n-мірного вектора стану. Фільтри чудово працюють, і я отримую хороший вихід. Однак, оцінка параметрів за допомогою оцінки логічності, мене бентежить. Я не статистик, а фізик, тому будьте ласкаві.

Розглянемо лінійну модель Гауссового державного простору

yt=Ztαt+ϵt,
αt+1=Ttαt+Rtηt,

де yt - наш вектор спостереження, αt наш вектор стану на етапі часу t . Величини жирним шрифтом є матрицями перетворення моделі простору стану, які встановлюються відповідно до характеристик розглянутої системи. У нас теж є

η tN I D ( 0 , Q t ) , α 1N I D ( a 1 , P 1 ) .

ϵtNID(0,Ht),
ηtNID(0,Qt),
α1NID(a1,P1).

де t=1,,n . Тепер я вивів та реалізував рекурсію для фільтра Калмана для цієї загальної моделі простору стану, відгадуючи початкові параметри та дисперсійні матриці H1 та Q1 Я можу створити графіки подобається

Фільтр Кальмана

де точки - рівень води річки Ніл за січень протягом 100 років, лінія - стан Оцінюваного Каламну, а пунктирні лінії - рівень довіри 90%.

Тепер для цього набору даних 1D матриці і є просто скалярами і відповідно. Отож, зараз я хочу отримати правильні параметри для цих скалярів, використовуючи вихід з фільтра Калмана та функцію реєстрації правдоподібностіHtQtσϵση

logL(Yn)=np2log(2π)12t=1n(log|Ft|+vtTFt1vt)

Де - помилка стану, а - дисперсія помилки стану. Тепер ось де я плутаюсь. З фільтра Калмана я маю всю інформацію, яка мені потрібна для опрацювання , але це, здається, не наближає мене до можливості розрахувати максимальну ймовірність та . Моє запитання полягає в тому, як я можу обчислити максимальну ймовірність та використовуючи підхід логічності та рівняння вище? Алгоритмічна розбивка була б для мене зараз холодним пивом ...vtFtLσϵσησϵση

Дякую за ваш час.


Примітка. Для 1D випадку і . Це універсальна модель місцевого рівня. H t = σ 2 ηHt=σϵ2Ht=ση2

Відповіді:


11

Якщо запустити фільтр Кальмана так, як у вас є, із заданими значеннями та , ви отримаєте послідовність нововведень та їхніх коваріацій , отже, ви можете обчислити значення значення використовуючи формулу, яку ви надаєте. σ 2 η ν tσϵ2ση2νt log L ( Y n )FtlogL(Yn)

Іншими словами, ви можете розглядати фільтр Кальмана як спосіб обчислення неявної функції та . Єдине, що вам потрібно зробити, це упакувати цей обчислення у функцію або підпрограму та обробити цю функцію в рутині оптимізації - як у Р. Цю функцію слід прийняти як входи та і повернути .σϵ2 σ 2 ϵ σ 2 η log L ( Y n )ση2optimσϵ2ση2logL(Yn)

Деякі пакети в R (наприклад dlm) роблять це за вас (див. Функцію, наприклад, dlmMLE).


Спасибі за Вашу відповідь. Я розумію, що у мене, здається, є всі компоненти, необхідні для чіткого обчислення ймовірності логгічності, однак, мабуть, всі посилання, які я маю на увазі, пропонують використовувати та як невідомі у функції реєстрації правдоподібності та максимізувати це за допомогою Ньютона -типовий метод? Це те, що мене бентежить; "ймовірність логгієміки максимально збільшується відносно невідомого вектору стану" - як? σ ησϵση
MoonKnight

Обчислення ймовірності не настільки явне, що і не відображаються явно у виразі . Швидше вони впливають на ймовірність через та . Таким чином, вам потрібно запустити фільтр Kalman для обчислення для кожної пари значень та . Після того, як ви кодуєте це у вигляді функції, ви обробляєте це з функцією максимізації типу Ньютона (або будь-якою загальною метою), і все. σ η log L ( Y n ) ν t F t log L ( Y n ) σ ϵ σ ησϵσηlogL(Yn)νtFtlogL(Yn)σϵση
Ф. Тузелл

1
У мене, мабуть, є детальний код (в R), який показує, як це зробити саме для даних Нілу. Я використовую це як ілюстрацію для своїх учнів. На жаль, це іспанською мовою, але я сподіваюся, що код досить зрозумілий (і я можу перекласти коментарі, якщо ні). Ви можете захопити цей приклад із et.bs.ehu.es/~etptupaf/N4.html .
Ф. Тузелл

Це дуже корисно. Дуже дякую за ваш час. Ваш коментар дуже допоміг! Іноді важко "побачити деревину для дерев", а щось просто пояснено чітко - це все, що потрібно ... Ще раз дякую.
MoonKnight

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