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

Вот как этого избежать.

Какие характеристики данных бывают

Для начала разберёмся, кому стоит задуматься о качестве данных.

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

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

Теперь поговорим чуть подробнее о том, как оценить качество данных. Для этого стоит опираться на характеристики:

Название

Краткое описание

Стандартность

Форматы данных и значений соответствуют принятым

Полнота

Набор данных содержит все необходимые элементы

Консистентность

Отсутствие конфликтов между возможными значениями

Уникальность

Отсутствие дублирующихся значений

Актуальность

Временной промежуток соответствует задаче

Валидность

Данные содержат те значения, которые должны

Далее кратко расскажем, почему каждая из них важна.

Стандартность

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

  • Первое сентября 1991
  • 09.08.1996
  • 06.23.85
  • и так далее.

Чтобы привести их к одному виду, потребуется дополнительная работа, которой можно было бы избежать, если сразу собирать данные в одном стандартном формате. Если говорить именно о датах, то советуем использовать стандарт ISO 8601.

Полнота

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

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

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

Консистентность

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

Уникальность

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

Актуальность

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

Валидность

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

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

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

Если коротко — это зависит от того, какая у вас задача.

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

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

Поэтому при оценке качества имеет смысл ориентироваться на эти шаги:

  • выделить значимые характеристики данных;
  • определить метрики, которыми можно измерить эти характеристики;
  • установить пороговое значение для каждой из них.

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

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

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

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

Отмечайте параграфы как прочитанные чтобы видеть свой прогресс обучения

Вступайте в сообщество хендбука

Здесь можно найти единомышленников, экспертов и просто интересных собеседников. А ещё — получить помощь или поделиться знаниями.
Вступить
Сообщить об ошибке
Предыдущий параграф10.3. Линейная регрессия в Python
Следующий параграф11.2. Логистическая регрессия