Чаще всего компании собирают данные из множества разных источников. Информация получается разнородной, часто содержит ошибки, пустые значения, дубли и другие артефакты, которые помешают анализу. Это нормально — данные всегда поступают «грязными», такова их природа.
Чтобы убрать эти помехи, существует специальный процесс — очистка данных, который ещё называют data cleaning или scrubbing. Задача очистки данных — избавиться от большинства ошибок с помощью специальных инструментов и алгоритмов, сделать будущий анализ более точным.
Теоретически данные можно начать анализировать и без очистки. Однако на практике это может привести к проблемам — не соответствующим реальности графикам и отчётам или несбывающимся прогнозам. Поэтому грамотная работа с данными подразумевает их обязательную предварительную очистку.
Очистка данных — это ещё и важный этап машинного обучения. Если модель обучить на неочищенных данных, она просто не будет нормально работать и станет выдавать совершенно неадекватные результаты.
Неуникальные значения. Иногда конкретной записи должен соответствовать уникальный параметр. Например, у двух разных людей не может быть одинакового номера страхового полиса. Если в двух записях номер один и тот же — это ошибка. В результате обработка таких данных может дать сбой и не завершиться.
Недопустимые значения. Значение есть, но неправильное. Например, российский номер телефона, который начинается с цифры 9. Эта ошибка возникает, если не настроить фильтры на сборе данных.
Орфографические ошибки и опечатки. Слово введено неправильно, это искажает статистику и не позволяет фильтровать значения.
Кроме проблем с записями и значениями бывает шум. Обычно он возникает там, где обрабатывают не цифровую, а аналоговую информацию — например показания датчиков температуры, звуки или видео. В таком случае часть данных — это просто помехи, которые не имеют значения. И перед анализом данных нужно провести очистку от шума специальными методами.
Существуют и другие ошибки, которые встречаются реже или описываются гораздо сложнее. Подробнее о них, а также о методах их исправления можно узнать на курсе «Аналитик данных».
Универсальных решений для очистки данных от всех ошибок не существует. Как правило, этот процесс — комбинация разных методов очистки данных, которые вместе позволяют последовательно уменьшить количество дублей, опечаток и других артефактов.
Например, специалист может использовать эти простые методы:
● Удалять записи с ошибками по какому-то критерию — к примеру, оставлять последнюю и стирать все более старые. Этот метод хорошо подходит для дублей или противоречивых данных.
● Исправлять данные статистически. Если удаление приведёт к неправильному анализу, данные можно корректировать. Например, очистить ячейку с всплеском продаж и подставить на место всплеска ожидаемое значение. Когда данных много, этот метод достаточно эффективен.
● Сравнивать записи и выбирать подходящее значение. Допустим, среди множества строк, соответствующих одному пользователю, в некоторых присутствует аномальное значение — например неуникальный номер паспорта. В таком случае нужно посмотреть на другие строки и применить значение, которое встречается чаще всего.
● Применять словарь, который исправит опечатки. Для этого понадобится заранее собрать все самые частые ошибки и опечатки в текстовых полях. Потом словарь достаточно будет применить к данным и он автоматически заменит все несоответствия.
1. Полностью автоматизированный, с помощью инструментов, которые уже встроены в хранилище данных. Как правило, в инструментах для хранения больших данных есть готовые наборы, которые позволяют решать простые проблемы с данными.
2. С помощью скриптов. Их пишет аналитик данных, обычно на Python. Скрипты исправляют ошибки, характерные конкретно для его хранилищ данных.
3. Ручной, когда аналитик исправляет данные вручную. Этот метод используют редко и, как правило, объединяют с другими. Например, скрипты помогают найти строки с нетипичными ошибками, которые не получится исправить автоматически. После этого аналитик уже исправит их вручную, сверив данные с базами.
Как правило, эти способы очистки данных аналитики применяют вместе, в зависимости от ситуации.
Александр Сушков
Помните, что каждый случай индивидуален. Не стоит поддаваться соблазну очищать данные только автоматически — то, что работает с одним набором данных, может не сработать с другим. Всегда стоит проверить, как появились аномалии, и выдвинуть гипотезы о причинах искажений. Из рассуждений и анализа вариантов часто рождаются методы исправления ошибок. Поскольку аналитики ещё не научили компьютер мыслить ассоциативно, без вдумчивого исследования данных со стороны человека обойтись сложно. Каждый анализ похож на детективное расследование, а этого компьютеры пока не умеют.
Читать также: