Как эта новая технология может конкретно помочь в мониторинге качества данных?

Контекст: проблемы с качеством данных

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

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

Время, потраченное впустую на задачи по обеспечению качества данных…

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

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

Качество данных включает согласованность данных и точность данных.

Мы определяем профилирование данных как способ оценки данных с точки зрения структуры и содержания.

Например, представим себе столбец с датами рождения, в котором все данные должны соответствовать следующему формату: мм/дд/гггг. Предположим, что Макс родился 1 января 1982 года. Если в ячейке с датой его рождения указано «01.01.1982», данные отформатированы правильно, т. е. они непротиворечивы. Если ячейка содержит «01.01.1982», «1 января 1982 г.» или вообще ничего, это вызовет ошибку и вызовет эскалацию. Таким образом, профилирование данных представляет собой быстрый способ проверки непротиворечивости данных. Но как насчет точности данных? Отражают ли данные реальность? Действительно, что если в ячейке, соответствующей дате рождения Макса, стоит «01.01.1967»? Хотя содержимое ячейки соответствует ожидаемому форматированию, сами данные неверны, т. е. неточны. Таким образом, профилирование данных может упускать из виду проблемы точности данных.

Таким образом, хотя профилирование данных может быть эффективным для проверки согласованности данных и выявления потенциальных проблем в наборе данных, этого может быть недостаточно для обеспечения точности данных. Вот где машинное обучение может быть полезным.

Как отделы данных могут использовать машинное обучение в рамках своих целей модернизации для выявления потенциальных проблем с данными?

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

Во-первых, данный набор данных выбирается для исследования. Во-вторых, алгоритм машинного обучения выявляет выбросы в данных (дополнительные пояснения можно найти в разделе Методы машинного обучения этой статьи). В-третьих, эти выбросы отображаются на информационной панели с точки зрения ключевых показателей эффективности качества данных, таких как «Количество подозрительных точек данных».

На основе информационной панели аналитик данных, конечный пользователь и одно или несколько малых и средних предприятий подтверждают обнаруженные аномалии как проблемы с данными. Затем аналитик данных и SME решают, каким проблемам данных отдать приоритет, исходя из их влияния на отчеты. Наконец, аналитик данных сообщает разработчикам о проблемах с данными и о том, какие проблемы необходимо устранить в первую очередь.

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

Далее мы сосредоточимся на техническом подходе к машинному обучению.

Методы машинного обучения

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

Независимо от того, хотим ли мы определить потенциальные проблемы на уровне столбца или на уровне элемента (в строке) из набора данных или таблицы, важно понимать как поведение данных, так и бизнес-перспективу. Затем вы можете анализировать и очищать данные, чтобы построить свою модель машинного обучения.

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

  • Кластеризация K-средних: простой и элегантный подход к разделению набора данных на отдельные и непересекающиеся K-кластеры. Чтобы выполнить кластеризацию K-средних, вы должны сначала указать желаемое количество кластеров K; затем алгоритм K-средних будет назначать каждое наблюдение ровно одному из K кластеров. В зависимости от входных данных K-средние будут классифицировать данные по кластерам, а данные, расположенные далеко от кластера, будут считаться выбросами и потенциально сигнализируют о проблеме с данными. Преимущество кластеризации K-средних заключается в том, что алгоритмы K-средних очень просты и дают релевантные результаты.
  • Алгоритмы Isolation Forest: они обнаруживают аномалии, используя метод изоляции (данные, удаленные от остального набора). Этот метод также очень эффективен для обнаружения выбросов.
  • Алгоритмы локальных выбросов: они вычисляют отклонение локальной плотности данной точки данных по отношению к ее соседям.
  • HBSCAN: также является алгоритмом кластеризации, который может автоматически определять количество кластеров на основе плотности данных. Этот мощный алгоритм также полезен для данных с высокой вероятностью ошибки.
  • Другие интересные алгоритмы, такие как SVM, KNN или DeBaCI. Самое главное — попробовать разные алгоритмы, чтобы наблюдать и сравнивать результаты. Если тот же выброс идентифицируется другим алгоритмом, мы более уверены в том, на чем сосредоточить наш анализ. В общем, вы должны оценивать различные алгоритмы на основе результатов, производительности и масштабируемости.

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

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

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

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

Привлечение профильных экспертов и подход, основанный на отзывах:

Эксперт по предметным вопросам (SME), эксперт в соответствующей области (например, финансы, риски, соответствие требованиям, перевод), необходим для предоставления отзывов о результатах, полученных с помощью модели. Идея состоит в том, что SME должен подтвердить аномалию и предоставить ее объяснение. Эта информация позволяет аналитику корректировать модель (посредством сегментации, профилирования) и улучшать подход.

Внедрение решения для машинного обучения

Как только модель готова, она может начать взаимодействовать с целевой системой.

Вот несколько соображений:

  • Где будет реализована модель: в рассматриваемой системе или снаружи (например, в облаке)?
  • Архитектура и масштабируемость
  • Взаимодействие между системой и решением для машинного обучения: API или другое?
  • Влияние на производительность: если ожидается SLA (соглашение об уровне обслуживания), мы должны убедиться, что решение для машинного обучения не приведет к задержке в предоставлении данных конечным пользователям.
  • Обслуживание и мониторинг: создайте план версий для алгоритма машинного обучения и отслеживайте производительность.
  • Устойчивость: необходимо построить устойчивую архитектуру, чтобы, если модель машинного обучения недоступна, система все еще могла работать.

Заглядывая вперед

Корпоративные решения по машинному обучению — это очень полезные инструменты для улучшения отслеживания аномалий и сокращения объема ручного анализа. Твердая приверженность заинтересованных сторон под командованием офиса данных позволит нам совершить успешный переход от обучения без учителя к обучению с учителем. Это возможно с реальной политикой управления проблемами данных, которая должна включать:

  • Сохранение журналов для создания базы знаний
  • Организация ошибок по критериям
  • Воспроизведение ошибок в базе данных
  • Маркировка данных
  • Обучение алгоритма
  • Регулярное тестирование и оценка производительности алгоритма

Создание базы знаний об аномалиях позволит построить и обучить модель для более точного определения аномалий (т. е. контролируемое обучение).

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

Написано Николя Дриссом Вайяном, старшим руководителем отдела данных и аналитики в Arrayo, и Олимп Шерер, менеджером по развитию бизнеса в Arrayo.