Які недоліки державно-просторових моделей та фільтра Кальмана для моделювання часових рядів?


53

Враховуючи всі хороші властивості державно-просторових моделей та KF, мені цікаво - які недоліки моделювання простору стану та використання фільтра Kalman (або EKF, UKF або фільтра частинок) для оцінки? Скажімо, звичайні методології, такі як ARIMA, VAR або спеціальні / евристичні методи.

Їх важко відкалібрувати? Чи є вони складними і важко зрозуміти, як зміна структури моделі вплине на прогнози?

Або, кажучи іншим способом - які переваги звичайних моделей ARIMA, VAR перед державно-просторовими моделями?

Я можу думати лише про переваги моделі держави-простору:

  1. Він легко обробляє структурні розриви, зрушення, часові зміни параметрів якоїсь статичної моделі - просто зробіть ці параметри динамічними станами моделі простору стану і модель автоматично підлаштовується під будь-які зрушення параметрів;
  2. Він обробляє відсутні дані дуже природно, просто зробіть крок переходу KF і не зробіть крок оновлення;
  3. Це дозволяє змінювати параметри «моделі-лету» самої моделі простору стану (коваріації шумів і матриць переходу / спостереження), тому якщо ваше поточне спостереження походить з трохи іншого джерела, ніж інші - ви можете легко включити його в оцінку, не роблячи цього нічого особливого;
  4. Використовуючи вищевказані властивості, це дозволяє легко обробляти нерегулярні дані: або змінювати модель кожен раз відповідно до інтервалу між спостереженнями, або використовувати регулярний інтервал та обробляти інтервали без спостережень як відсутні дані;
  5. Це дозволяє використовувати дані з різних джерел одночасно в одній моделі для оцінки однієї базової кількості;
  6. Це дозволяє побудувати модель з декількох інтерпретованих динамічних компонентів, що не спостерігаються, та оцінити їх;
  7. Будь-яка модель ARIMA може бути представлена ​​у формі простору стану, але лише прості моделі простору стану можуть бути представлені саме у формі ARIMA.

1
JFew додаткові переваги, як зазначалося у вашій першій точці, можуть легко включати багатозмінні зміни та видатки. На мій досвід, структурні перерви можна легко ідентифікувати з простором стану, ніж ARIMA. Також легко можна включити нелінійні ефекти екзогенних змінних. Не вимагає, щоб дані часових рядів були нерухомими, що є величезним значенням +.
синоптик

2
Я будь-коли візьму моделі простору штатів над ARIMA. Я можу подумати про два недоліки (свого роду): а) відповідна модель простору стану моделі ARIMA має багато непотрібних нулів у матрицях проектування. Можна стверджувати, що ARIMA є більш компактним. б) існують нелінійні / не гауссові моделі, які рідко мають аналітичні форми, які іноді можна описати у формі ARIMA, але це буде важко в традиційному просторі стану.
Cagdas Ozgenc

2
@Kochede Дурбін та Куопман, здавалося, не могли думати і про багато недоліків - вони згадували про два внизу сторінки 52 у своєму фантастичному підручнику . І я б сказав, що ці недоліки вже не обов'язково справджуються.

2
Кілька питань. Чи чітко визначаються зміни часових тенденцій і повідомляються моменти часу, коли змінюється тенденція? Чи розрізняє зміни параметрів та зміни дисперсії помилок і повідомляє про це? Чи виявляє та повідомляє про конкретні ефекти відведення та відставання навколо передбачених користувачем прогнозів? Чи можна вказати мінімальну кількість значень у групі до оголошення рівня зрушення рівня / локальної тенденції часу? Чи відрізняє це потреба в силових перетвореннях від детермінованих моментів часу, коли змінюється дисперсія помилок? Моделі ARMAX говорять про всі ці міркування.
IrishStat

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

Відповіді:


25

Ось попередній список недоліків, які я зміг отримати з ваших коментарів. Критика та доповнення дуже вітаються!

