Кажется, ещё недавно ИИ был прерогативой умудренных опытом специалистов и даже ученых, но сейчас его осваивают и школьники. Уже сегодня они помогают отраслевым гигантам строить прогнозные модели. Глядишь, завтра в детсадах начнут сетки обучать. Мы делали конкурс по ИИ для молодёжи, в котором выделили одной команде наши исторические данные и поставили задачу предсказать срыв поставок. И получилось! Грех было не использовать такую возможность на благо бизнес-процессов, ну мы и не стали грешить. О том, как это было, рассказывает наш аналитик данных в кластере «Корпоративные процессы» Станислав Ноздрин.
Наша задача участникам
Понятно, что срыв поставок товаров или услуг от подрядчиков для нас, как компании-заказчика — это удар по репутации и финансам, а один из главных ущербов — потеря клиентов. Хорошо ещё, если заказчики потребуют только компенсацию за причинённые убытки (хотя и это может существенно ударить по карману), но ведь могут быть и судебные разбирательства, и потеря доли рынка из-за ухода клиентов к конкурентам, и ухудшение качества конечного продукта с потерей лояльности к бренду. Привычные продажи могут упасть, а привлечь новых клиентов с такой репутацией компании будет сложнее.
В таком контексте полезно было бы научиться предсказывать срывы поставок, что позволит заранее принимать меры по сокращению потерь. Благодаря модели прогнозирования, которая предупредит «Северсталь» о надвигающихся проблемах в цепи поставок, можно будет заранее резервировать ресурсы, улучшать коммуникацию с поставщиками и разрабатывать прозрачные системы контроля.
Мы решили, что возможные срывы поставок можно научиться предсказывать на основе исторических данных, отражающих течение соответствующих бизнес-процессов «Северстали».
А заниматься этим будут школьники и студенты до 18 лет, имеющие интерес и навыки для работы по созданию моделей машинного обучения. Именно они участвовали в ежегодном конкурсе AI Challenge, организованный «Сбером» и Альянсом в сфере искусственного интеллекта. В состав участников, среди нескольких технологических лидеров России, входит и «Северсталь». В прошлом году наша команда выступала в роли авторов и экспертов кейса «ИИ в производстве».
В команду вошли:
-
Станислав Ноздрин, data scientist, аналитик данных из корпоративных процессов;
-
Соловьев Сергей, ведущий эксперт по прогнозной аналитике;
-
Анастасия Головина, руководитель группы отчётности.
Первые данные и первая модель
Мы забрали исторические данные о поставках из системы Celonis и каждую неделю обучали модель на новых накопленных данных с помощью CatBoost. Выдавали прогноз в виде рассылок на сомнительные поставки.
Модель получилась хорошей: она была обучена на 225000 ситуаций (строчек данных), имела точность по метрике accuracy 0.85, а F1-score 0.7.
Но время шло — появлялись новые вызовы в общении с поставщиками и поменялся бизнес-процесс поставок. Надо было проверить дополнительные данные о заказе и посмотреть, какие новые инсайты могут быть получены на свежих, обогащённых данных.
Новые данные и датасет
Для составления новых датасетов и обучения прогнозной модели мы предоставили участникам следующий список признаков:
-
Сумма заказа
-
Материал заказа
-
Поставщик
-
Категорийный менеджер
-
Операционный менеджер
-
Завод
-
Закупочная организация
-
Балансовая единица
-
Группа закупок
-
Группа материалов
-
Вариант поставки
-
Количество дней между стадиями согласования
-
Длительность
-
Количество обработчиков на разных стадиях
-
Месяц заказа
-
День недели заказа
-
Изменение даты поставки
-
Количество единиц товара
-
Стадии согласования заказа
-
Изменение позиции заказа на закупку: дата поставки
-
Отмена полного деблокирования заказа на закупку
-
Изменение позиции заказа на закупку: изменение даты поставки на бумаге
Датасет выглядел вот так:
Работа ИИ-моделей и как оценивалось её качество
На первом этапе соревнования участники создавали модели и делали прогнозы на тестовой выборке, состоящей из публичной и приватной частей. Показатели команд ранжировались в соответствии с уровнем точности модели. Также оценивалось качество решения: воспроизводимость кода, проведённый анализ данных, применение техник подготовки данных и непосредственного машинного обучения. Так отбиралась десятка лучших команд.
На втором этапе участники разрабатывали аналитическую платформу, которая отражает работу моделей, разработанных в прошлом раунде. Платформа также раскрывает обнаруженные инсайты— полезные и важные для тех, кто пользовался бы моделью (например, ответственный закупщик или бизнес-пользователь). Реализовать такую платформу можно было в виде дашборда, чат-бота, веб-сервиса. Оценки за первый и второй этап суммировались, а затем определялись победители.
Результат работы классификатора наглядно демонстрирует матрица ошибок.
Строки матрицы соответствуют действительному значению класса, столбцы — прогнозируемому значению класса:
FP — количество наблюдений класса 0, которые ошибочно отнесены моделью к классу 1;
FN — количество наблюдений класса 1, которые ошибочно отнесены моделью к классу 0;
TP — количество наблюдений класса 1, которые корректно отнесены моделью к классу 1.
Тогда:
N = TN + FP – число наблюдений класса 0,
P = TP + FP – число наблюдений класса 1,
V = P+N – общее число наблюдений.
Какие метрики применяли
• Accuracy — доля наблюдений, отнесённых к корректным классам:
Accuracy =TP + TNTP + FP + FN + TN
• Precision — доля наблюдений, корректно отнесённых к классу «1» среди всех наблюдений, отнесённых к классу «1»:
Precision = TPTP + FP
• Recall — доля наблюдений, корректно отнесённых к классу «1» от числа наблюдений класса «1» (синоним TPR):
Recall = TPTP + FN
• F1-score — точность классификации с учётом дисбаланса классов, являющаяся средним гармоническим двух метрик(Precision и Recall):
F1-score = 2 ∗ Precision ∗ RecallPrecision + Recall
Качество прогнозной модели можно оценить на основании различных метрик, при этом их информативность зависит от конкретной задачи. Прогнозирование срыва поставки было сведено к задаче бинарной классификации:
• Класс «0» — позиции заказов, по которым хотя бы одна поставка состоялась в установленный срок.
• Класс «1» — позиции заказов, по которым ни одна поставка не состоялась в установленный срок.
На обучающей выборке был выявлен дисбаланс классов: доля элементов, принадлежащих к классу «1» составила порядка 25% от её объёма. Таким образом, метрика «точность» (accuracy) — доля элементов выборки, отнесённых к корректному классу — не является достаточно информативной.
Пример: если прогнозная модель будет ставить в соответствие любому объекту класс «0», точность такой модели составит 75%. При этом с практической точки зрения такая модель бесполезна.
Исходя из этого, обучение прогнозной модели предполагалось выполнять путём максимизации метрики «F1» — точности прогнозирования с учётом дисбаланса классов. При этом нужно контролировать значения величин FPR (доля ложно-положительных прогнозов) и TPR (доля верно предсказанных наблюдений класса «1»).
Применительно к решаемой задаче, рекомендуемый объём обучающей выборки — 225 тысяч записей. Объём валидационной выборки установлен равным 25000 записей, что соответствует среднему числу позиций заказов, по которым срок поставки ещё не наступил и не состоялось ни одной поставки.
Участники-лидеры:
1 место, команда f1score(yval, yval);
2 место, команда Unthinkable;
3 место, команда Broke Boys Cartel.
Выводы
Благодаря участникам конкурса мы поняли, какую точность моделей можно получить на новых данных. Мы также определились с тем, какие признаки нам стоит и не стоит учитывать при будущей разработке модели, какие данные стоит собирать в системах.
При создании аналитической платформы команды смогли подсветить интересные инсайты на исторических данных, полезные не только нам, аналитикам и разработчикам, но и бизнес-пользователям. Например, команды составили рекомендательные системы по рискованным поставщикам, группе закупок и материалу. Эта система предлагает замену рискованного поставщика на более пунктуального, который отличился на обучающейся выборке доставкой аналогичного заказа — то, что надо!
Подобные идеи касались и исследования работ конкретных операционных и категориальных менеджеров, этапов согласования. Хочется отметить и созданную некоторыми командами возможность детального просмотра информации о том, почему модель выдала такой прогноз (вероятность срыва поставки), как и какие признаки повлияли на итоговое значения — это важно и полезно для сотрудников, принимающих решения.
Эти наработки позволяют нам идти в будущее. Работая в новых обстоятельствах с изменёнными логистическими цепочками и бизнес-процессами, мы стремимся накопить актуальные, дополнительные данные, отражающие новую действительность. Используя опыт нашей разработки, идеи и наработки участников, мы приступим к новой итерации проработки модели, отвечающей новым вызовам.
Наш кейс оказался самым популярным в прошлом году: за выход в финал боролись более 40 команд, 26 из них смогли представить свои решения, а десятка лучших оказалась в финале. Мы очень благодарны всем командам за отклик, за уделённое время, качественную проработку своих идей, за смелые, а где-то даже дерзкие и оригинальные решения.
«Молодёжь — двигатель прогресса, искусственный интеллект — его безграничный потенциал» (с) by ChatGPT.
ссылка на оригинал статьи https://habr.com/ru/articles/851464/
Добавить комментарий