Прибуток:
- Розуміння таких концепцій часових рядів, як тренд, сезонність, цикл і стаціонарність за допомогою штучного інтелекту та вміння правильно аналізувати ряди
- Можливість інсталювати ARIMA, ETS і прості моделі тестування в штучний інтелект у вигляді коду, створювати прогнози та оцінювати їх за допомогою ретестування
- Вміти розуміти крихкість прогнозу в умовах діапазону невизначеності, обмеження моделі та структурного розриву, а також стверджувати, що відповідальність за прогноз залишається за економістом.
Мова економіки – час. Інфляція, зростання, безробіття, обмінні курси — усе це ряди, які протікають у часі, і одна з речей, про яку найчастіше запитують економіста, — «а що буде далі?» це питання. У цьому розділі ми будемо використовувати штучний інтелект для розуміння концепцій часових рядів, створення коду моделі та створення прогнозів. Але давайте уточнимо рамки з самого початку: прогноз — це не пророцтво, а умовне передбачення в умовах невизначеності, і відповідальність лежить на економістах. AI може написати код ARIMA за лічені хвилини; Але саме людина вирішує, чи є це передбачення розумним чи ні, і чи зазнає воно краху внаслідок структурного розриву.
Компоненти часового ряду
Допоможе уявити будь-який економічний ряд, розбивши його на чотири частини:
- Тренд (тенденція). Довгостроковий напрямок; наприклад шлях зростання економіки.
- Сезонність. Візерунок, який регулярно повторюється протягом року; Туризм зростає влітку, роздрібна торгівля зростає в грудні.
- Цикл (кон'юнктура). Довший за сезон, нерегулярні підйоми та падіння; періоди розширення і звуження.
- Непостійний/шум. Незрозуміле, випадкове коливання.
Перш ніж оцінити ряд, необхідно розкласти ці компоненти. Тому що дивитися на необроблений серіал і говорити «воно падає» може ввести в оману: можливо, ви просто в сезонному кориті.
Існує також поняття стаціонарності: статистичні властивості (середнє значення, дисперсія) ряду не змінюються з часом. Більшість економічних рядів не стаціонарні (постійно зростають); Багато моделей вимагають розрізнення (віднімання одного періоду з іншого) або стаціонарізації за допомогою логарифмів перед побудовою. AI рекомендує ці кроки, але знання, навіщо вони потрібні, захистить вас.
Порада: завжди будуйте та розкладайте ряд перед прогнозуванням. Очевидний структурний злам (наприклад, криза чи валютна реформа) введе в оману навіть найдосконалішу модель. Діаграма є найдешевшим діагностичним засобом.
Моделі: від простих до складних, але спочатку еталон
Золоте правило прогнозування часових рядів: завжди починайте з простої порівняльної моделі. Найпростішим прогнозом є «наївний прогноз»: завтра буде дорівнює сьогоднішньому (або сезонний наївний: цей місяць дорівнює тому ж місяцю минулого року). Якщо складна модель не може перемогти це наївне передбачення, складність марна.
Тоді часто використовувані методи:
- ETS / Експоненціальне згладжування. Сімейство, яке пом’якшує рівень, тенденцію та сезонність, зважуючи їх.
- ДЗВОНИК. Класична модель, що поєднує компоненти авторегресії (на основі минулих значень) і ковзного середнього; сезонний варіант SARIMA.
- Регресійні/пояснювальні моделі. Пояснення змінної за допомогою інших показників (наприклад, попит за доходом і ціною).
ШІ може кодувати все це в statsmodels (бібліотека Python). Ваше завдання — вибрати та перевірити моделі.
Backtest: перевірка передбачення
Це нічого не означає, якщо модель «гарно підходить» до історичних даних; Достатньо гнучкий, щоб підходити до будь-якої моделі (це називається переобладнанням). Справжнє питання: наскільки добре модель прогнозує періоди, яких вона не бачила? Щоб виміряти це, ви проводите ретестування: ви розділяєте дані за певною датою, тренуєте модель із попередньою частиною, змушуєте її передбачити наступну частину, «якби це було майбутнє», і порівнюєте її з реальністю. Показники похибок (наприклад, MAE — середня абсолютна похибка або RMSE — середньоквадратична похибка) дозволяють порівняти модель із еталонним тестом.
Застереження: не навчайте модель за даними, які ви оцінили. Вимірюйте успішність передбачення лише в періоди, які не використовувалися в навчанні. Інакше ви обдурите себе; Модель виходить чудовою на папері, але марною в реальності.
Невизначеність: діапазон, а не точкова оцінка
Єдина цифра («до кінця року інфляція становитиме 24 відсотки») вселяє помилкову впевненість. Чесна оцінка включає діапазон і ймовірність: «у діапазоні 21-27 відсотків центральний сценарій становить 24 відсотки». Невизначеність прогнозу виражається в довірчих інтервалах, створених моделлю; але реальна невизначеність є більшою, ніж це, оскільки припущення моделі також можуть бути неправильними. Структурний злам (зміна політики, зовнішній шок) є найбільшим ризиком, який модель не бачить.
три міні-чохла
Випадок 1 — не вдалося подолати еталон. Аналітик змусив AI побудувати комплекс SARIMA для щомісячних роздрібних продажів. Під час попереднього тестування середня абсолютна похибка моделі була гіршою, ніж сезонний наївний прогноз, згідно з яким «цей місяць дорівнює тому ж місяцю минулого року». Аналітик відмовився від комплексної моделі; Він взяв за основу наївний здогад і додав експертну поправку. Перемагає простота.
Випадок 2 — Структурний розрив. Установа використовувала модель інфляції, яку вона навчила з даними до шоку обмінного курсу за період після шоку. Модель сильно недооцінила інфляцію, оскільки передбачала динаміку минулого спокійного періоду. Урок: модель передбачає світ, в якому вона навчається; Коли світ змінюється, передбачення руйнується. Якби економіст подивився на графік, він побачив би розрив.
Кейс 3 — Чесність асортименту. Економіст представив керівництву свій прогноз зростання на кінець року не як одну цифру, а як «діапазон 3,0-4,2 відсотка, це основні припущення». На кінець року реалізація склала 3,6 відсотка; Це було в гурті. Якби він назвав одну цифру, його могли б позначити як «неправильного»; діапазон і припущення були чесними та підтримували довіру.
Таблиця вибору моделі
Статус
правильний старт
примітка
Кожна здогадка
Наївний / сезонний наївний контрольний показник
Основа для збивання
Тренд + сезонність, флет
ETS (експоненціальне згладжування)
Легко встановити та коментувати
Автокорельований ряд
(S)ARIMA
Потребує стабілізації
Існує пояснювальна змінна
На основі регресії
Провісники майбутнього також повинні
Підозра на структурний злам
Модель + експертна корекція
Чистої моделі недостатньо
Чотири шаблони, які можна копіювати
1) Розбір і діагностика:
Побудуйте цей місячний ряд [series], а потім розділіть його на тренд/сезонність/залишкові компоненти (statsmodels). Перевірте, чи він нерухомий (тест ADF) і, якщо необхідно, поясніть, яке перетворення (логарифм, різницю) ви рекомендуєте. Позначте, чи є на діаграмі видимий структурний розрив.
2) Еталон + порівняння моделі:
Спочатку встановіть сезонний наївний еталонний прогноз для цієї серії. Потім налаштуйте ETS і SARIMA. Порівняйте всі три на основі MAE і RMSE за допомогою тесту (тестування за останні 12 місяців). Зведіть результати в таблицю та чітко вкажіть, яка модель перевершила тест.
3) Оцінка та діапазон невизначеності:
Спрогнозуйте наступні 6 періодів для обраної мною моделі та вкажіть довірчі інтервали 80%/95%. Подайте оцінку як діапазон, а не як одне число. Поясніть, що цей діапазон охоплює ЛИШЕ невизначеність моделі, а не ризик пошкодження конструкції/зовнішнього удару.
4) Тестове зчитування:
Інтерпретуйте ці результати тестування [таблиця]. Чи справді модель перевершує еталон, чи різниця є статистично незначущою? Вкажіть, у які періоди ваша модель допускала найбільше помилок, і поставте запитання щодо можливої економічної причини цього (криза, сезонні зміни).
Слабка підказка / Сильна підказка
Слабка підказка:
Відгадайте цю серію.
Штучний інтелект будує випадкову модель, не тестує, дає непарне число; Ви не знаєте, працює модель чи ні.
Потужна підказка:
Спочатку розкладіть поточний місячний ряд інфляції та скануйте перерви. Перевірте ETS і SARIMA за останні 12 місяців у порівнянні з сезонним базовим показником, порівняйте з MAE. Виберіть модель, яка перевищує еталон, дайте прогноз на 6 місяців і встановіть діапазон 80%. Напишіть ризик пошкодження конструкції як окреме попередження. Показати код для кожного кроку та підсумкові числа, які я можу перевірити вручну.
Поширені помилки
- Перехід до складної моделі без налаштування тестів. Складність не дорівнює успіху.
- Оцінка моделі на основі даних, на яких вона навчалася. Помилково приймаючи надмірну поступливість за успіх.
- Виставлення однобальної оцінки. Хибна впевненість; необхідний діапазон і припущення.
- Ігнорування структурного розриву. Сліпо перенесення минулого в майбутнє.
- Пропуск стабілізації. Фальшиві стосунки та спотворене передбачення.
- Представляючи передбачення як пророцтво. Приховування невпевненості та відповідальності.
Підсумовуючи
Прогнозування часових рядів виконується шляхом поділу ряду на компоненти, стаціонарності, встановлення простого контрольного показника, порівняння моделей за допомогою ретроспективного тестування та чесного представлення результату з діапазоном невизначеності. Штучний інтелект швидко генерує код для всіх цих кроків; Але відповідальність за вибір моделі, судження про структурні порушення та прогнозування лежить на економістах. Передбачення - це не пророцтво, а умовне і непевне передбачення.
Аплікаційне завдання
Виберіть місячний економічний ряд (наприклад, індекс промислового виробництва). Відокремте та відскануйте прориви за допомогою 1-го шаблону, перевірте ETS/SARIMA на порівняння з сезонним наївним еталонним показником за допомогою 2-го шаблону, створіть 6-місячний прогноз діапазону за допомогою 3-го шаблону. Зверніть увагу, чи справді ваша модель перевершує еталон, і позначте будь-які структурні порушення, які ви бачите.
контрольний список
- [ ] Я побудував ряд і діагностував його з точки зору тенденції/сезонності/перерви.
- [ ] Я застосував стаціонарізацію (log/difference), якщо необхідно, і я знаю причину.
- [ ] Я встановив простий тест і порівняв із ним складну модель.
- [ ] Я оцінював модель лише в періоди, коли вона не була в навчанні (бектест).
- [ ] Я представив оцінку з діапазоном невизначеності, а не з одним числом.
- [ ] Я згадав структурний злам/ризик зовнішнього удару як окреме попередження.
- [ ] Я стверджував, що відповідальність за прогноз і остаточне судження лежить на мені.