Обновить

Как мы разработали гибкий пайплайн для прогноза временных рядов любых метрик

Время на прочтение20 мин
Охват и читатели9.6K
Всего голосов 19: ↑19 и ↓0+23
Комментарии11

Комментарии 11

А может в open source?)

Пока таких планов нет, но учтем)

Не понял только, почему нельзя использовать сетки? Это идеальная задача для Linoss-im (модификация SSM). Она улавливает и сезонности и затухания и все остальное. Идеально ложится на описание выше. Добавив в начале свёртки как в mamba, получим дополнительную очистку от шума.

Не пробовали такое, насколько она требовательна к качеству данных? Некоторые ряды могут быть крайне шумными

Ранее уже на Habr указывал про них. Это более развитая модель SSM

Статья про них: https://openreview.net/pdf?id=GRMfXcAAFhи
GitHub
https://github.com/tk-rusch/linoss/tree/main
По классу у них разделение:
S5 : Как пружина, которая быстро затухает.

LinOSS-IM : Как маятник, который колеблется, но со временем останавливается.

LinOSS-IMEX : Как маятник без трения — колебания продолжаются бесконечно.

Насчет шума, то есть два решения. Либо как в Mamba добавить свертку вначале. Либо обернуть это в петлю гистерезис.

"Гомеостазом" тут называю гистерезис, так как описывал аналогию с биологией. 1) target 2) без гистерезис 3) с гистерезис
"Гомеостазом" тут называю гистерезис, так как описывал аналогию с биологией. 1) target 2) без гистерезис 3) с гистерезис

Здесь писал про гистерезис. https://t.me/greenruff/2170

Видно, что гистерезис помогает избавиться от шума. Я ввел это понятие вместо residual связей.

Там раздел в PDF есть в конце про гистерезис. Но документ в целом надо переделывать. Но про сам гистерезис там верно.
https://t.me/c/1238949244/7769

Сейчас я его изменил, но в изменения носят другой характер, связанный с предварительным преобразованием сигнала. Так что можно использовать этот, его результат выше на картинке для гамматон фильтров (обучение аудио фильтрам - аналогом слуха).

Гистерезис почти сразу подавляет шум. Его смысл заключается в том, что устойчивые сигналы проявление устойчивой асимметрии вероятности. То есть, если есть полезный сигнал, значит вероятности вмещаются относительно например 50/50. А значит, к примеру в какую-то сторону будет перекос. Следовательно, это можно уловить за счет ввода разной скорости роста и спада амплитудной, или частотной или фазовой. Выше как раз амплитудная. Шум в этом случае сразу подавляется, так как скорость спада у него больше, скорости роста. Оба параметра обучаемые.

А для фондового рынка это тоже подходит?

У нас другой домен, но технически подходит для прогноза любых временных рядов

У ребят из NIXTLA есть модуль реконсиляции на Python для согласованности прогнозов на разных уровнях с минимизацией потери в точности прогнозирования.

Спасибо, почитаю

Когда я вижу упоминание о том, что у нас было много рядов то мне всегда хочется узнать сколько?))
Пробовали ли вы использовать модели проще чем prophet?
Из каких соображений вы находите баланс между скоростью и качеством?

А за статью спасибо! Очень познавательно.

Количество рядов может измеряться сотнями и это не предел). Пробовали, в статье упоминается MSTL, она дает довольно хорошие результаты, планируется к внедрению во фреймворк. У нас нет задачи отдавать прогнозы real-time, поэтому как такового баланса мы не искали, скорее Prophet был первоначально выбран благодаря его гибкой настройке и интерпретируемости для продактов, однако, из-за этого может страдать и качество, поэтому нужно внедрять более точные модели в доменах, где менеджерам не так важна интерпретируеомсть.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Информация

Сайт
www.ya.ru
Дата регистрации
Дата основания
Численность
свыше 10 000 человек
Местоположение
Россия