Що може статися далі? Прогноз з ARIMA, автоматичним вибором і згладжуванням
Коротко
У картці «Як значення розвивається з часом?» під розкладом є розділ «Що може статися далі? (прогноз)». Без клацання нічого не обчислюється. Можна вибрати автоматичний вибір (Statable пропонує модель ARIMA), ARIMA з порядком, який ви обираєте самі, та експоненціальне згладжування (просте, з трендом, Holt-Winters адитивне або мультиплікативне). Результат спершу показує контрольний список, потім діаграму зі смугою 80% і 95%, таблицю прогнозу, модель, за автоматичного вибору п’ять найкращих моделей і тестовий період.
Коли прогноз заблоковано
- Якщо в ряді бракує значень, Statable не обчислює прогноз. Нічого не доповнює.
- Не за нерівних інтервалів, не за менш ніж 20 значень і не тоді, коли всі значення однакові.
- Автоматичний вибір працює до 600 значень. Понад це лишаються «Вибрати ARIMA самостійно» і згладжування.
Варіанти вибору
- Горизонт: за замовчуванням один період (12 для місяців), 5 без сезону. Щонайбільше два періоди і щонайбільше чверть ряду, щонайменше 1.
- Логарифмічна шкала (лише ARIMA, лише для значень більше 0): за замовчуванням увімкнена, якщо розклад вказує на мультиплікативну модель, тобто коливання зростають разом з рівнем. Прогноз і межі перетворюються назад; тоді прогноз є медіаною, а не середнім.
- Вибрати ARIMA самостійно: p, q, P і Q від 0 до 5, d до 2, D до 1. Сезонна частина (P, D, Q) працює лише з періодом від 2 до 24. Константа існує лише для d + D до 1 (середнє або дрейф).
- Згладжування: із сезоном лише за періоду 2 або більше та щонайменше двох періодів плюс одного значення; мультиплікативне лише для значень більше 0.
Як вибирає автоматичний вибір
Statable йде за Hyndman і Khandakar (2008). Спершу кількість різниць: d (від 0 до 2) за тестом KPSS (межа 0,463), D (0 або 1) за силою сезонності (межа 0,64). Потім підбирає всі моделі до p, q ≤ 2 із сезоном (до 3 без нього), P, Q ≤ 1 і p + q + P + Q ≤ 5, з константою і без неї, та впорядковує їх за AICc. Перша є пропозицією. Таблиця показує п’ять найкращих з ΔAICc. За періоду більше 24 або менш ніж трьох повних періодів автоматичний вибір ігнорує сезон.
Пастка: найменше AICc не є доказом
AICc порівнює лише ті моделі, які бачить. Якщо друга модель менш ніж на 2 вище (ΔAICc < 2), кілька моделей приблизно однаково добрі; тоді порівняйте прогнози («Обчислити цю модель» у таблиці). За менш ніж 50 значень вибір моделі невпевнений (Box і Jenkins). AICc не підходить для порівняння моделей з різними різницями.
Як читати результат
- Контрольний список: він іде перед числами. Кожне речення діє, якщо виконано його умову. Перше діє завжди: прогноз продовжує минуле і справджується лише тоді, коли умови лишаються тими самими.
- Діаграма й таблиця: лінія значень, пунктиром прогноз, зі смугою 80% і смугою 95%. Вертикальна лінія стоїть на останньому значенні. Смуги розширюються разом з горизонтом.
- Залишки: тест Ljung-Box перевіряє, чи помилки моделі досі пов’язані між собою. p < ,05 означає: модель не вловлює всю закономірність, а інтервали ненадійні.
- Тестовий період: останні значення (один період, до 5 без сезону) відкладаються, і та сама модель оцінюється знову за попередніми значеннями. Порівняння відбувається з простим правилом (останнє значення, із сезоном значення на один період раніше). Якщо модель не була кращою (RMSE однакове або більше), прогноз не дає виграшу. Якщо ряд закороткий, це повідомляє контрольний список.
- Нижня межа нижче 0 за самих лише додатних значень: модель не знає нижньої межі 0. Логарифмічна шкала цього уникає.
Умови та обмеження
- Рівні інтервали, без пропусків, щонайменше 20 значень. Краще понад 50.
- Прогноз виходить з того, що умови лишаються тими самими: без структурного зламу, без нового правила, без кризи. Модель не може цього знати.
- Statable не обробляє календарні ефекти (високосні роки, робочі дні), свята, пояснювальні ряди чи кілька сезонів.
- Інтервали згладжування (HoltWinters) є наближенням, особливо мультиплікативні.
Подання результату
Для щомісячних даних про пасажирів авіалій на логарифмічній шкалі оцінено ARIMA(0,1,1)(0,1,1)[12] (MA 1 = −,402, сезонний MA 1 = −,557; AICc = −483,21). Ljung-Box Q(24) = 26,45, df = 22, p = ,233. У 12-місячному тестовому періоді RMSE становило 18,59 проти 50,71 для простого правила. Прогноз на перший місяць: 450, інтервал 95% [419; 484].
Для фахівців
Усе обчислює R (лише stats, без додаткового пакета): arima (максимальна правдоподібність), predict для середнього й стандартної похибки, HoltWinters, stl для сили сезонності, Box.test. Вибір моделі відповідає forecast::auto.arima зі stepwise = FALSE і approximation = FALSE: на десяти рядах, кожен із логарифмом і без нього, усі 20 запусків дали ту саму модель, те саме AICc і той самий точковий прогноз.
Межі навмисно відрізняються від forecast: forecast обчислює σ² з поправкою на ступені свободи, Statable використовує stats::predict (σ² за методом максимальної правдоподібності).
Відмінності від SPSS
- Знак коефіцієнтів MA: R і Statable записують модель за Box і Jenkins; SPSS показує MA з протилежним знаком (пасажири авіалій: −,402 і −,557 проти ,402 і ,558).
- Стандартні похибки й межі: SPSS оцінює й обчислює дисперсію інакше. Приклад пасажири авіалій, перший місяць: Statable від 419 до 484, SPSS від 419 до 485. Приклад Nile, перший рік: від 541 до 1092 проти від 534 до 1098.
- Початкові значення згладжування: Nile з простим згладжуванням: Statable α = ,2466 і 805, SPSS α = ,248 і 804.
- Точкові прогнози збігаються з точністю до округлення (Nile з ARIMA(1,1,1) без константи: 816, 836, 840, 842, 842 в обох).
Джерела
Hyndman, R. J., & Khandakar, Y. (2008). Automatic time series forecasting: The forecast package for R. Journal of Statistical Software, 27(3).
Box, G. E. P., & Jenkins, G. M.: Time series analysis: Forecasting and control (Wiley).
Kwiatkowski, D., Phillips, P. C. B., Schmidt, P., & Shin, Y. (1992). Testing the null hypothesis of stationarity against the alternative of a unit root. Journal of Econometrics, 54, 159-178.
Типові приклади
- Зарахування на курс за місяць: скільки очікувати наступного семестру - і чи була модель у тестовому періоді кращою за «так само, як торік»?
- Щорічні вимірювання без сезону (наприклад, рівень води): згладжування або ARIMA без сезонної частини, з останніми п’ятьма роками як тестовим періодом.