единица 4 / 11

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

Печалби:

  • Разбиране на концепции за времеви редове като тенденция, сезонност, цикъл и стационарност с подкрепата на изкуствен интелект и способност за правилно анализиране на серия
  • Възможност за инсталиране на ARIMA, ETS и прости бенчмарк модели в изкуствения интелект като код, създаване на прогнози и оценката им с бектест
  • Да можеш да разбереш крехкостта на прогнозата в лицето на обхват на несигурност, лимит на модела и структурно прекъсване и да поддържаш, че отговорността за прогнозата остава на икономиста.

Езикът на икономиката е времето. Инфлация, растеж, безработица, обменни курсове - всички те са серии, които текат във времето и едно от нещата, които най-често питат икономистът, е "и какво ще се случи след това?" е въпросът. В тази част ще използваме изкуствен интелект, за да разберем концепциите за времеви редове, да изградим код на модела и да създадем прогнози. Но нека изясним рамката от самото начало: Прогнозата не е пророчество, а условна прогноза при несигурност и отговорността е на икономиста. AI може да ви напише ARIMA код за минути; Но човешкото същество е това, което решава дали тази прогноза е разумна или не и дали ще се срине в лицето на структурен срив.

Компоненти на времеви редове

Помага да се мисли за всяка икономическа серия, като се раздели на четири части:

  • Тренд (тенденция). Дългосрочна посока; като пътя на растеж на икономиката.
  • Сезонност. Модел, който се повтаря редовно през цялата година; Туризмът се увеличава през лятото, търговията на дребно се увеличава през декември.
  • Цикъл (конюнктура). По-дълъг от сезона, нередовни възходи и спадове; периоди на разширяване и свиване.
  • Непостоянен/шум. Необяснима, случайна флуктуация.

Преди да се направи оценка на серия, е необходимо да се разложат тези компоненти. Тъй като гледането на суровата поредица и казването „тя пада“ може да бъде подвеждащо: може би просто сте в сезонно дъно.

Съществува и концепцията за стационарност: статистическите свойства (средна стойност, дисперсия) на серия не се променят с времето. Повечето икономически серии не са стационарни (постоянно нарастващи); Много модели изискват диференциране (изваждане на един период от друг) или стационаризиране с логаритми преди изграждане. AI препоръчва тези стъпки, но знанието защо са необходими те ви предпазва.

Съвет: Винаги начертавайте и разлагайте серията преди прогнозиране. Очевиден структурен срив (напр. криза или валутна реформа) ще заблуди дори и най-напредналия модел. Диаграмата е най-евтиният диагностичен инструмент.

Модели: от прости до сложни, но първо еталон

Златното правило при прогнозиране на времеви редове: винаги започвайте с прост сравнителен модел. Най-простата прогноза е „наивната прогноза“: утре ще бъде равна на днес (или сезонна наивна: този месец е равен на същия месец на миналата година). Ако сложен модел не може да победи тази наивна прогноза, сложността е безсмислена.

След това често използвани методи:

  • ETS / Експоненциално изглаждане. Семейство, което смекчава нивото, тенденцията и сезонността, като ги претегля.
  • ОБАЖДАНЕ. Класическият модел, съчетаващ авторегресивни (базирани на минали стойности) и подвижни средни компоненти; сезонна версия SARIMA.
  • Базирани на регресия/обяснителни модели. Обяснение на променлива с други показатели (напр. търсене по доход и цена).

AI може да кодира всичко това в statsmodels (библиотека на Python). Вашата задача е да избирате и валидирате модели.

Backtest: тест за прогнозиране

Това не означава нищо, ако моделът "пасва добре" с исторически данни; Достатъчно гъвкав, за да пасне на всеки модел (това се нарича свръхобувка). Истинският въпрос: колко добре моделът предвижда периоди, които не е виждал? За да измерите това, правите бектестинг: разделяте данните на дадена дата, обучавате модела с предишната част, карате го да предскаже следващата част „като че ли е бъдещето“ и я сравнявате с реалността. Измерванията на грешката (например MAE — средна абсолютна грешка или RMSE — средна квадратична грешка) ви позволяват да сравните модела с еталонния показател.

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

Несигурност: диапазон, не точкова оценка

Едно-единствено число („инфлацията ще бъде 24% до края на годината“) излъчва фалшива сигурност. Честната оценка включва диапазон и вероятност: "в диапазона 21-27 процента, централния сценарий е 24 процента". Несигурността на прогнозата се изразява в доверителните интервали, произведени от модела; но реалната несигурност е по-голяма от това, тъй като предположенията на модела също може да са грешни. Структурно прекъсване (промяна на политиката, външен шок) е най-големият риск, който моделът не може да види.

три мини калъфа

Случай 1 — Неуспешно надминаване на бенчмарка. Един анализатор накара AI да изгради комплекс SARIMA за месечни продажби на дребно. При бектеста средната абсолютна грешка на модела беше по-лоша от сезонната наивна прогноза, според която „този месец е равен на същия месец миналата година“. Анализаторът изостави сложния модел; Той взе за основа наивното предположение и добави експертна корекция. Простотата печели.

