Прибыль:
- Понимание таких концепций временных рядов, как тренд, сезонность, цикл и стационарность, при поддержке искусственного интеллекта и умение правильно анализировать ряды.
- Возможность устанавливать 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-го шаблона. Обратите внимание, действительно ли ваша модель соответствует эталону, и отметьте любые структурные нарушения, которые вы видите.
контрольный список
- [ ] Я построил график ряда и диагностировал его с точки зрения тренда/сезонности/перелома.
- [ ] При необходимости я применил стационаризацию (логарифм/разность) и знаю причину.
- [ ] Я установил простой эталон и сравнил с ним сложную модель.
- [ ] Я оценивал модель только в те периоды, когда она не находилась в обучении (бэктест).
- [ ] Я представил оценку с диапазоном неопределенности, а не с одним числом.
- [ ] В качестве отдельного предупреждения я упомянул риск структурного разрушения/внешнего шока.
- [ ] Я утверждал, что ответственность за предсказание и окончательное решение лежит на мне.