Чому прогнозування часових рядів ламається на реальних даних
Прогноз на історичних даних сходиться майже ідеально, а на живому потоці розходиться вже в перші тижні. Причина зазвичай не в архітектурі моделі, а в природі самих даних: нестаціонарність ряду означає, що розподіл дохідностей і зв'язки між ознаками дрейфують.
Модель, навчена на спокійному тренді, переносить свої припущення в період високої волатильності й систематично помиляється саме на розворотах.
Друга за частотою причина — витік майбутніх даних у навчальну вибірку.
Нормування за всією історією, лаги, пораховані із зазиранням уперед, відбір ознак на повному наборі, склейка міток часу з різних часових поясів — усе це дає гарні метрики на відкладеній вибірці й повну непридатність у роботі.
Ловиться такий витік лише строгим часовим розбиттям і перевіркою, що на момент кожного прогнозу ознака була справді доступною.
Якість ознак вирішує більше, ніж вибір моделі. Макропоказники виходять із затримкою і переглядаються заднім числом, корпоративні події та новинний фон надходять нерегулярно, у джерел своя частота й свої пропуски.
Якщо ряди не вирівняні за часом і не позначено, що було відомо на момент прогнозу, навіть акуратна архітектура на кшталт Temporal Fusion Transformer починає підганятися під шум замість сигналу.
Зміна ринкового режиму, витік і запізнілі ознаки дають один результат: правдоподібна перевірка на історії та збитковий прогноз у реальності. Розбираємо, як це закривається — від розмітки часових вікон і відбору ознак до контролю дрейфу в експлуатації.
Що дає керована модель прогнозу: точність та інтервали
Точність прогнозу на довгому горизонті просідає не через брак даних, а тому що модель не розділяє короткостроковий шум і повільні режими ринку.
Temporal Fusion Transformer вирішує це явно: механізм уваги вибирає, на які ділянки історії опиратися для кожного кроку горизонту, а гейти відсікають ознаки, які на цьому кроці перестають працювати.
Помилка прогнозу на дальніх точках горизонту знижується помітніше, ніж на ближніх, — саме там класичні підходи розвалюються найшвидше.
Друга частина ефекту — інтервальна оцінка замість однієї цифри. Модель, навчена на квантильних втратах, віддає не точкове значення, а діапазон: обережний сценарій, медіану й оптимістичний.
Планування починає опиратися на ширину інтервалу, а не на «магічне» число, і замовник бачить, де прогноз упевнений, а де модель чесно говорить про невизначеність.
Це напряму змінює горизонт планування: рішення, які раніше ухвалювали на два кроки вперед, стають обґрунтованими на шість-вісім.
Стійкість моделі до аномальних днів — окрема метрика. Свята, технічні збої та викиди на історії зазвичай роздувають помилку, і прогноз доводиться відкидати.
Тут квантильна функція втрат і поділ ознак на статичні та динамічні дають менший розкид помилки на «брудних» днях без ручного чищення кожного ряду.
Ручні перерахунки відходять разом із цим. Раніше аналітик звіряв прогноз із фактом і правив цифру вручну; тепер перерахунок іде за розкладом, а втручання потрібне лише тоді, коли факт вийшов за межі інтервалу.
Помилка прогнозу, ширина інтервалу й частка виходів за його межі потрапляють у звіт як вимірювані величини — за ними видно, деградує модель чи тримає точність.
Часові ряди фінансових ринків: порівняння підходів до прогнозу
Вибір підходу визначається трьома властивостями ряду: горизонтом прогнозу, обсягом доступної історії та тим, наскільки часто змінюється режим ринку.
Стійка сезонність на короткому горизонті закривається класичною статистикою, а різнорідні сигнали — ціни, обсяги, макропоказники, календар подій — потребують моделі, яка сама зважує їхній внесок.
Ключова різниця між родинами — як вони працюють із пам'яттю. Статистичні моделі описують ряд формулою: вони надійні на малих вибірках і добре екстраполюють тренд, але не переносять зміну режиму.
Моделі з увагою самі вибирають, на які ділянки історії дивитися, тому тягнуть довгі залежності й мультигоризонтний прогноз — але потребують на порядок більше даних і акуратної регуляризації.
| Підхід | Коли підходить | Де впирається в обмеження |
|---|---|---|
| Статистичні моделі (ARIMA, ETS, GARCH) | Короткий горизонт, стабільна сезонність, мало історії | Не тримають нелінійність і режимні зсуви, зовнішні ознаки підключаються слабо |
| Градієнтний бустинг на лагах | Багато ознак, внутрішньоденні сигнали, табличні дані | Не бачить довгих залежностей і порядку в часі |
| Рекурентні мережі | Послідовності середньої довжини, одна-дві змінні | Згасаюча пам'ять, чутливість до структурних зсувів |
| Моделі з увагою | Різнорідні ряди, кілька горизонтів, крос-активи | Потрібен великий обсяг історії, ризик перенавчання на шумі |
| Гібрид: статистика + увага | Ряд із трендом і рідкісними сплесками | Складніше підтримувати й відтворювати базову лінію |
На практиці ми не вибираємо одну родину — рахуємо базову лінію статистикою й дивимося, чи дає модель з увагою приріст на відкладеному періоді за кожним горизонтом окремо. Якщо приросту немає, складна архітектура в продакшн не йде.
Як будується впровадження: аудит, навчання, приймання
Прогнозна модель — це не одне навчання на історії, а послідовність, де кожен крок опирається на попередній. Якщо ознака в реальному часі недоступна, точність на тесті виявиться фікцією. Тому ведемо роботу в сім етапів.
- Аудит історичних даних: повнота, пропуски, зміна режимів ринку, корпоративні події. Перевіряємо, що кожна ознака була відома на момент прогнозу, а не дописана заднім числом.
- Схема ознак: які ряди, лаги й календарні фактори входять у модель, для яких горизонтів і з якою гранулярністю рахуємо прогноз.
- Розбиття вибірки: навчальна частина — минуле, перевірна — відкладений період, якого модель не бачила. Перемішування за часом не допускаємо.
- Навчання моделі: Temporal Fusion Transformer із квантильними втратами — на виході не лише точковий прогноз, а й інтервал невизначеності.
- Перевірка на відкладеному періоді: метрики за кожним горизонтом, порівняння з базовими моделями й розбір випадків із максимальною помилкою.
- Приймання рішення: фіксуємо досягнуті метрики, пороги деградації, регламент перенавчання і порядок дій у разі збою.
- Передача в експлуатацію: розрахунок прогнозу на нових даних, звірка прогнозу з фактом, документація й навчання вашої команди.
Порядок етапів невипадковий: пропущений аудит даних повертається помилкою вже в експлуатації, коли модель упевнено помиляється на кожному кроці.
Що передаємо на руки: конфігурації, схеми, регламенти
Проєкт із прогнозування часових рядів вважаємо зданим не тоді, коли модель показує якість на відкладеному періоді, а коли ваша команда може запустити її, оновити й пояснити її поведінку без нас.
Тому передача — це не звіт, а пакет артефактів, кожен із яких закриває конкретний ризик експлуатації.
- Конфігурація моделі — архітектура, гіперпараметри, вікно навчання, фіксовані зерна генератора: навчання відтворюється на тій самій історії й дає той самий результат.
- Паспорт ознак — за кожним входом джерело, вікно, затримка появи, обробка пропусків і викидів, допустимий зсув розподілу.
- Схема потоків даних — шлях від джерел до вітрин, точки контролю якості, зони відповідальності та поведінка в разі недоступності джерела.
- Правила доступу — ролі, сервісні облікові записи, розділення середовищ; розрахунок прогнозів не має прав змінювати навчальні дані.
- Регламент моніторингу — метрики якості та стабільності, пороги спрацювання, порядок сповіщень і розбору відхилень.
- Регламент перенавчання — розклад і тригери, порядок вибору версії, перевірка на історичних періодах, відкат на попередню версію.
- Регламент дій у разі збою — падіння якості, зсув вхідних даних, зникнення джерела: точки зупинки розрахунку та порядок відновлення.
Пакет передаємо у ваш репозиторій і розбираємо з командою — після цього модель супроводжується всередині, без зовнішньої залежності.
Кейс: як зросла точність прогнозу на біржових даних
Команда замовника збирала прогноз за біржовими даними з кількох джерел: котирування, обсяги торгів, макроекономічні публікації, календар подій.
Під кожен горизонт була своя модель, а розриви й викиди закривалися ручними припущеннями аналітиків — коли їх переглядали, історія прогнозів змінювалася заднім числом, і порівняти дві версії не було чим.
Ми звели це в єдиний контур: одна модель замість набору точкових прогнозів, явний поділ ознак за групами й перевірка якості вхідних даних до розрахунку.
Ядром став Temporal Fusion Transformer: архітектура сама зважує внесок ознак і віддає не лише точку, а й межі інтервалу — прогноз читається як діапазон із рівнем довіри, а не як число, яке не можна перевірити.
Метрики до і після
| Що вимірювали | До | Після |
|---|---|---|
| Помилка на денному горизонті | вище базової на 12–18% | нижче базової на 9% |
| Покриття інтервалу | не рахувалося | 90% інтервалів накривають факт |
| Підготовка прогнозу | 2 дні ручного збирання | 40 хвилин за регламентом |
| Відновлення після збою даних | до тижня вручну | за ніч автоматично |
Не менш важлива частина — регламент оновлення. Перенавчання іде за розкладом на ковзному вікні, дрейф ознак перевіряється до випуску, а версія моделі пов'язана з версією даних, тому будь-яку вигрузку можна відтворити.
Якщо нова версія на контрольному періоді програє попередній, випуск блокується й залишається робоче складання — прогноз не деградує мовчки.
Чим Temporal Fusion Transformer відрізняється від класичних моделей?
Класичні моделі — ARIMA, експоненційне згладжування, бустинг на лагах — дають точковий прогноз і виходять з однорідного ряду. Зовнішні фактори заводяться вручну сконструйованими ознаками, і на різнорідних даних якість тримається на підборі лагів, який важко пояснити.
Модель із механізмом уваги влаштована інакше: вхід ділиться на три групи — статичні характеристики об'єкта, ознаки, відомі заздалегідь на всьому горизонті, і ті, що спостерігаються лише в минулому.
Увага сама вирішує, на які моменти часу й на які ознаки опиратися в кожній точці, тому різнорідні дані потрапляють в одну модель без зведення до спільного вигляду.
Ваги значущості при цьому виводяться назовні: видно, який вхід зсунув прогноз і як його вплив змінювався в часі. Це знімає головний біль класичних схем — неможливість розібрати, чому модель помилилася саме тут.
Друга відмінність — інтервальний прогноз. На виході не одне число, а набір квантилів, тому рішення ухвалюється за розподілом: наскільки широкий розкид і як часто факт виходить за межі. Там, де потрібен запас міцності, а не точне влучання, це змінює постановку задачі цілком.
Плата за це — складність моделі: навчання довше, результат чутливий до обсягу історії та якості розмітки подій, а підбір параметрів потребує окремої валідації за часовими зрізами. На коротких рядах або за двох-трьох ознак виграш не окупається — там залишається бустинг на лагах.
Тому порівнювати підходи має сенс на конкретній структурі даних і вимогах до прогнозу, а не за назвою архітектури.
Обмеження та часті сумніви щодо моделі прогнозу
Прогнозування часових рядів не закінчується навчанням моделі: за межами історичної ділянки результат залежить від підготовки даних і контролю. Нижче — сумніви, які підіймають до старту, і як ми їх закриваємо.
Скільки історії потрібно моделі?
Потрібен ряд, що покриває повний ринковий цикл — зростання, корекцію й боковик. На однорідній ділянці модель запам'ятовує режим, а не залежність, тому за короткої історії ми звужуємо горизонт прогнозу.
Що робити з пропусками?
Середнім пропуски не заповнюємо — це викривляє волатильність. Для кожного ряду вибираємо правило: календарне вирівнювання, інтерполяція з обмеженням за довжиною розриву або ознака «даних немає» як окремий сигнал.
Як захищаються дані?
Навчання іде на вашому контурі: вигрузки не залишають інфраструктуру, доступ розмежований за ролями. Зовнішні джерела підключаємо знеособлено — модель бачить агрегати й похідні ознаки, а не вихідні записи.
Що при розвороті ринку?
На зміні режиму деградує будь-яка модель — це обмеження підходу, а не дефект реалізації. Стежимо за помилкою й дрейфом розподілів: у разі виходу за пороги прогноз переводиться в обережний режим і йде перенавчання.
Що входить у супровід?
Передаємо відтворюваний контур навчання, регламент перенавчання й панель контролю якості. Далі — планове оновлення моделі, розбір сигналів і коригування ознак у разі зміни даних.
Обговоримо задачу: підберемо конфігурацію під ваш потік даних
Для предметної розмови не потрібне готове ТЗ. Достатньо вигрузки ряду з фактичними значеннями, календаря подій, що впливають на поведінку, та опису частоти, горизонту прогнозу й допустимої затримки реакції.
Якщо зберігся журнал минулих моделей з їхніми помилками — надсилайте, він економить нам коло гіпотез.
Розбір даних іде раніше за будь-які обіцянки щодо якості. Дивимося розподіл, пропуски, зміну режимів і те, чи відділяється сигнал від шуму на вашому горизонті. Підбір рішення після цього — питання обґрунтування, а не смаку.
За підсумком розбору повертаємося з конкретикою:
- розбір даних: частота, пропуски, аномалії, зміна режимів ринку;
- підбір рішення: від базових моделей до ансамблю з Temporal Fusion Transformer — з обґрунтуванням, чому саме цей клас;
- схема валідації: ковзне вікно, відкладений період, метрика під вашу задачу;
- оцінка та план робіт: етапи, склад команди, точки контролю якості;
- порядок співпраці: ролі, доступи до даних, формат звітності та приймання;
- межі застосовності: на якому горизонті модель надійна, а де потрібен ручний контроль.
Опишіть задачу й надішліть те, що є. Повернемося з оцінкою та планом робіт, де видно, за що ми відповідаємо і в якій точці ви можете зупинитися.