Случай 2 — Структурно прекъсване. Институция е използвала инфлационния модел, който е обучила с данни преди шока на валутния курс за периода след шока. Моделът силно подценява инфлацията, тъй като приема динамиката от миналия спокоен период. Урок: моделът приема света, в който е обучен; Когато светът се промени, предсказанието се срива. Ако икономистът погледнеше графиката, щеше да види прекъсването.

Случай 3 — Честност на диапазона. Икономист представи прогнозата си за растеж в края на годината на ръководството не като една цифра, а като "между 3,0-4,2 процента, това са основните предположения." В края на годината реализацията е 3,6 на сто; Беше в групата. Ако беше дал едно-единствено число, можеше да бъде етикетиран като „грешен“; диапазонът и предположенията бяха едновременно честни и поддържаха доверие.

Таблица за избор на модел

Статус

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

бележка

Всяко предположение

Наивен/сезонен наивен бенчмарк

Основата за победа

Тенденция + сезонност, плосък

ETS (експоненциално изглаждане)

Лесен за инсталиране и коментиране

Автокорелирани серии

(S)ARIMA

Има нужда от стабилизация

Има обяснителна променлива

Базиран на регресия

Предсказателите на бъдещето също трябва

Съмнение за структурно счупване

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

Чистият модел не е достатъчен

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

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

Начертайте тази месечна серия [серия], след което я разделете на тренд/сезонност/остатъчни компоненти (statsmodels). Проверете дали е неподвижен (тест на ADF) и, ако е необходимо, обяснете коя трансформация (дневник, разлика) препоръчвате. Маркирайте, ако има видимо структурно прекъсване в диаграмата.

2) Сравнение на бенчмарк + модел:

Първо създайте сезонна наивна сравнителна прогноза за тази серия. След това настройте ETS и SARIMA. Сравнете и трите въз основа на MAE и RMSE с бектест (тестване през последните 12 месеца). Поставете резултатите в таблица и ясно посочете кой модел надмина бенчмарка.

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

Прогнозирайте следващите 6 периода за избрания от мен модел и дайте 80%/95% доверителни интервали. Представете прогнозата като диапазон, а не като едно число. Пояснете, че този диапазон покрива САМО несигурността на модела, а не риска от структурно счупване/външен удар.

4) Отчитане на бектеста:

Интерпретирайте тези резултати от бектест [таблица]. Моделът действително ли надминава бенчмарка или разликата е статистически незначима? Посочете в кои периоди вашият модел е допуснал най-много грешки и попитайте възможната икономическа причина за това (криза, сезонна промяна).

Слаба подкана / Силна подкана

Слаба подкана:

Познайте тази серия.

Изкуственият интелект изгражда произволен модел, не прави бектест, дава нечетно число; Не знаете дали моделът работи или не.

Мощна подкана:

Първо разложете текущата месечна инфлационна серия и сканирайте за прекъсвания. Backtest ETS и SARIMA през последните 12 месеца спрямо сезонен наивен бенчмарк, сравнете с MAE. Изберете модела, който надминава бенчмарка, дайте прогноза за 6 месеца напред и поставете диапазон от 80%. Напишете риска от счупване на конструкцията като отделно предупреждение. Показване на кода за всяка стъпка и обобщените числа, които мога да проверя ръчно.

Често срещани грешки

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

В обобщение

Прогнозирането на времевите редове се извършва чрез разделяне на редове на неговите компоненти, превръщането им в стационарни, установяване на прост бенчмарк, сравняване на моделите чрез бектест и представяне на резултата честно с диапазона на несигурност. Изкуственият интелект бързо генерира кода за всички тези стъпки; Но отговорността за избора на модел, преценката за структурни прекъсвания и прогнозирането е на икономиста. Предсказанието не е пророчество, а условно и несигурно предсказание.

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

Изберете месечна икономическа серия (напр. индекс на индустриалното производство). Отделете и сканирайте за пробиви с 1-вия шаблон, направете бектест на ETS/SARIMA спрямо сезонния наивен бенчмарк с 2-рия шаблон, създайте прогноза за 6-месечен диапазон напред с 3-тия шаблон. Обърнете внимание дали вашият модел действително надхвърля бенчмарка и маркирайте всички структурни прекъсвания, които виждате.

контролен списък

  • [ ] Начертах серията и я диагностицирах по отношение на тенденция/сезонност/пробив.
  • [ ] Приложих стационаризация (дневник/разлика), ако е необходимо и знам причината.
  • [ ] Настроих прост бенчмарк и сравних сложния модел с него.
  • [ ] Оцених модела само в периодите, когато не беше в обучение (backtest).
  • [ ] Представих оценката с диапазон на несигурност, а не с едно число.
  • [ ] Споменах риска от структурно счупване/външен удар като отделно предупреждение.
  • [ ] Поддържах, че отговорността за прогнозата и окончателната преценка е моя.