Загалом - порівняно з ARIMA, державно-просторові моделі дозволяють моделювати складніші процеси, мають інтерпретаційну структуру та легко обробляти нерівності даних; але за це ви платите зі збільшенням складності моделі, жорсткішою калібруванням, меншим знанням громади.

  1. ARIMA - це універсальний наближувач - вам не байдуже, що є справжньою моделлю за вашими даними, і ви використовуєте універсальні інструменти діагностики та підгонки ARIMA для наближення цієї моделі. Це як поліномальна крива - вам не байдуже, що є справжньою функцією, ви завжди можете наблизити її до многочлена певної міри.
  2. Моделі простору держав, звичайно, вимагають, щоб ви списали якусь розумну модель для свого процесу (що добре - ви використовуєте свої попередні знання про ваш процес для покращення оцінок). Звичайно, якщо ви не маєте жодного уявлення про свій процес, ви завжди можете також використовувати якусь універсальну модель простору стану - наприклад, представляти ARIMA у формі простору стану. Але тоді ARIMA у своєму первісному вигляді має більш парсимонічну формулювання - без введення зайвих прихованих станів.
  3. Оскільки існує така велика різноманітність формулювань державно-просторових моделей (набагато багатша, ніж клас моделей ARIMA), поведінка всіх цих потенційних моделей недостатньо вивчена, а якщо сформульована вами модель складна - важко сказати, як вона буде вести себе за різних обставин. Звичайно, якщо ваша державно-просторова модель проста або складається з інтерпретаційних компонентів, такої проблеми немає. Але ARIMA завжди однаково добре вивчена ARIMA, тому передбачити її поведінку слід легше, навіть якщо ви використовуєте її для наближення якогось складного процесу.
  4. Оскільки простір станів дозволяє безпосередньо та точно моделювати складні / нелінійні моделі, то для цих складних / нелінійних моделей у вас можуть виникнути проблеми зі стабільністю фільтрації / прогнозування (розбіжність EKF / UKF, деградація фільтра частинок). Також можуть виникнути проблеми з калібруванням параметрів складної моделі - це обчислювально-складна проблема оптимізації. ARIMA проста, має менші параметри (1 джерело шуму замість 2 джерел шуму, відсутність прихованих змінних), тому його калібрування простіше.
  5. Для державного простору в статистичному співтоваристві є менше знань та програмного забезпечення громади, ніж для ARIMA.

1
Чи знаєте ви будь-який приклад в реальному масштабі / промисловому застосуванні, в якому фільтр Кальмана працює краще, ніж проста ковзаюча середня величина або згладжування exp при прогнозуванні часових рядів, якщо немає чіткої базової моделі (тому виключайте моделі, що випливають із законів фізики) ? У більшості статей продуктивність виглядає дуже схоже (і академічні праці мають позитивний ухил від продуктивності нових, оригінальних, складних моделей). У більшості випадків немає відомостей про правильну модель лінійної системи та коваріації тощо, необхідні для введення фільтра Кламана ...
Mannaggia

Це правда. Ще я маю приклад у своїй практиці. Якщо у вас є якась модель загального призначення (наприклад, лінійна регресія), ви можете зробити його параметри стану фільтра Калмана та оцінити їх динамічно. Звичайно, ви також можете просто доопрацювати свою модель на кожному етапі, але це набагато дорожче обчислювально, ніж одне оновлення KF. Якщо в реальності параметри дійсно змінюються з часом або якщо модель не відповідає точно реальному процесу - це може допомогти краще підходити до вашої моделі та покращувати її продуктивність.
Кочеде

1
Я не можу знайти жодних посилань на те, що ARIMA є універсальним універсальним апроксиматором, окрім вашого посту. Не могли б ви вказати мені одного?
Skander H.

2
@ Алекс Це випливає з теореми про декомпозицію Волда, наприклад, дивіться тут phdeconomics.sssup.it/documents/Lesson11.pdf
Кочеде

1
Чи можу я сказати, що модель простору станів має більш загальну форму, і ARIMA охоплює лише її підмножину?
Vickyyy

3

Дякую @IrishStat за кілька дуже хороших запитань у коментарях, відповідь на ваші запитання занадто довга, щоб опублікувати коментар, тому я публікую це як відповідь (на жаль, не на оригінальне питання теми).

