Как оценить качество данных
Измерение и создание показателей.
Социальная сеть QuizUp сначала задумывалась как приложение-викторина. Сейчас у нее более 100 млн пользователей. Экс-глава направления по работе с данными QuizUp рассказала, что когда объемы собираемой информации выросли, все процессы усложнились. Команды начали использовать разные инструменты. Это привело к проблемам на всех этапах передачи данных.
Сначала ненадежность данных повлияла на скорость принятия решений, а потом некачественная информация привела к запуску слабого обновления. Чтобы решить эту проблему, в компании создали продукт Inspector. Его цель — обрабатывать потоки данных, визуализировать их и показывать потенциальные ошибки. Эта история — иллюстрация того, почему важно проводить оценку качества данных. Рассказываем, как это делать.
Ключевые направления оценки
Даже используя один инструмент профилирования данных, например, IBM Information Analyzer, можно оценивать их качество с разных сторон:
#1. Использовать статистику, собранную профилировщиком данных, чтобы определить, какие значения или форматы, обнаруженные в наборе данных, должны считаться действительными или недопустимыми в каждом столбце.
#2. Определить действительность домена каждого столбца (область допустимых значений) как минимальный/максимальный диапазон допустимых значений.
#3. Обнаружить или назначить классы данных для каждого столбца и искать значения, не соответствующие ожидаемому классу.
#4. Посмотреть на недостающие значения.
#5. Идентифицировать кандидатов на первичный ключ и искать значения, которые повторяются.
#6. Идентифицировать отношения первичного ключа между таблицами. А также найти потерянные значения в столбцах внешнего ключа, которые не обнаружили в первичном ключе отношения. Для этого нужно выбрать ключ, который не повторяется, и убедиться, что первичный ключ не меняется.
Как создать показатели качества
Оценка качества данных:
#1. Должна быть простой для понимания: вам нужна возможность быстро идентифицировать наборы данных высокого или низкого качества.
#2. Не должна зависеть от количества строк, столбцов или ограничений, установленных для набора.
#3. Должна быть нормализована: обеспечивать четкий диапазон минимально и максимально возможных баллов, чтобы пользователь мог видеть, насколько далеко качество данных от идеала.
Оценка качества может зависеть только от ваших ожиданий в отношении данных.
Если у вас нет конкретных требований к оценке данных, то она должна быть по умолчанию максимальной.
Ограничения данных
Наши ожидания от данных называют ограничениями. Их можно выразить по-разному:
#1. Указания, что значения в столбце должны быть ненулевыми или не должны быть подписаны.
#2. Определение минимального и максимального значения данных для столбца.
#3. Класс данных столбца. Он не только описывает его содержание, но и ищет значения, которые не соответствуют ожидаемому домену столбца.
#4. Выявленная взаимосвязь между двумя наборами данных, установка корреляции или функциональных зависимостей между столбцами.
Если данные не соответствуют одному из ограничений, у них есть проблемы с качеством.
Тип проблемы зависит от ограничения, которое не выполняется данными. Например, если в наборе данных 100 строк, а в столбце, помеченном как обязательный или не допускающий значения NULL, обнаружено 15 пропущенных значений, то в этом столбце сообщается о проблеме качества данных типа «пропущенное значение» с распространенностью 15%.
Как измерить качество данных
Улучшая качество данных, нужно быть уверенным, что есть способ измерить эффективность этой работы, иначе время и деньги будут потрачены зря. Вот метрики, которые вам помогут.
- Отношение данных к ошибкам
Эта метрика позволяет отслеживать, как количество известных ошибок (отсутствующие, неполные или избыточные записи) в наборе данных соотносится с его размером.
Если ошибок стало меньше, а размер данных остается прежним или растет, это значит, что качество данных улучшается.
- Количество пустых значений
Пустые значения указывают на то, что информация отсутствовала или была записана в неправильное поле в наборе данных. Нужно посмотреть, сколько пустых полей в наборе, а затем отслеживать, как это число меняется.
- Частота ошибок преобразования данных
Если измерять количество операций преобразования данных, которые завершаются неудачно, можно понять общее качество данных. Чем их больше, тем хуже качество.
- Затраты на хранение данных
Если данные хранятся, но ими не пользуются, это может быть связано с низким качеством данных. И наоборот, если расходы на хранилище снизятся, а объем операций с данными останется прежним или увеличится, то, вероятно, улучшится качество данных.
- Время окупаемости данных
Еще один способ измерить качество данных — это подсчет времени, необходимого команде для получения результатов.