Привет, дорогие читатели Хабра!
Автор статьи: Янина Кутовая (@YaninaK)
Выпускница курса Machine Learning. Advanced
Исследование выполнено в рамках выпускного проекта на курсе Machine Learning Advanced в OTUS. Рецензенты проекта - Максим Бекетов, Игорь Стурейко.
Ссылка на аккаунт автора: @YaninaK
Данные были предоставлены ПАО «Северсталь» для хакатона ЛИДЕРЫ ЦИФРОВОЙ ТРАНСФОРМАЦИИ 2023
В проекте развиты и реализованы в коде идеи Давида Пагано (Davide Pagano) из статьи A predictive maintenance model using Long Short-Term Memory Neural Networks and Bayesian inference, опубликованные в Decision Analytics Journal в марте 2023. Из-за соглашения о неразглашении никакие подробности о компании, а также ее данные и какой-либо код для иллюстрации исследования автором в статье предоставлены не были.
Для предсказания внеплановых остановок оборудования используется комбинация нейронных сетей с долгосрочной краткосрочной памятью (LSTM) и Байесовский подход. LSTM и Байесовская модель обучаются на периодах, когда оборудование находилось в хорошем рабочем состоянии (эталонные периоды).
Вместо данных с датчиков на вход LSTM подаются сгенерированные с помощью PCA латентные переменные и рассчитанные метрики Hotelling's T-Squared и Q residuals.
На полученных в результате инференса LSTM Hotelling's T-Squared и Q residuals обучается Байесовская модель.
Для предсказания внеплановых остановок оборудования промышленные данные с датчиков, подготовленные для инференса LSTM модели, пропускаются через LSTM модель и генерируют новые Hotelling's T-Squared и Q residuals, которые, в свою очередь, используются для обновления байесовской апостериорной вероятности хорошего рабочего состояния оборудования.
Метрики Hotelling's T-Squared и Q residuals оценивают отклонение изменяющихся во времени промышленных данных от эталонных и позволяют оценить время до критического отклонения - внеплановой остановки.
На наших данных о внеплановой остановке модель предупреждает за сутки. Это происходит в каждом рассмотренном случае из доступных 61.
Ниже приводится пошаговое описание проекта. Код проекта доступен по ссылке.
1. Ресурсы
Наборы обезличенных данных из внутренних систем ПАО «Северсталь», содержащие:
Перечень нештатных событий, приведших к остановке линии;
Перечень нештатных событий, повлекших деградацию функций агрегатов;
Перечень сигналов с датчиков, контроллеров.
2. Предварительная очистка данных
На этапе предварительной очистки данных переименовываются столбцы X_train
и y_train
, чтобы они были приемлемыми для pyspark. X_train
очищается от отрицательных чисел, максимальная температура масла ограничивается 100 градусами, максимальная температура подшипников ограничивается 800 градусами.
Проводится передискретизация данных временных рядов с десяти секундного интервала до часового (берется среднее значение за час). Передискретизированные данные сохраняются для дальнейшего использования.
Унифицируются названия технических мест. Унифицированные названия ("unified_name") и номер эксгаустера ("equipment") добавляются к перечню нештатных событий (messages).
3. EDA
В messages фиксируются 2 вида нештатных событий:
M1 - остановки эксгаустеров
M3 - аномалии в работе эксгаустеров
Всего 83 остановки (M1) и 898 периодов аномалий (M3).
3.1. Остановки
Из 83 остановок только 72 - внеплановые, только их имеет смысл прогнозировать.
Информация о внеплановых остановках доступна только по 14 техническим местам из 51.
Больше половины остановок произошло из-за неполадок с ротором, задвижкой и электродвигателем.
Причины остановок между эксгаустерами существенно отличаются.
Наибольшее число остановок на четвертом и пятом эксгаустерах, наименьшее - на шестом и девятом.
3.2. Аномалии в работе эксгаустеров
Больше половины всех аномалий зафиксировано в корпусах, роторах, редукторах, электродвигателях и задвижках эксгаустеров.
Больше половины неполадок с корпусами приходилось на шестой и седьмой эксгаустеры.
Больше половины неполадок с роторами произошли на седьмом и восьмом эксгаустерах.
40% аномалий в работе редукторов зафиксировано на четвертом эксгаустере.
32% аномалий в работе электродвигателей и 35% - в работе задвижек случились на пятом эксгаустере.
У 130 аномалий из 898 нет данных о времени устранения неисправности.
3.3 Анализ разметки остановок и аномалий на y_train
Разметка на y_train доступна менее чем по 60% технических мест.
Аномалии работы двигателя резервного маслонасоса, эксгаустера Н-8000 (эксг 5) и регулирующей аппаратуры эксгаустера (эксг 7) не имеют разметки.
Значительная часть разметки из messages не попала в y_train: 898 vs 395.
Из-за отсутствия значительной части разметки на y_train, разметка для модели создавалась на основе messages.
4. Модель
4.1. Генерация эталонного датасета
Выбор эталонных периодов
В качестве эталонных периодов для обучения модели LSTM выбраны периоды с вибрацией ниже 10 и температурой ниже 80.
Все остановки и заданные периоды до и после остановок исключаются.
Период до остановки = длина входящей + длина исходящей последовательности LSTM модели (23 + 27 = 50 часов)
Период после остановки - 1 час.
Использование метода главных компонент (PCA) для генерации признаков
К нормализованным с помощью StandardScaler эталонным данным применен PCA с рассчитанным по правилу Кайзера числом компонент, равным 3, сгенерированы 3 латентные переменные, рассчитаны Hotelling's T-Squared и Q residuals.
Т2-статистика (Hotelling's T-Squared) — это мера вариации каждого образца в модели PCA, указывает, насколько далеко каждый образец находится из центра (оценки = 0) модели.
Q-статистика (Q residuals) показывает, насколько хорошо каждый образец соответствует модели PCA. Это мера разницы или остатка между выборкой и ее проекцией на основные компоненты, сохраняемые в модели.
Таким образом, вместо данных с датчиков в эталонные периоды, используются 5 признаков, сгенерированных с помощью PCA.
Формирования датасета для модели LSTM
К полученному с помощью PCA дата фрейму, применено временное окно 50 (23 входящая последовательность + 27 исходящая). Перед использованием в модели LSTM данные перетасовываются.
Размерность полученного датасета - (7062, 50, 5)
4.2. Обучение модели LSTM
На эталонном датасете обучается модель LSTM с двухслойными энкодером и декодером.
В качестве функции потерь используется Huber loss.
Результаты инференса модели LSTM на эталонных данных подаются для обучения Байесовской модели.
4.3. Обучение Байесовской модели
Байесовская модель для обучения берет только два последних признака - предсказанные на эталонных данных T2 и Q-статистики. Значение целевой функции у всех проставляем 1.
Модель должна выявлять отклонение от эталона внутри временного окна.
5. Инференс
5.1. LSTM – модель
Функция get_M1_dataset генерирует датасет для инференса LSTM – модели на текущих (не эталонных) данных.
После загрузки данных переименовывает колонки, трансформирует данные, использует обученный StandardScaler и PCA-модель, рассчитывает Hotelling's T-Squared и Q residuals.
Датасет формируется по данным о начале каждой остановки из messages (t): (t - 50 : t - 27).
Таким образом, для инференса LSTM-модель получает датасет, размерностью (61, 23, 5)
Результат инференса LSTM-модели - датасет, размерностью (61, 27, 5).
5.2 Байесовская модель
Для инференса Байесовской модели берутся только два последних признака из пяти - предсказанные на текущих (не эталонных) данных T2 и Q-статистики. Ожидаемо, что T2 и Q эталонных предсказаний должны существенно отличаться от предсказанных T2 и Q перед остановкой.
Байесовская модель предсказывает, как это отличие развивается во времени (в течение суток) с максимальным значением непосредственно перед остановкой.
График предсказания Байесовской моделью внеплановой остановки, которая произошла через 27 часов, представлен ниже.
Следует обратить внимание на 2 момента:
Все полученные значения получаются близкими к единице, поскольку модель тренировалась на 2000 сэмплах (draws=2000). Несколько дополнительных экземпляров на инференсе, пусть даже перед остановкой, не могут значительно увести результат от единицы, но тренд явно прослеживается.
-
Для согласования распределения данных сгенерированных моделью LSTM, с распределением байесовского анализа, следует обрезать 3 начальные и 3 конечные точки. На графике видно, что в точке 17 (через 20 часов) начинается резкое ухудшение показателей оборудования, что приведет к остановке.
Таким образом, о внеплановой остановке, модель предупреждает за сутки. На наших данных это происходит в каждом рассмотренном случае из доступных 61.
Предлагаемый метод позволяет предсказывать внеплановые остановки даже при недостаточном количестве данных об остановках, что делает его особенно актуальным.
Заключение
В этом исследовании я рассмотрела задачу предсказания внеплановых остановок оборудования с применением комбинации нейронных сетей с долгосрочной краткосрочной памятью (LSTM) и Байесовского подхода.
Построенная модель предупреждает о внеплановой остановке за сутки. Причем модель срабатывает в каждом случае из доступных 61.
Дальнейшее исследование я планирую посвятить увеличению горизонта предсказания внеплановых остановок, а также предсказанию аномалий в работе оборудования и идентификации технических мест будущих аномалий.
А тут вы можете подробнее узнать о курсе, в рамках которого был подготовлен данный проект.
ParshinSA
Янина, спасибо за рассказ! Было интересно читать и в конце увидеть хороший результат!
Вы получаете из PSA 3 компонента и рассчитываете T2- и Q-статистики по ним. Далее указанные 3+2 признака вы подаете в LSTM модель с архитектурой encoder-decoder и предсказываете те же 3+2 признака, верно?
"Значение целевой функции у всех проставляем 1". Что вы подразумеваете под целевой функцией?
YaninaK
По первому вопросу:
Да. Из PSA получаем 3 компонента и рассчитываете T2- и Q-статистики по ним. Далее указанные 3+2 признака подаем в LSTM модель с архитектурой encoder-decoder и предсказываем те же 3+2 признака.
Затем в Байесовскую модель подаем не все 5 предсказанных признаков, а только 2 последних (T2- и Q-статистики).
По второму вопросу:
Для обучения Байесовской модели кроме признаков требуется target (целевая переменная). Поскольку мы обучаем Байесовскую модель на эталонных данных (периоды, когда оборудование работало хорошо), в качестве target-а проставляем единицы, что значит «оборудование работает хорошо».
На инференсе Байесовская модель измеряет отклонение от эталона во времени (27 часов, из которых мы отсекаем 3 первых и 3 последних). Сначала на графике видно плавное удаление от единицы, а за 3-4 часа перед остановкой - стремительное снижение в каждом из доступных 61 случаев.
Таким образом, если в прогнозируемом периоде отклонение превышает заранее установленную границу – ожидаем внеплановой остановки оборудования (и принимаем меры к ее предотвращению).
YaninaK
По первому вопросу:
Да. Из PSA получаем 3 компонента и рассчитываете T2- и Q-статистики по ним. Далее указанные 3+2 признака подаем в LSTM модель с архитектурой encoder-decoder и предсказываем те же 3+2 признака.
Затем в Байесовскую модель подаем не все 5 предсказанных признаков, а только 2 последних (T2- и Q-статистики).
По второму вопросу:
Для обучения Байесовской модели кроме признаков требуется target (целевая переменная). Поскольку мы обучаем Байесовскую модель на эталонных данных (периоды, когда оборудование работало хорошо), в качестве target-а проставляем единицы, что значит «оборудование работает хорошо».
На инференсе Байесовская модель измеряет отклонение от эталона во времени (27 часов, из которых мы отсекаем 3 первых и 3 последних). Сначала на графике видно плавное удаление от единицы, а за 3-4 часа перед остановкой - стремительное снижение в каждом из доступных 61 случаев.
Таким образом, если в прогнозируемом периоде отклонение превышает заранее установленную границу – ожидаем внеплановой остановки оборудования (и принимаем меры к ее предотвращению).