Питання були: " Чи чітко визначається зміна тенденції часу та повідомляються моменти часу, коли зміниться тренд? Чи розрізняє зміни параметрів та зміни дисперсії помилок і повідомляє про це? Чи виявляє та повідомляє про конкретні ефекти відведення та відставання навколо користувача задані предиктори? Чи можна вказати мінімальну кількість значень у групі до оголошення рівня зрушення рівня / місцевої тенденції часу? Чи розрізняє вона необхідність перетворення потужності та детерміновані моменти часу, коли змінюється відхилення помилок? "

  1. Визначте зміни тренду - так, природніше, ви можете зробити нахил тренду однією зі змінних стану, і KF буде постійно оцінювати поточний нахил. Потім ви можете вирішити, яка зміна нахилу достатньо велика для вас. Крім того, якщо нахил не варіює у вашій моделі простору стану, ви можете протестувати залишки під час фільтрації стандартним способом, щоб побачити, коли є якась розрив вашої моделі.
  2. Розрізняйте зміни параметрів та зміни дисперсії помилок - так, дисперсія може бути одним із параметрів (станів), тоді, який параметр, швидше за все, змінився, залежить від ймовірності вашої моделі та того, наскільки конкретно змінилися дані.
  3. Виявити відносини "відведення" / "відставання" - не впевнені в цьому, ви, безумовно, можете включити будь-які відсталі вари в модель простір стану; для вибору логів ви можете протестувати залишки моделей з різними відставаннями, або, у простому випадку, просто використовувати перехресну корелограму перед формулюванням моделі.
  4. Вкажіть порогову кількість спостережень для вирішення зміни тенденції - так, як у 1), оскільки фільтрація проводиться рекурсивно, ви можете не тільки змінити похилий поріг, який досить великий для вас, але і # спостереження для впевненості. Але краще - KF виробляє не тільки оцінку схилу, але й смуги довіри для цієї оцінки, тож ви можете вирішити, що нахил значно змінився, коли його довірча межа переступила деякий поріг.
  5. Розрізняти потребу в силовій трансформації та потребу в більшій дисперсії - не впевнений, що я правильно розумію, але я думаю, що ви можете перевірити залишки під час фільтрації, щоб побачити, чи вони все ще нормальні зі значно більшою дисперсією чи вони отримали певний перекіс, так що вам потрібно змінити ваша модель. Краще - ви можете зробити його двійковим станом комутації вашої моделі, тоді KF оцінить це автоматично, виходячи з ймовірності. У цьому випадку модель буде нелінійною, тому для фільтрації вам знадобиться UKF.

1

Фільтр Кальмана - це оптимальний лінійний квадратичний оцінювач, коли динаміка стану та помилки вимірювань відповідають так званим лінійним гауссовим припущенням ( http://wp.me/p491t5-PS ). Отже, доки ви знаєте свої динамічні та вимірювальні моделі, і вони слідують лінійним гауссовим припущенням, кращого оцінювача в класі лінійних квадратичних оцінок немає. Однак найпоширенішими причинами для "невдалих" програм Kalman Filter є:

  1. Неточне / некоректне знання динаміки стану та моделей вимірювань.

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

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

Це деякі найпоширеніші помилки / проблеми, які я бачив, працюючи з фільтром Kalman. В іншому випадку, якщо припущення ваших моделей справедливі, фільтр Kalman є оптимальним оцінювачем.


1

Можна звернутися до чудової книги байєсівських прогнозування та динамічних моделей (Harrison and West, 1997). Автори показують, що майже всі традиційні моделі часових рядів є окремими випадками загальної динамічної моделі. Вони також підкреслюють переваги. Можливо, однією з головних переваг є легкість, з якою ви можете інтегрувати багато моделей простору стану, просто розширивши вектор стану. Наприклад, ви можете легко інтегрувати регресори, сезонні фактори та авторегресивну складову в одну модель.


Привіт, чи можете ви детальніше зупинитися на "Ви можете, наприклад, легко інтегрувати регресори, сезонні фактори та авторегресивну складову в єдину модель." Виправте мене, якщо я помиляюся, чи означає це для ARIMA вам потрібно зробити часовий ряд стаціонарним, але для моделі простору стану вам потрібно лише змінити кількість змінних стану?
Vickyyy

@ Vickyyy На відміну від ARIMA, моделі простору станів не передбачають стаціонарності. Ви можете просто додати до нього багато компонентів і представити їх в одному векторі стану.
Ансельмо

1

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

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

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

В обох випадках варто вартувати додаткових деталей / знань, але це може стати перешкодою для прийняття.

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