Katser
2.28K subscribers
93 photos
7 videos
10 files
137 links
Авторский канал @ykatser по data science, машинному обучению и искусственному интеллекту в основном в задачах промышленности, но не только
Download Telegram
🔍Кейс с диагностикой трансформаторов.
Часть 2.

Продолжение этого поста.

Немного о данных
В данной задаче у нас на входе есть датасеты, представляющие собой многомерные временные ряды. Каждый дотасет содержит 420 точек и 4 признака и является результатами сбора данных каждые 12 часов о содержании газов в трансформаторном масле. При этом, дотасет представляет работу трансформатор в одном из 4х режимов (нормальное состояние и 3 варианта неисправностей). Таким образом, каждой матрице (420 точек х 4 признака) соответствует 1 число - режим работы.

Задача
Задача может формулироваться как классификация временных рядов, так как каждому временному ряду мы должны поставить в соответствие метку режима. Решать ее можно разными способами, но именно постановка задачи как классическая классификация табличных данных (обучения с учителем) обычно дает наилучшие результаты.

Предварительная обработка данных
Для того, чтобы перейти к табличным данным и задаче классификации, надо привести многомерные временные ряды к векторам признаков. Схема приведения показана в карточках к посту:
• Из временного ряда мы выделяем статистические характеристики, избавляясь от временной компоненты и заменяя временной ряд на небольшой набор его статистических характеристик
• Проделываем процедуру для каждого датасета, получая вместо матрицы вектор признаков
• Собираем новую матрицу объекты-признаки, где каждый объект - состояние трансформатора в какой-то период времени, а признаки - статистические характеристики концентраций газов за этот период
• Теперь у нас каждой строке (объекту) датасета соответствует число - номер режима, и мы можем решать задачу классификации с помощью удобных и привычных методов (лог регрессия, случайный лес, град бустинг и тд).
Об этом в следующем посте.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥43❤‍🔥1
Оффтоп: участвовали тут почти 3 недели в хакатоне ЛЦТ в задаче Северстали по диагностике эксгаустеров (если будете гуглить: найти нужный эксгаустер непросто, подсказка — этот из металлургии).

🥈До первого места не добрались, но второе тоже хорошо. Возможно, позже подробнее напишу/расскажу об опыте.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👏7❤‍🔥3🤔1
🔍Кейс с диагностикой трансформаторов. Часть 3.
Предыдущие части: часть 1, часть 2

Подготовка к обучению
Подошли к самой интересной части — обучению моделей машинного обучения. Так как мы подготовили выборку в виде табличных данных, нам остаются последние приготовления:
• масштабировать данные при необходимости.
• разделить выборку на обучающую и тестовую части.
Может быть важно еще обработать данные, например, уравнять пропорции классов, так как выборка несбалансированная. Тогда есть два основных варианта (об этом подробнее в будущих постах про предварительную обработку):
• оверсэплинг редкого класса
• андерсэплинг частого класса

Обучение моделей
Теперь с чистой душой можно делать фит и предикт! В рамках работы мы попробовали все основные классы методов:
• linear method (Logistic Regression)
• tree-based method (Decision Trees)
• ensemble-based methods (Random Forest, Gradient Boosting)
• neural network (multilayer perceptron)
И действительно после такой предварительной обработки особо ничего кроме фит-предикт больше делать не надо было — результат был довольно хороший.

Ансамбль моделей
В конце концов мы остановились на ансамбле перечисленных выше методов. Ансамбль представляет собой классификатор из XGBoost, построенный на результатах моделей первого уровня: случайного леса, LGBM и многослойного персептрона. Даже не спрашивайте, почему так. Честный ответ — на основе результатов на валидационной выборке. Никакого глубокого смысла в такой конструкции нет. Я мог бы начать рассказывать о том, что ансамблирование моделей разных классов позволяет лучше обобщить данные, добавить робастности, учесть сильные стороны разных подходов, нивелировать слабые и тд. Это все действительно так, но в промышленности лучше использовать более простые модели поэтому городить такие ансамбли надо осторожно. К тому же, даже простые модели типа логистической регрессии в такой постановке задачи уже давали нормальный результат. В общем, для полной картины стоит почитать статью из первого поста.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍94❤‍🔥3🤡1
🔬 Все, что вы хотели знать о задаче остаточного ресурса оборудования

Именно так называется моя большая статья на Хабре. Самый полный гайд (из тех, что я встречал) по постановкам в терминах машинного обучения, вариантам данных и способам решения одной из важнейших задач диагностики — определения остаточного ресурса. Периодически апдейчу статью, поэтому на Хабре всегда актуальная версия. Например, недавно добавил новый кейс с этого хакатона, где определение остаточного ресурса было всего лишь 1ой из нескольких задач (о хакатоне подробнее напишу отдельно).

И совсем недавно выпустил уже традиционный перевод статьи на английский язык на медиуме.

🐣А кто не хочет читать — посмотрите мой доклад с ИИшницы. Не такой полный как статьи, но представление о задаче вполне дает.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥83
💼Предиктивная аналитика эксгаустеров. Часть 1
Этот пост в основном о кейсе, но немного и о самом хакатоне. Часть 2 здесь

Задача
Изначально формулировка задачи была примерно следующая:
Разработайте модель, определяющую возможность возникновения нештатной работы оборудования

