Как оценить качество данных

Как оценить качество данных

Измерение и создание показателей.

Социальная сеть QuizUp сначала задумывалась как приложение-викторина. Сейчас у нее более 100 млн пользователей. Экс-глава направления по работе с данными QuizUp рассказала, что когда объемы собираемой информации выросли, все процессы усложнились. Команды начали использовать разные инструменты. Это привело к проблемам на всех этапах передачи данных. 

Сначала ненадежность данных повлияла на скорость принятия решений, а потом некачественная информация привела к запуску слабого обновления. Чтобы решить эту проблему, в компании создали продукт Inspector. Его цель — обрабатывать потоки данных, визуализировать их и показывать потенциальные ошибки. Эта история — иллюстрация того, почему важно проводить оценку качества данных. Рассказываем, как это делать.

Ключевые направления оценки
 

Даже используя один инструмент профилирования данных, например, IBM Information Analyzer, можно оценивать их качество с разных сторон:

#1. Использовать статистику, собранную профилировщиком данных, чтобы определить, какие значения или форматы, обнаруженные в наборе данных, должны считаться действительными или недопустимыми в каждом столбце.
#2. Определить действительность домена каждого столбца (область допустимых значений) как минимальный/максимальный диапазон допустимых значений.
#3. Обнаружить или назначить классы данных для каждого столбца и искать значения, не соответствующие ожидаемому классу.
#4. Посмотреть на недостающие значения.
#5. Идентифицировать кандидатов на первичный ключ и искать значения, которые повторяются. 
#6. Идентифицировать отношения первичного ключа между таблицами. А также найти потерянные значения в столбцах внешнего ключа, которые не обнаружили в первичном ключе отношения. Для этого нужно выбрать ключ, который не повторяется, и убедиться, что первичный ключ не меняется. 

Как создать показатели качества
 

Оценка качества данных:

#1. Должна быть простой для понимания: вам нужна возможность быстро идентифицировать наборы данных высокого или низкого качества.
#2. Не должна зависеть от количества строк, столбцов или ограничений, установленных для набора. 
#3. Должна быть нормализована: обеспечивать четкий диапазон минимально и максимально возможных баллов, чтобы пользователь мог видеть, насколько далеко качество данных от идеала.

Оценка качества может зависеть только от ваших ожиданий в отношении данных. 

Если у вас нет конкретных требований к оценке данных, то она должна быть по умолчанию максимальной.

Ограничения данных
 

Наши ожидания от данных называют ограничениями. Их можно выразить по-разному: 

#1. Указания, что значения в столбце должны быть ненулевыми или не должны быть подписаны.
#2. Определение минимального и максимального значения данных для столбца. 
#3. Класс данных столбца. Он не только описывает его содержание, но и ищет значения, которые не соответствуют ожидаемому домену столбца. 
#4. Выявленная взаимосвязь между двумя наборами данных, установка корреляции или функциональных зависимостей между столбцами.

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

Тип проблемы зависит от ограничения, которое не выполняется данными. Например, если в наборе данных 100 строк, а в столбце, помеченном как обязательный или не допускающий значения NULL, обнаружено 15 пропущенных значений, то в этом столбце сообщается о проблеме качества данных типа «пропущенное значение» с распространенностью 15%.

Как измерить качество данных
 

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

  • Отношение данных к ошибкам

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

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

  • Количество пустых значений

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

  • Частота ошибок преобразования данных

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

  • Затраты на хранение данных

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

  • Время окупаемости данных

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

Ещё статьи
Как системы работают с высокими нагрузками.
Зачем нужны библиотеки для векторизации.