Мнение / июль 2021
Предсказания на данных второй свежести не построишь

Сергей
Кедров

со-основатель Fabrique.AI и руководитель направления скоринга, машинного обучения и предиктивной аналитики ADV
© ComNews
12.07.2021

- Осетрину прислали второй свежести, - сообщил буфетчик.

- Голубчик, это вздор!

- Чего вздор?

- Вторая свежесть - вот что вздор! Свежесть бывает только одна - первая, она же и последняя. А если осетрина второй свежести, то это означает, что она тухлая!

"Мастер и Маргарита"

Михаил Булгаков

Давайте в отрывке выше заменим слово "осетрина" на слово "данные"? "Свежесть" выражается в количестве времени между происхождением событий и временем их обработки, применения алгоритмов, принятия решений.

Если отставание от реальности составляет часы, дни или недели, то данные в буквальном смысле могут "протухнуть" - полностью потерять актуальность и ценность.

Очевидный пример. Представим, что капитан корабля смотрит вперед по курсу, но изображение отстает от реальности на час. Рано или поздно корабль ждет беда.

Но есть много менее очевидных примеров, когда кажется, что можно и подождать: накопить данные, запустить обработку раз в день, получить предсказания.

В этой статье постараемся обсудить: как быстро данные теряют свежесть, как потеря актуальности данными отражается на силе алгоритмов ML, как потеря предсказательной силы сказывается на надежности принимаемых бизнесом решений.

Но что означают фразы "выдача предсказаний" и "принятие решений"?

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

А что такое - алгоритмы машинного обучения?

Если очень упрощенно, то машинное обучение - это сохранение памяти о прошлом для применения в будущем. Память сохраняется в обученных моделях машинного обучения (модели ML).

Мы раньше всегда ходили по этой улице, никогда не встречали на ней динозавров, наверное их здесь нет - это обученная модель на основе прошлого опыта. Вероятно, что не встретим и сегодня - это предсказание о будущем. Поэтому оставим дома свой каменный топор - это решение. Если мы внезапно все же встретим сегодня динозавра - это аномалия. Хорошо бы иметь на этот случай план Б.

Машинное обучение мало отличается от обучения в школе или институте. Нам давали знание - мы его запоминали. Часть знаний пригодилась в жизни, часть - оказалась невостребованной, устарела, утратила актуальность и связь с реальностью.

Если бы знания из прошлого всегда оставались актуальными в будущем, то школа и машинное обучение с каждым днем давали бы все лучший результат. Но на практике мы знаем, что и школа, и модели машинного обучения со временем теряют связь с реальностью. Почему так происходит?

Ответ прост. Мы живем постоянно меняющемся мире: климат, кризисы, конкуренция, технологии, мода. Динозавра может и не встретим, но шагающие роботы вполне могут появиться на улицах. Нам приходится постоянно адаптироваться к изменениям: учиться, менять привычки, осваивать новые профессии и технологии. Школа тоже пытается адаптироваться, но обычно опаздывает. Точно также и модели машинного обучения должны постоянно адаптироваться к реальности, чтобы оставаться актуальными. В противном случае, точность предсказаний будет падать и создавать риски принятия ошибочных решений.

Вернемся к вопросам. Как быстро происходят изменения и как быстро к ним нужно адаптироваться? Что будет, если изменения произошли и точность предсказаний упала? Какие риски несет потеря точности предсказаний? Каким образом следует реагировать на потерю предсказательной силы?

Реальность такова, что изменения происходят внезапно. То есть мы не знаем момент времени, когда изменения произойдут или начнут происходить. Но если изменения начали происходить, то с этого момента мы живем в новой реальности. Предыдущие данные, опыт, знания, предсказания - стремительно "протухли". Новые данные, новый опыт - имеют максимальную цену. Если мы неожиданно встретим на улице динозавра, то вряд ли у нас будет час на раздумья и, уж точно, что все предсказания на основе прошлого опыта мгновенно теряют смысл.

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

Другими словами, если мы обрабатываем данные, делаем предсказания, принимаем решения со скоростью происхождения событий, то должны быть готовы моментально выявлять изменения, в реальном времени реагировать на них, в реальном времени адаптироваться к изменениям.

А что произойдет, если мы не успеем отреагировать на изменения? - Нас съест динозавр. Ну или что там случается, когда осетрина протухла?

Приведем несколько примеров. Авиакомпания продает билеты и хотела бы предложить на них оптимальную цену, чтобы увеличить конверсию. Авиакомпания берет данные по продажам за 3 года, обучает модели и пытается предсказать оптимальную цену сегодня. Стоп, стоп, стоп! Кажется, что пример с авиакомпанией неудачен: COVID, кругом локдаун, границы закрываются,.. Добро пожаловать в реальный мир! А если бы не было пандемии, задачу можно было бы решить? Ничего подобного! Потому, что есть конкуренты (и они тоже сегодня меняют цены), есть пассажиры (и они сегодня вдруг решили никуда не лететь), есть цены на топливо (и сегодня билеты подорожали), есть динозавр (вчера его не было). Чтобы решить задачу, нужно опираться на сегодняшний спрос, сегодня экспериментировать с ценой, сегодня контролировать изменения цен конкурентов.

Еще пример. Есть производственный процесс в металлургии. На основе исторических данных научились распознавать 150 типов брака. Но поменяли катки, перешли с одного поставщика полимерного покрытия на другого, повысили скорость проката и получили 151-ый и 152-ой типы брака, которых раньше никогда не было. То есть опять - исторические данные есть, но реальность изменилась и прошлые знания обесценились. Требуется в реальном времени уметь реагировать на новые данные и выявлять аномалии в качестве продукции.

Еще пример. Банки выдают кредиты заемщикам. На основе исторических данных за предыдущие 2 года обучили модели предсказывать вероятность дефолта. Не хочется снова про COVID, но от реальности сложно отгородиться: люди перешли на удаленный режим, многие бизнесы пострадали, привычки сместились в сторону онлайн-покупок, многие переместились загород, изменились возможности для путешествий и отдыха. Даже если бы пандемии не было, мир не перестал бы меняться. И снова - исторические данные есть, но каждый день происходят изменения, которые делают наши предсказания все менее точными. Снова требуется в реальном времени реагировать на изменения в потоке клиентов и до-обучать предсказательные модели.

"Мы должны изменить наш образ мышления от того, что все находится в покое, на то, что все находится в движении". Фраза принадлежит Леону Штилю из CITY GROUP. Очень точная фраза.

Подведем итог:

  • Модели машинного обучения должны постоянно адаптироваться к реальности, чтобы сохранять предсказательную силу. Иначе точность предсказаний будет падать и создавать риски принятия ошибочных решений.
  • Реальность может меняться очень быстро. Момент начала изменений заранее предсказать нельзя. Только обрабатывая данные со скоростью происхождения событий можно выявлять начало изменений и быстро реагировать.
  • Работа с данными со скоростью событий полностью меняет подходы к обработке, реагированию на изменения, адаптации к новой реальности. Мы всегда должны быть подготовлены к любым изменениям.