DLM круті, але вони не такі прості, як, скажімо, ARIMA або інші методи. В інших методах ви підключаєте свої дані, а потім налаштовуєте деякі параметри алгоритму, можливо, посилаючись на різні діагностики для керівництва вашими налаштуваннями.
За допомогою DLM ви створюєте космічну машину стану, яка складається з декількох матриць, які в основному реалізують щось на зразок прихованої моделі Маркова. Деякі пакети ( sspir
я думаю, серед інших) очікують, що ви розумієте поняття і те, що роблять матриці. Я настійно рекомендую почати з dlm
пакету, і як рекомендує @RockScience, пройдіться по віньєтці.
По dlm
суті ви збираєтесь зробити кілька кроків:
Які компоненти описують мою серію? Тенденція? Сезонність? Екзогенні змінні? Ви будете використовувати dlm
такі інструменти, як dlmModPoly
реалізація цих компонентів, використовуючи +
оператор, щоб об'єднати їх в одну модель.
Створіть підпрограму R, яка приймає скільки завгодно параметрів, необхідних для цієї моделі, створює компоненти з цими параметрами, потім додає їх разом і повертає отриману модель.
Використовуйте dlmMLE
для пошуку / оптимізації для пошуку відповідних параметрів (використовуючи MLE, який в основному є оптимізацією, із підводними каменами, які можуть виникнути при оптимізації). dlmMLE
кілька разів викликає вашу підпрограму R з параметрами-кандидатами для створення моделей, а потім тестує їх.
Створіть остаточну модель, використовуючи створену підпрограму R плюс параметри, знайдені на кроці 3.
Фільтруйте свої дані за допомогою dlmFilter
, а потім, можливо, згладжуйте dlmSmooth
.
Якщо ви використовуєте dlmModReg
або робите щось, що спричиняє наявність у моделі параметрів часового варіанту, ви не можете використовувати dlmForecast
для прогнозування своєї серії. Якщо ви закінчите модель з часовим варіантом, ви хочете заповнити свої вхідні дані з NA та дозволити dlmFilter
заповнити НС для вас (прогноз поганої людини), оскільки dlmForecast
він не працює з різними параметрами часу.
Якщо ви хочете вивчити компоненти окремо (скажімо тенденцію, окремо від сезонних), вам потрібно буде зрозуміти матриці та що в кожному стовпці, а також трохи зрозуміти, як dlm
їх поєднувати (замовити питання!).
Є ще один пакунок, ім'я якого уникає мене, який намагається створити передню частину, яка може використовувати декілька цих пакетів (у тому числі dlm
як зворотній). На жаль, я ніколи не змушував його працювати добре, але це може бути я просто.
Я дуже рекомендую отримати книгу на DLM. Я отримав пару з них і багато грав з тим, dlm
щоб дістатися до місця, де я є, і я ніяк не експерт.