Якщо метою вашої моделі є прогнозування та прогнозування, то коротка відповідь ТАК, але стаціонарність не повинна бути на рівнях.
Я поясню. Якщо згорнути прогноз до його найосновнішої форми, це буде видобуток інваріанта. Врахуйте це: ви не можете передбачити, що змінюється. Якщо я скажу вам, що завтра стане іншим, ніж сьогодні, в будь-якому уявному аспекті , ви не зможете скласти будь-який прогноз .
Лише тоді, коли ви зможете щось продовжити з сьогоднішнього дня на завтра, ви можете зробити будь-який прогноз. Наведу кілька прикладів.
- Ви знаєте, що розподіл середньої завтрашньої температури буде приблизно таким же, як сьогодні . У цьому випадку ви можете прийняти сьогоднішню температуру як передбачення на завтра, наївний прогнозх^t + 1= хт
- Ви спостерігаєте за автомобілем на відстані 10 милі за дорогою, що рухається зі швидкістю миль / год. Через хвилину це, ймовірно, буде близько милі 11 або 9. Якщо ви знаєте, що їдете в напрямку милі 11, то це буде близько милі 11. Враховуючи, що її швидкість і напрямок постійні . Зауважте, що розташування тут не є стаціонарним, лише швидкість. У цьому плані це аналогічно різницькій моделі на зразок ARIMA (p, 1, q) або моделі постійної тенденції, такі якv = 60хт∼ v t
- Ваш сусід п’яний щоп’ятниці. Він буде п'яний наступної п’ятниці? Так, поки він не змінить свою поведінку
- і так далі
У кожному випадку розумного прогнозу ми спочатку витягуємо з процесу щось постійне і поширюємо його на майбутнє. Отже, моя відповідь: так, часовий ряд повинен бути нерухомим, якщо дисперсія та середнє значення є інваріантами, які ви збираєтеся поширити в майбутнє з історії. Крім того, ви хочете, щоб відносини до регресорів були стабільними.
Просто визначте, що є інваріантом у вашій моделі, будь то середній рівень, швидкість зміни чи щось інше. Ці речі повинні залишатися однаковими і в майбутньому, якщо ви хочете, щоб ваша модель мала будь-яку силу прогнозування.
Приклад Холт Зимових
Фільтр Хольта Вінтерса згадувався в коментарях. Це популярний вибір для згладжування та прогнозування певних видів сезонних серій, і він може мати справу з нестаціонарними серіями. Зокрема, він може обробляти серії, де середній рівень лінійно зростає з часом. Іншими словами там, де схил стабільний . У моїй термінології нахил є однією з інваріантів, яку цей підхід витягує з серії. Давайте подивимося, як вона виходить з ладу, коли схил нестабільний.
У цьому сюжеті я демонструю детерміновані ряди з експоненціальним зростанням та сезонністю добавок. Іншими словами, схил з часом стає все крутішим:
Ви можете бачити, як фільтр, здається, дуже добре відповідає даним. Приталена лінія червоного кольору. Однак якщо ви спробуєте передбачити цей фільтр, він не вдається. Справжня лінія чорна, а червона, якщо вона обладнана синіми межею впевненості на наступному сюжеті:
Причину цього не вдалося легко зрозуміти, вивчивши рівняння моделі Хольта Вінтерса . Він витягує схил з минулого і поширюється на майбутнє. Це дуже добре спрацьовує, коли нахил стабільний, але коли він постійно зростає, фільтр не може тримати, це на крок позаду, і ефект накопичується у зростаючій помилці прогнозу.
R код:
t=1:150
a = 0.04
x=ts(exp(a*t)+sin(t/5)*sin(t/2),deltat = 1/12,start=0)
xt = window(x,0,99/12)
plot(xt)
(m <- HoltWinters(xt))
plot(m)
plot(fitted(m))
xp = window(x,8.33)
p <- predict(m, 50, prediction.interval = TRUE)
plot(m, p)
lines(xp,col="black")
У цьому прикладі ви можете покращити продуктивність фільтру, просто взявши журнал серії. Коли ви берете логарифм експоненціально зростаючих рядів, ви знову зробите його нахил стабільним, і даєте шанс цьому фільтру. Ось приклад:
R код:
t=1:150
a = 0.1
x=ts(exp(a*t)+sin(t/5)*sin(t/2),deltat = 1/12,start=0)
xt = window(log(x),0,99/12)
plot(xt)
(m <- HoltWinters(xt))
plot(m)
plot(fitted(m))
p <- predict(m, 50, prediction.interval = TRUE)
plot(m, exp(p))
xp = window(x,8.33)
lines(xp,col="black")