Что такое эксгаустер? И какая там проблема?
Простым языком об этом рассказано в видео. А вот цитата из статьи ЕВРАЗа на хабре:
А если совсем в двух словах, то эксгаустер — это часть агломерационной машины, он постоянно втягивает горячий воздух и выпускает его в трубу. Внутри него расположен ротор — своего рода вентилятор, который прогоняет раскалённый воздух. Если этот ротор выходит из строя, то перестаёт работать и эксгаустер, и вся агломашина.
При чем здесь Евраз, если задачу на Хакатон ставила Северсталь? Просто недавно ЕВРАЗ проводил очень похожий хакатон (супер актуальная проблема?). Мы решили тогда не участвовать, но в этот раз пропустить не могли

📌 В карточках рассказано о:
• Проблематике
• Задачах с точки зрения DS и технической диагностики
• Подходах к решению задач
• Архитектуре решения

О хакатоне
Про особенности хакатонов рассказывал в отдельной большой статье, здесь тезисно перечислю некоторые моменты:
• Хакатон шел почти месяц с первого дня до финальной защиты (почти все время можно было работать над решением), что является особенностью (обычно это 2-3 дня), кому-то удобно погрузиться в задачу глубоко, кому-то не хочется тратить столько времени с непрогнозируемым результатом
• Не хватало единой точки сбора информации, все было разрозненно (сайт, посты в каналы, ответы на вопросы от экспертов, исходная презентация с задачей), приходилось собирать это все вместе (тренажер реального проекта от организаторов?)
• В положении нет критериев, они появились вместе с задачей и не были взвешены: не понятно, какой вес у каждого критерия, как считаются суммарно баллы и тд. В целом не хватало прозрачности
• До самого конца хакатона нам так и не ответили эксперты на некоторые вопросы. Это нужно принять
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10👍6❤‍🔥4
💼 Кейс с диагностикой трансформаторов. Часть 4.
Предыдущие части: часть 1, часть 2, часть 3

Еще одной задачей в диагностике трансформаторов является определение или прогнозирование остаточного ресурса (RUL). Подробно о задаче остаточного ресурса я писал здесь.

✏️Статья-туториал по решению задачи под названием “Решение задачи определения RUL трансформаторов с помощью машинного обучения на python” доступна на хабре. В статье продемонстрирован пайплайн решения задачи в регрессионной постановке. Первым этапом в таком случае является агрегация временных рядов, например, за счет выделения статистических характеристик рядов. Механизм агрегации продемонстрирован был мной в этом посте. Статью стоит воспринимать как туториал по решению задачи, который снижает порог входа и мотивирует попробовать решить задачу самостоятельно, а не демонстрацию создания продакшн-рэди решения.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤‍🔥3🔥3
👁‍🗨Гайд для погружения в поиск аномалий во временных рядах

Давно пора собрать накопившиеся материалы в области поиска аномалий в один пост. Пост полезен как гайд для введения в поиск аномалий - есть и теория, и практика, и реальные кейсы для тренировки насмотренности. Конечно, материалы на примере аномалий в технических системах и во временных рядах.

(теория+кейсы) Запись лекции о введении в поиск аномалий: в лекции рассказано о задаче, алгоритмах
(теория+практика) Блокнот на кэгле с практическим воркшопом: в блокноте есть как теория о задаче поиска аномалий, так и практика на примере реализации алгоритма генерации невязки (разладки) с помощью автоэнкодера, а также много ссылок на дополнительные материалы
(практика) Примеры из репозитория со SKAB’ом: в репозитории собрано большое число реализованных в коде алгоритмов обнаружения аномалий с результатами расчетов, ссылками на статьи об алгоритмах и описаниями этих алгоритмов
(кейсы) Репозиторий с реальными кейсами: можно посмотреть, как решается задача поиска аномалий разными компаниями и набраться практического опыта. Кстати, в репозитории теперь появились еще и научные статьи с датасетами

🏌️Еще материалы и посты для более глубокого изучения темы:
Точечные vs коллективные аномалии
О задаче changepoint detection
О глубоком обучении для решения задач поиска аномалий
Обзор метрик обнаружения аномалий
Обзор открытых промышленных данных
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥8👏4❤‍🔥1
👀👀 Обзор метрик обнаружения аномалий

Оценить алгоритмы обнаружения аномалий совсем не просто, поскольку существует множество математических задач и различных метрик, подходящих для конкретных проблем и условий. Часто исследователи и практикующие data scientist’ы берут общепринятую метрику, такую как F1, только потому, что ее настоятельно рекомендуют для задач классификации. Часто это работает, но не всегда! Чтобы помочь избежать неправильного выбора метрик, я решил сделать обзор метрик, используемых для оценки качества решения задач обнаружения аномалий.

Статья на хабре.
Статья на медиуме на английском. Даже есть пример кода.

⚡️Пока даже добавить нечего к статьям. В будущем хотелось бы дополнить формулами, реализовать в коде и провести эксперименты для наглядной демонстрации различия и искажения результатов при выборе различных метрик. Кстати, метрики частично уже (и еще будут) реализованы в рамках разрабатываемого фреймворка для решения промышленных задач, который мы представим вот-вот.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13👏3🔥21