О проблемах в промышленных данных
В прошлом посте мы начали говорить о проблемах в данных и остановились на том, что некоторые проблемы в данных можно решить с помощью математических методов предварительной обработки данных. Еще раз отметим, что проблемы в данных могут стать барьером (искажать результаты, сделать применение невозможным) при применении методов машинного обучения и построении доменных/физических моделей. Информация из данного поста также доступна на английском языке по ссылке на медиуме.
Попытаюсь собрать аргументы, почему я считаю данную тему важной и актуальной:
- 100% датасетов в промышленности, с которыми я сталкивался (НЛМК, ММК, ТМК, ЧТПЗ, ПМХ, Росатом, ГПН, Сибур и др.), имели хоть какие-то типовые проблемы
- Мало внимания (мало публикации и докладов) из-за закрытости темы промышленных данных, уникальности производств/данных/проблем
- Уникальность некоторых проблем промышленных данных - можно и не вспомнить о проблеме при работе с данными. Иногда некоторые проблемы упускаются из виду даже специалистами производства, глубоко погруженными в технологический процесс
- Помнить о проблемах важно на всем жизненном цикле data science проекта: при проведении EDA (exploratory data analysis, разведочный анализ данных), проектировании, прототипировании и реализации решении в промышленности
- И последнее, о чем уже было сказано выше: Проблемы могут стать барьером при применении методов машинного обучения и построении доменных/физических моделеи (искажать результаты, сделать применение невозможным), что становится особенно актуальным с учетом роста популярности машинного обучения
В этом посте мы подробнее остановимся на проблемах в данных и возможных причинах их возникновения. В первую очередь речь идет о временных рядах — показаниях датчиков, которые являются характеристиками технологического процесса или состояния оборудования.
Временной ряд – это упорядоченная во времени последовательность точек, представляющая собой характеристику процесса
Типичный временной ряд выглядит следующим образом:
Если разбивать проблемы по причинам возникновения, то можно выделить следующие группы:
- Проблемы, связанные с обработкой сигналов
- Проблемы, связанные со сбором данных
- Проблемы, связанные с изменением модели (бизнес процесса)
- Проблемы с точки зрения машинного обучения
При этом различные причины могут приводить к одним и тем же проблемам, поэтому далее в различных группах проблемы будут повторяться. Теперь давайте подробнее остановимся на каждой из групп для оценки причин и возникающих проблем в данных.
Проблемы, связанные с обработкой сигналов
Проблемы, связанные со сбором данных
Проблемы, связанные с изменением модели, из которой генерируются данные
Проблемы в данных с точки зрения машинного обучения
Здесь стоит коротко пояснить, что перечисленные ниже "проблемы" являются на самом деле скорее препятствиями для моделей машинного обучения и не являются реальными проблемами в данных в общепринятом смысле. Перечислим их:
Короткая история/проклятье размерности
Несбалансированность классов
Недостаток значений класса
Отсутствие частоты дискретизации
Разреженность
Мультиколлинеарность
- Разная амплитуда сигналов
Обзор проблем в данных
Наконец, пришло время рассмотреть сами проблемы (затронем большинство) и попробовать разобраться, что они из себя представляют.
Пропущенные значения (потеря данных)
Внезапные сдвиги (скачки)
Изменения диапазона и дрифт
Отсутствие или изменение частоты дискретизации
Зашумленные данные и меняющийся уровень шума
Низкая уникальность измерений
Выбросы и невозможные значения
Несбалансированность классов
Дисбаланс нормального и аномального классов данных ограничивает возможности применения моделей машинного обучения. Также важно помнить, что такая проблема также может возникать из-за смещения в выборке данных, а не всей генеральной совокупности.
Отсутствие и недостаток значений в классе
Отсутствие или недостаток значений, например, в аномальном классе, делает невозможным использование классов методов машинного обучения с учителем (supervised) или частичного обучения с учителем (semi-supervised).
Короткая история данных
История записи данных слишком коротка для их анализа и обучения моделей. Большое число признаков при малом объеме данных может приводить к "проклятью размерности".
Единицы измерения
Единицы измерения не одинаковы для всех сигналов или источников данных, например, сантиметры и дюймы.
Синхронизация времени
Временные метки измерений, поступающих из разных источников, могут немного отличаться, например, UTC+0 и UTC+3.
Типы и формат данных
Различные типы данных, например, float и string или формат данных.
Разная амплитуда сигналов
Разные сигналы могут иметь разный масштаб: один сигнал измеряется в сотнях миллионов, другой - в тысячных долях. Некоторые методы машинного обучения отдают предпочтениях большим значениям, поэтому результат будет искажен.
Разреженность
Данные, в которых большинство значений отсутствуют или нулевые.
Мультиколлинеарность
Наличие линейно зависимых признаков в данных может приводить к неправильной работе, например, моделей линейной регрессии.
Дубликаты
Наличие дублированных значений в выборке данных.
В следующем посте я расскажу про методы предварительной обработки данных, которые позволяют привести данные к такому виду, чтобы наиболее эффективно применять методы машинного обучения.
Я создал телеграм канал DataKatser, где появляюсь гораздо чаще и делюсь своими мыслями и интересными кейсами по data science, машинному обучению и искусственному интеллекту. Буду рад вашей подписке!