Основи часових рядів

Складність: Середній Час читання: 12 хвилин

Чим часові ряди особливі

Часовий ряд - це просто послідовність точок даних, зібраних протягом часу: щоденні ціни акцій, щомісячні обсяги продажів, погодинні показники температури або щорічна чисельність населення. Що робить часові ряди відмінними від інших типів даних - це те, що порядок має значення. Кожне спостереження пов'язане з тими, що перед ним та після нього. Завтрашня температура пов'язана з сьогоднішньою. Дохід цього місяця залежить від минулого.

Ця часова залежність порушує ключове припущення більшості стандартних статистичних методів, які вимагають незалежності спостережень. Не можна просто застосувати t-тест або звичайну регресію до часових рядів, не враховуючи факту, що сусідні точки корельовані. Аналіз часових рядів надає спеціалізовані інструменти, розроблені саме для таких даних.

2 4 6 8 10 12 120 140 160 180

Діаграма розсіювання вище показує щомісячні дані продажів за рік. Навіть у цьому короткому ряду видно загальний висхідний рух з часом. Виявлення таких закономірностей - перший крок в аналізі часових рядів.

Тренди: Довгостроковий напрямок

Тренд - це довгостроковий висхідний або низхідний рух у часовому ряді. Якщо дохід компанії стабільно зростав протягом п'яти років, це зростання і є трендом. Тренди можуть бути лінійними (стабільне зростання на фіксовану величину за кожен період) або нелінійними (зростання, що прискорюється або уповільнюється з часом).

Виявлення тренду допомагає зрозуміти загальну картину та відокремити сигнал від шуму. Один поганий місяць на тлі висхідного тренду - це зовсім інше, ніж один поганий місяць на початку стійкого спаду. Аналітики часто «знімають тренд» з даних, видаляючи трендову компоненту, щоб краще вивчити залишкові закономірності - сезонність та випадкові коливання.

Сезонність: Повторювані закономірності

Сезонність означає регулярні, передбачувані закономірності, що повторюються через фіксований період. Роздрібні продажі зростають кожного грудня. Продажі морозива досягають піку влітку. Членство в спортзалах різко зростає у січні. Ці закономірності зумовлені календарними ефектами, погодою, святами чи культурними звичками.

5 10 15 20 80 100 120 140 160

Графік вище показує два роки даних з чітким сезонним підйомом посередині кожного року, що свідчить про літній пік. Зверніть увагу, що значення другого року трохи вищі за перший, що вказує на висхідний тренд у поєднанні із сезонністю. Розділення цих двох компонентів - одне з ключових завдань аналізу часових рядів, процес, що називається декомпозицією.

Сезонність відрізняється від циклу. Сезонні закономірності мають фіксований, відомий період (12 місяців, 7 днів, 4 квартали). Цикли - це довгострокові коливання без фіксованого періоду, як бізнес-цикли, що можуть тривати від трьох до десяти років. Обидва є реальними закономірностями, але сезонність більш передбачувана.

Ковзні середні: Згладжування шуму

Необроблені дані часових рядів часто зашумлені. Щоденні коливання можуть ускладнити бачення базової закономірності. Ковзне середнє згладжує дані, замінюючи кожну точку середнім значенням сусідніх точок. 7-денне ковзне середнє, наприклад, замінює значення кожного дня середнім 3 днів до нього, самого дня та 3 днів після.

Ковзні середні надзвичайно популярні, оскільки вони прості та ефективні. Фінансові аналітики використовують їх для виявлення трендів цін акцій. Епідеміологи використовують 7-денні ковзні середні для згладжування щоденних підрахунків випадків. Операційні команди використовують їх для виявлення змін у трафіку сайтів. Розмір вікна (скільки точок ви усереднюєте) контролює ступінь згладжування: ширше вікно дає більш гладку лінію, але повільніше реагує на реальні зміни.

Приклад

Під час пандемії щоденні підрахунки випадків різко коливалися через затримки у звітності (менше випадків повідомляється на вихідних, сплеск у понеділок). 7-денне ковзне середнє усуває цей ефект дня тижня та виявляє справжній тренд. Працівники охорони здоров'я покладаються на ковзні середні, а не щоденні підрахунки, для прийняття рішень, оскільки згладжені дані розповідають яснішу історію.

Автокореляція: Як сьогодні пов'язане з учора

Автокореляція вимірює, наскільки сильно часовий ряд корелює зі зсунутою версією самого себе. Якщо сьогоднішнє значення сильно пов'язане з учорашнім, ряд має високу автокореляцію при лагу 1. Якщо продажі цього тижня прогнозують продажі наступного, є автокореляція при лагу 1 у тижневих даних.

Автокореляція важлива з двох причин. По-перше, вона виявляє приховані закономірності. Якщо ряд демонструє високу автокореляцію при лагу 12 у місячних даних, це сильно свідчить про річну сезонну закономірність. По-друге, вона є критичним вхідним параметром для вибору правильної моделі прогнозування. Багато моделей часових рядів, наприклад ARIMA, побудовані безпосередньо на автокореляційній структурі даних.

Графік автокореляції (також званий корелограмою) показує кореляцію при кожному лагу. Значущі піки на цьому графіку вказують, які минулі точки часу містять корисну інформацію для прогнозування майбутнього. Якщо лише перші кілька лагів значущі та швидко згасають, ряд має короткострокову пам'ять. Якщо багато лагів значущі, ряд має далекосяжну залежність.

Прогнозування: Погляд у майбутнє

Кінцева мета багатьох аналізів часових рядів - прогнозування: використання історичних закономірностей для передбачення майбутніх значень. Прості методи включають екстраполяцію тренду та сезонної закономірності вперед. Більш складні методи, такі як експоненціальне згладжування, надають більшу вагу нещодавнім спостереженням, тоді як моделі ARIMA використовують автокореляційну структуру для генерування прогнозів.

Всі методи прогнозування поділяють базове припущення: закономірності, спостережувані в минулому, продовжаться в майбутньому. Це добре працює для короткострокових прогнозів, але стає дедалі менш надійним при більш далеких горизонтах. Жодна модель не передбачила пандемію 2020, і жоден метод часових рядів не передбачить раптовий ринковий шок. Прогнози завжди мають включати інтервали невизначеності, і чим далі в майбутнє ви прогнозуєте, тим ширшими мають бути ці інтервали.

Ключовий висновок

Дані часових рядів унікальні тим, що порядок спостережень має значення, а сусідні точки пов'язані. Три основні компоненти для пошуку: тренд (довгостроковий напрямок), сезонність (повторювані закономірності) та шум (випадкові коливання). Ковзні середні згладжують шум для виявлення закономірностей, а автокореляція показує, наскільки сильно минулі значення прогнозують майбутні. Ці основи є фундаментом для всього прогнозування часових рядів.