Единица 4 / 11

Анализ временных рядов и поддержка прогнозов

Прибыль:

  • Понимание таких концепций временных рядов, как тренд, сезонность, цикл и стационарность, при поддержке искусственного интеллекта и умение правильно анализировать ряды.
  • Возможность устанавливать ARIMA, ETS и простые эталонные модели в искусственный интеллект в виде кода, делать прогнозы и оценивать их с помощью бэктестинга.
  • Быть способным понять хрупкость прогноза перед лицом диапазона неопределенности, предела модели и структурного разрыва, а также утверждать, что ответственность за прогноз остается за экономистом.

Язык экономики – время. Инфляция, экономический рост, безработица, обменные курсы — все это ряды, которые текут во времени, и экономистов чаще всего спрашивают: «И что будет дальше?» вот в чем вопрос. В этом модуле мы будем использовать искусственный интеллект для понимания концепций временных рядов, построения кода модели и составления прогнозов. Но давайте с самого начала проясним рамки: прогноз — это не пророчество, а условное предсказание в условиях неопределенности, и ответственность лежит на экономисте. ИИ может написать вам код ARIMA за считанные минуты; Но именно человек решает, разумен ли этот прогноз или нет, и рухнет ли он перед лицом структурного перелома.

Компоненты временного ряда

Полезно подумать о любом экономическом ряде, разбив его на четыре части:

  • Тренд (тенденция). Долгосрочное направление; например, путь роста экономики.
  • Сезонность. Картина, которая регулярно повторяется в течение года; Летом увеличивается туризм, в декабре увеличивается розничная торговля.
  • Цикл (конъюнктура). Длиннее сезона, нерегулярные взлеты и падения; периоды расширения и сжатия.
  • Неустойчивость/шум. Необъяснимые, случайные колебания.

Прежде чем оценивать ряд, необходимо разложить эти составляющие. Потому что, глядя на необработанные данные и говоря: «он падает», можно ввести в заблуждение: возможно, вы просто находитесь в сезонном спаде.

Существует также концепция стационарности: статистические свойства (среднее значение, дисперсия) ряда не меняются с течением времени. Большинство экономических рядов не являются стационарными (постоянно растущими); Многие модели перед построением требуют дифференцирования (вычитания одного периода из другого) или стационаризации с помощью логарифмов. ИИ рекомендует эти шаги, но знание того, почему они необходимы, защитит вас.

Совет: всегда строите график и разлагаете ряд перед прогнозированием. Очевидный структурный сдвиг (например, кризис или денежная реформа) обманет даже самую продвинутую модель. Диаграмма является самым дешевым диагностическим инструментом.

Модели: от простого к сложному, но сначала эталон

Золотое правило прогнозирования временных рядов: всегда начинайте с простой эталонной модели. Самый простой прогноз — «наивный прогноз»: завтра будет равен сегодняшнему дню (или сезонный наивный: этот месяц равен тому же месяцу прошлого года). Если сложная модель не может превзойти это наивное предсказание, сложность бесполезна.

Далее часто используемые методы:

  • ETS/Экспоненциальное сглаживание. Семья, которая смягчает уровень, тенденции и сезонность, взвешивая их.
  • ЗВОНОК. Классическая модель, сочетающая авторегрессию (основанную на прошлых значениях) и компоненты скользящего среднего; сезонная версия SARIMA.
  • Регрессионные/объяснительные модели. Объяснение переменной с помощью других показателей (например, спроса по доходу и цене).

ИИ может закодировать все это в статистических моделях (библиотека Python). Ваша задача — выбирать и проверять модели.

Бэктест: тест прогнозирования

Ничего не значит, если модель «хорошо сочетается» с историческими данными; Достаточно гибкий, чтобы соответствовать любой модели (это называется переоснащением). Реальный вопрос: насколько хорошо модель предсказывает периоды, которых она не видела? Чтобы измерить это, вы проводите бэктестирование: вы разделяете данные по дате, обучаете модель предыдущей части, заставляете ее прогнозировать следующую часть «как если бы это было будущее» и сравниваете ее с реальностью. Меры погрешности (например, MAE — средняя абсолютная ошибка или RMSE — среднеквадратическая ошибка) позволяют сравнить модель с эталоном.

Внимание: не тренируйте модель на данных, которые вы оценили. Измеряйте успешность прогнозирования только в периоды, не используемые в обучении. В противном случае вы обманете себя; Модель получается великолепной на бумаге, но бесполезной на самом деле.

Неопределенность: диапазон, а не точечная оценка

Одна цифра («инфляция составит 24 процента к концу года») излучает ложную уверенность. Честная оценка включает в себя диапазон и вероятность: «в диапазоне 21–27 процентов центральный сценарий составляет 24 процента». Неопределенность прогноза выражается в доверительных интервалах, создаваемых моделью; но реальная неопределенность выше этой, поскольку предположения модели также могут быть неверными. Структурный сдвиг (изменение политики, внешний шок) — это самый большой риск, который не может увидеть модель.

три мини-кейса

Случай 1 — Не удалось превзойти эталон. Аналитик поручил ИИ построить комплекс SARIMA для ежемесячных розничных продаж. В ходе бэктеста средняя абсолютная ошибка модели была хуже, чем сезонный наивный прогноз, в котором говорилось, что «этот месяц равен тому же месяцу прошлого года». Аналитик отказался от сложной модели; Он взял за основу наивную догадку и добавил экспертную поправку. Простота побеждает.

