Очищення даних

Складність: Початковий Час читання: 10 хвилин

Чому дані ніколи не бувають ідеальними

Кожен набір даних, з яким ви стикнетеся в реальному світі, матиме проблеми. Респонденти пропускають питання. Датчики виходять з ладу та записують неможливі значення. Таблиці копіюються з подвоєними рядками. Хтось вводить «Н/Д» у числове поле. Дата відображається як «03/04/2025», і незрозуміло, чи це 3 березня, чи 4 квітня.

Очищення даних - це процес знаходження та виправлення цих проблем перед аналізом. Це не гламурна робота, але, мабуть, найважливіший крок у будь-якому аналізі. Досвідчені дата-сайентисти оцінюють, що 60-80% їхнього часу йде на очищення та підготовку даних. Пропустіть цей крок, і ваші результати можуть бути безглуздими - або, що гірше, впевнено хибними.

60 Очищення 20 Аналіз 10 Звітність 10 Збір

Графік вище показує типовий розподіл часу у дата-проєкті. Очищення домінує в обсязі роботи, тому вміння робити це добре приносить величезну віддачу.

Робота з пропущеними значеннями

Пропущені значення - найпоширеніша проблема якості даних. Клієнт залишає поле доходу порожнім у формі. Метеостанція виходить з ладу на день. Пацієнт пропускає контрольне обстеження. Питання в тому: що з цим робити?

Є кілька варіантів, кожен із компромісами. Можна видалити рядки з пропущеними значеннями - це просто, але зменшує набір даних і може внести упередженість, якщо пропуски не випадкові (наприклад, люди з високим доходом можуть частіше пропускати питання про дохід). Можна заповнити (імпутувати) пропущені значення середнім, медіаною чи більш складною моделлю прогнозування. Або можна позначити пропущені значення та включити факт відсутності як окрему змінну в аналіз.

Правильний підхід залежить від того, скільки даних пропущено та чому. Якщо лише 2% рядків мають пропущені значення і вони виглядають випадковими, видалення цих рядків зазвичай прийнятне. Якщо 30% стовпця відсутні, видалення викине забагато даних, і потрібна імпутація або інший аналітичний підхід.

Виявлення та видалення дублікатів

Дублікати записів можуть роздути ваші результати та спотворити кожну обчислену статистику. Якщо покупка клієнта з'являється двічі у базі даних, ви завищите дохід та переоціните кількість транзакцій. Дублікати потрапляють через об'єднання даних, повторне надсилання форм, збої системи та помилки ручного введення.

Знаходження дублікатів не завжди просте. Точні дублікати (ідентичні рядки) легко виявити. Але як щодо «Іван Петренко» за адресою «вул. Головна, 123» та «Ів. Петренко» за адресою «вул. Головна 123»? Це, ймовірно, одна й та сама особа з невеликими варіаціями. Методи нечіткого зіставлення допомагають виявити майже-дублікати, але вони вимагають суб'єктивних рішень про те, наскільки схожими мають бути два записи перед об'єднанням.

10500 До очищення 420 Видалено дублікатів 10080 Після очищення

Робота з викидами

Викид - це значення, яке різко відрізняється від решти даних. Зарплата в $5 000 000 у наборі даних працівників середнього рівня. Температура -40 градусів у Маямі в липні. Сесія на сайті тривалістю 72 години.

Критичне питання щодо викидів - чи вони реальні, чи помилки. Зарплата генерального директора в $5 млн - реальна, вона просто представляє іншу популяцію. Температура -40 у Маямі - майже напевно помилка датчика. 72-годинна веб-сесія може бути тим, хто залишив вкладку відкритою.

Для помилок доречне виправлення або видалення. Для реальних викидів є варіанти: залишити їх та використовувати стійку статистику (наприклад, медіану замість середнього), обмежити їх розумним порогом (це називається вінсоризація) або аналізувати окремо. Ніколи не видаляйте викиди автоматично лише тому, що вони незвичайні - завжди спершу з'ясуйте, чому вони існують.

Проблеми з типами даних

Комп'ютери по-різному обробляють числа, текст, дати та категорії. Якщо числовий стовпець випадково містить текстові значення (наприклад, «Н/Д» або «Уточнюється»), обчислення не спрацюють або дадуть помилки. Якщо дати зберігаються непослідовно (деякі як «2025-03-15», а інші як «15/03/2025»), сортування та фільтрація будуть порушені. Якщо категорія написана по-різному в різних рядках («Україна», «UA», «Укр.»), програма сприйматиме їх як три окремі групи.

Очищення типів даних включає стандартизацію форматів, перетворення рядків у числа де доречно, розбір дат у єдиний формат та уніфікацію назв категорій. Це нудно, але необхідно. Одне текстове значення-порушник у числовому стовпці може зламати весь аналітичний конвеєр.

Типові помилки

Навіть досвідчені аналітики роблять помилки під час очищення даних. Одна типова помилка - очищення оригінальних даних без збереження резервної копії. Завжди працюйте з копією. Інша - надмірне очищення - видалення стільки рядків і значень, що залишені дані вже не репрезентативні. Третя - непослідовне очищення - застосування різних правил до різних частин набору даних без документування причин.

Найкращий захист - вести журнал очищення: запис кожної зміни, причини та кількості задіяних записів. Це робить вашу роботу відтворюваною та перевірюваною. Якщо хтось ставить під сумнів ваші результати, ви можете вказати на журнал і показати, що саме сталося з необробленими даними перед початком аналізу.

Ключовий висновок

Очищення даних - це негламурний фундамент, на якому будується будь-який надійний аналіз. Працюйте з пропущеними значеннями обдумано, ретельно видаляйте дублікати, досліджуйте викиди перед видаленням та послідовно стандартизуйте типи даних. Завжди працюйте з копією, документуйте кожну зміну та пам'ятайте: час, вкладений в очищення даних, врятує вас від висновків, які дані насправді не підтримують.