Як інтерпретувати результати TBATS моделі та діагностику моделі


11

Я отримав дані про півгодинну попит, що є багатосезонним часовим рядом. Я використовував tbatsв forecastпакеті в R, і отримав результати , як це:

TBATS(1, {5,4}, 0.838, {<48,6>, <336,6>, <17520,5>}) 

Чи означає це, що в ряді необов’язково використовувати перетворення Box-Cox, а термін помилки - ARMA (5, 4), а терміни 6, 6 і 5 використовуються для пояснення сезонності? Що означає цей демпфірований параметр 0.8383, чи він також для перетворення?

Далі йде схема розкладання моделі:

введіть тут опис зображення

Мені цікаво, що робити levelі slopeрозповісти про модель. "Схил" говорить про тенденцію, але що робити level? Як отримати більш чітке сюжет для session 1і session 2, які є щоденними і щотижневим сезонним відповідно.

Я також знаю, як робити діагностику моделі для tbatsоцінки моделі, за винятком значення RMSE. Нормальний спосіб - перевірити, чи є помилка білим шумом, але тут помилка повинна бути серії ARMA. Я малюю 'acf' і 'pacf' помилки, і я не думаю, що це схоже на ARMA (5,4). Чи означає це, що моя модель непогана?

acf(resid(model1),lag.max = 1000)
pacf(resid(model1),lag.max=1000)

введіть тут опис зображення

Остаточне запитання RMSEобчислюється за допомогою встановленого значення та справжнього значення. Що робити, якщо я використовую передбачуване значення fc1.week$meanта справжнє значення для оцінки моделі, вона все ще називається RMSE? Або є інша назва цього?

fc1.week <-forecast(model1,h=48*7)
fc1.week.demand<-fc1.week$mean

Відповіді:


8

На сторінці довідки ?tbatsми знаходимо, що:

Встановлена ​​модель позначена TBATS (omega, p, q, phi,, ...,), де omega - параметр Box-Cox, а phi - параметр демпфування; помилка моделюється як ARMA (p, q) процес і m1, ..., mJ перераховують сезонні періоди, які використовуються в моделі, і k1, ..., kJ - відповідна кількість термінів Фур'є, що використовуються для кожної сезонності.

Так:

  • omega = 1, що означає, що дійсно не було трансформації Box-Cox .
  • phi = 0,838, це означає, що тенденція зменшиться. (Якщо чесно, я не знаю, чи відповідає або загальному загасанню. Найкраще трохи пограти з імітованими даними.) Дивіться параметр для .ϕ=0ϕ=1use.damped.trendtbats()
  • У вас є три різні сезонні цикли: один довжиною 48 = 24 * 2 (щодня), один довжиною 336 = 7 * 24 * 2 (щотижня) і один довжиною 17520 = 365 * 24 * 2 (щорічно). tbatsпідходить перший, використовуючи шість термінів Фур'є, другий знову - шість, останній - п'ять.

Оригінальний документ TBATS від De Livera, Hyndman & Snyder (2011, JASA ) , звичайно, корисний.

Далі:

  • "Рівень" - це локальний рівень часового ряду.
  • "Тенденція" - це локальна тенденція.

Вони аналогічні більш розповсюдженому розкладу тенденцій сезону з використанням низьких показників (STL) . Погляньте на stl()команду.

Щоб отримати більш чіткий графік для сезону1 та сезону2, ви можете ознайомитись із числовими значеннями окремих компонентів вашої моделі TBATS. Подивіться на str(tbats.components(model1))і summary(tbats.components(model1)). tbats.components()дає вам об'єкт із декількома часовими рядами ( mts), який по суті є матрицею - один із стовпців дасть вам кожен сезонний компонент.

residuals()повинен працювати так, як це працює скрізь у R; тобто він повинен повернути остаточні залишки. Це дійсно повинен бути білий шум, оскільки вони є залишками після застосування ARMA (5,4). Піки у Вашому ACF, здається, є регулярними - схоже, що є деяка сезонність. Чи можете ви вивести їх періодичність? (Це не дуже допомагає, що відставання підраховуються в кратні найдовший сезонний цикл.)

Нарешті, так, коренева середньоквадратична помилка, яка є загальним показником точності прогнозування точок , має таку саму абревіатуру поза вибіркою: RMSE.


1
Дуже дякую! Так, пік АКФ регулярний, один пік у 48 відстань. Проблема полягає в тому, що я вже включив у свій часовий ряд 48 як сезонні. Як ви зазвичай робите, щоб виправити залишок сезону? Що ще варто спробувати?
Жанні

1
Гул. На жаль, я не бачу способу змусити tbats()включати більше термінів Фур'є для конкретних сезонностей. Вибачте ...
Стефан Коласа
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.