Случай 2 — Структурный перелом. Учреждение использовало инфляционную модель, которую оно обучило на данных до шока обменного курса в период после шока. Модель сильно недооценила инфляцию, поскольку предполагала динамику прошлого спокойного периода. Урок: модель предполагает мир, в котором она обучается; Когда мир меняется, предсказания рушатся. Если бы экономист посмотрел на график, он бы увидел разрыв.

Случай 3 — Честность ассортимента. Экономист представил руководству свой прогноз роста на конец года не в виде одной цифры, а в виде «диапазона 3,0-4,2 процента, это основные предположения». По итогам года реализация составила 3,6 процента; Это было в группе. Если бы он назвал одно число, его могли бы назвать «неправильным»; Диапазон и предположения были честными и поддерживали доверие.

Таблица выбора модели

Статус

правильное начало

Примечание

Любая догадка

Наивный/сезонный наивный эталон

База, которую нужно победить

Тренд + сезонность, флэт

ETS (экспоненциальное сглаживание)

Легко установить и комментировать

Автокоррелированный ряд

(С)АРИМА

Нужна стабилизация

Есть объясняющая переменная

на основе регрессии

Предсказатели будущего также должны

Подозрение на структурный перелом

Модель + экспертная коррекция

Чистой модели недостаточно.

Четыре копируемых шаблона

1) Разбор и диагностика:

Постройте график этого ежемесячного ряда [серий], а затем разделите его на компоненты тренда/сезонности/остатка (статистические модели). Проверьте, является ли он стационарным (тест АПД) и при необходимости объясните, какое преобразование (логарифм, разность) вы рекомендуете. Отметьте, есть ли на диаграмме видимый структурный разрыв.

2) Бенчмарк + сравнение моделей:

Сначала создайте сезонный базовый прогноз для этого ряда. Затем создайте ETS и SARIMA. Сравните все три на основе MAE и RMSE с помощью бэктеста (тестирование за последние 12 месяцев). Сведите результаты в таблицу и четко укажите, какая модель превзошла эталон.

3) Оценка и диапазон неопределенности:

Спрогнозируйте следующие 6 периодов для выбранной мной модели и дайте доверительные интервалы 80%/95%. Представьте оценку как диапазон, а не как одно число. Дайте понять, что этот диапазон охватывает ТОЛЬКО неопределенность модели, а не риск структурного разрушения или внешнего шока.

4) Показания бэктеста:

Интерпретируйте эти результаты бэктеста (таблица). Действительно ли модель превосходит эталон или разница статистически незначима? Укажите, в какие периоды ваша модель допустила больше всего ошибок, и задайте вопрос о возможной экономической причине этого (кризис, сезонные изменения).

Слабая подсказка / Сильная подсказка

Слабая подсказка:

Угадайте эту серию.

Искусственный интеллект строит случайную модель, не проводит бэктестинг, выдает нечетное число; Вы не знаете, работает модель или нет.

Мощная подсказка:

Сначала разложите текущий ежемесячный ряд инфляции и найдите разрывы. Протестируйте ETS и SARIMA за последние 12 месяцев на основе сезонного наивного эталонного показателя и сравните с MAE. Выберите модель, которая превосходит эталон, дайте прогноз на 6 месяцев вперед и установите диапазон 80%. Напишите риск разрушения конструкции в отдельном предупреждении. Покажите код каждого шага и сводные номера, которые я могу проверить вручную.

Распространенные ошибки

  • Переход к сложной модели без установки тестов. Сложность не равна успеху.
  • Оценка модели на данных, на которых она обучалась. Принятие чрезмерной уступчивости за успех.
  • Выставление однобалльной оценки. Ложная уверенность; Требуются диапазон и предположения.
  • Игнорирование структурного разрыва. Слепо переносим динамику прошлого в будущее.
  • Пропуск стабилизации. Фальшивые отношения и искаженное предсказание.
  • Представление предсказания как пророчества. Скрытие неуверенности и ответственности.

В заключение

Прогнозирование временных рядов осуществляется путем разделения ряда на компоненты, установления его стационарности, установления простого эталона, сравнения моделей путем тестирования на исторических данных и честного представления результата с диапазоном неопределенности. Искусственный интеллект быстро генерирует код для всех этих шагов; Однако ответственность за выбор модели, оценку структурных сдвигов и прогнозирование лежит на экономистах. Предсказание – это не пророчество, а условное и неопределенное предсказание.

Задача приложения

Выберите ежемесячный экономический ряд (например, индекс промышленного производства). Разделите и просканируйте прорывы с помощью 1-го шаблона, протестируйте ETS/SARIMA на основе сезонного наивного эталонного показателя с помощью 2-го шаблона, создайте 6-месячный прогноз форвардного диапазона с помощью 3-го шаблона. Обратите внимание, действительно ли ваша модель соответствует эталону, и отметьте любые структурные нарушения, которые вы видите.

контрольный список

  • [ ] Я построил график ряда и диагностировал его с точки зрения тренда/сезонности/перелома.
  • [ ] При необходимости я применил стационаризацию (логарифм/разность) и знаю причину.
  • [ ] Я установил простой эталон и сравнил с ним сложную модель.
  • [ ] Я оценивал модель только в те периоды, когда она не находилась в обучении (бэктест).
  • [ ] Я представил оценку с диапазоном неопределенности, а не с одним числом.
  • [ ] В качестве отдельного предупреждения я упомянул риск структурного разрушения/внешнего шока.
  • [ ] Я утверждал, что ответственность за предсказание и окончательное решение лежит на мне.