Чому вірогідність фільтра Кальмана обчислюється з використанням результатів фільтрування замість плавніших результатів?


11

Я використовую фільтр Кальмана дуже стандартним способом. Система представлена ​​рівнянням стану та рівнянням спостереження .xt+1=Fxt+vt+1yt=Hxt+Azt+wt

Підручники вчать, що після застосування фільтра Кальмана та отримання "прогнозів на крок вперед" (або "відфільтрована оцінка") ми повинні використовувати їх для обчислення ймовірності функції:x^t|t1

fyt|It1,zt(yt|It1,zt)=det[2π(HPt|t1H+R)]12exp{12(ytHx^t|t1Azt)(HPt|t1H+R)1(ytHx^t|t1Azt)}

Моє запитання: Чому функція ймовірності обчислюється за допомогою "відфільтрованої оцінки" x^t|t1 а не "згладженої оцінки" x^t|T ? Чи не x^t|T краща оцінка вектора стану?


Я відредагував заголовок, щоб бути більш інформативним.
Juho Kokkala

Відповіді:


5

Щоб відповісти на ваше запитання: ви можете використовувати щільність згладжування. Але не потрібно. Відповідь Жарле Туфто містить розклад, який ви використовуєте. Але є й інші.

Використання кальманових рекурсій

Тут ви оцінюєте ймовірність як

f(y1,,yn)=f(y1)i=2nf(yi|y1,,yi1).

Однак засоби та відхилення не завжди повністю визначають розподіл ймовірностей загалом. Далі йде розкладання, яке ви використовуєте для переходу від фільтрування розподілів до умовних ймовірностей :f(xi1|y1,,yi1)f(yi|y1,,yi1)

(1)f(yi|y1,,yi1)=f(yi|xi)f(xi|xi1)f(xi1|y1,,yi1)dxidxi1.

Тут - щільність переходу стану ... частина моделі, а - щільність спостереження ... знову частина моделі. У своєму запитанні ви їх як і відповідно. Це те саме.f(xi|xi1)f(yi|xi)xt+1=Fxt+vt+1yt=Hxt+Azt+wt

Коли ви отримаєте один крок попереду розподілу прогнозу стану, це обчислення . Коли ви знову інтегруєтесь, ви отримуєте (1) повністю. Ви повністю пишете цю щільність у своєму запитанні, і це те саме.f(xi|xi1)f(xi1|y1,,yi1)dxi1

Тут ви використовуєте лише декомпозиції розподілу ймовірностей та припущення щодо моделі. Цей розрахунок ймовірності є точним розрахунком. Немає нічого дискреційного, що ви можете використовувати, щоб зробити це краще чи гірше.

Використання алгоритму ЕМ

Наскільки мені відомо, немає іншого способу оцінити ймовірність безпосередньо в подібній моделі державного простору. Однак ви все одно можете зробити максимальну оцінку ймовірності, оцінивши іншу функцію: ви можете використовувати алгоритм ЕМ. На кроці очікування (E-Step) ви обчислите Тут

f(x1,,xn|y1,yn)logf(y1,,yn,x1,,xn)dx1:n=Esmooth[logf(y1,,yn,x1,,xn)].
f(y1,,yn,x1,,xn)- це ймовірність "повних даних", і ви приймаєте очікування журналу цього по відношенню до щільності згладжування стику. Часто трапляється так, що, оскільки ви приймаєте журнал такої імовірності повних даних, терміни розбиваються на суми, а через лінійність оператора очікувань ви приймаєте очікування щодо граничних розподілів вирівнювання (тих, що згладжуються) ви згадуєте у своєму запитанні).

Інші речі

Я читав в таких місцях, що ЕМ - це "стабільніший" спосіб максимізувати ймовірність, але я ніколи не бачив, щоб цей пункт добре сперечався, і я не бачив цього слова "стабільний", визначеного взагалі, але також у мене немає Я справді не вивчив це далі. Жоден з цих алгоритмів не дозволяє обійти локальне / глобальне випробування максимумів. Я особисто схильний використовувати кальман частіше просто за звичкою.

Це правда, що згладжені оцінки стану зазвичай мають меншу дисперсію, ніж фільтрування, тому, мабуть, ви праві мати певну інтуїцію щодо цього, але ви не дуже використовуєте стани. Ймовірність, яку ви намагаєтеся збільшити, не є функцією штатів.


Наскільки різні КФ та ЕМ? Вони в кінцевому підсумку роблять те ж саме, за нечітко схожими манерами.
Мітч

1
@Mitch - це, мабуть, щось, що заслуговує більше, ніж коментар. Це буде залежати від того, який оптимізатор загального призначення ви використовуєте з KF та який тип ЕМ ви використовуєте. Я не буду занадто впевнений, не заглядаючи в це.
Тейлор

7

Взагалі за правилом продукту точну ймовірність можна записати З припущення про модель простору стану випливає, що вектор очікування та матриця дисперсії кожного обумовлені минулими спостереженнями, можуть бути виражені як і

f(y1,,yn)=f(y1)i=2nf(yi|y1,,yi1).
yi
E(yi|y1,,yi1)=E(Hxt+Azt+wt|y1,,yi1)=HE(xt|y1,,yi1)+Azt+Ewt=Hx^t|t1+Azt,
Var(yi|y1,,yi1)=Var(Hxt+Azt+wt|y1,,yi1)=HVar(xt|y1,,yi1)H+Varwt=HPt|t1H+R.
Таким чином, це дає точну ймовірність без обчислення згладжених оцінок.

Хоча ви, звичайно, можете використовувати згладжені оцінки, які справді є кращими оцінками невідомих станів, це не дасть вам функції ймовірності. Насправді, ви б використовували спостережуване значення для оцінки власного очікуваного значення, тому мабуть, що це призведе до певних упереджень в отриманих оцінках. yi


0

Я вважаю, що кращою відповіддю щодо того, "чому" розподілення згладжування не використовується (як правило), є ефективність. В принципі просто розрахувати граничну ймовірність (згладжування) граничної ймовірності у розумінні відпустки таким чином. Видаліть спостереження j, запустіть калман плавніше на решті даних. Тоді оцініть ймовірність невидимого y (j). Повторіть це для всіх j. Підсумуйте ймовірність журналу. Більш швидкі версії цього твору працюють з (рандомізованими) блоками протриманих зразків (наприклад, ревізор у k-кратному стані). Зауважте, що ця схема вимагає більш загальної реалізації фільтра Калмана / плавнішого, який може довільно пропускати оновлення вимірювань, якщо це потрібно. Пропуск назад / згладжування не має доступу до вимірювань (алгоритм RTS так чи інакше) і залишається тим самим.

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

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