Dlaczego dane nigdy nie są idealne
Każdy zbiór danych, który napotkasz w świecie rzeczywistym, będzie miał problemy. Respondenci ankiet pomijają pytania. Czujniki działają wadliwie i rejestrują niemożliwe wartości. Arkusze kalkulacyjne zyskują zduplikowane wiersze przez kopiuj-wklej. Ktoś wpisuje "N/D" w polu numerycznym. Data pojawia się jako "03/04/2025" i nie wiadomo, czy oznacza 4 marca, czy 3 kwietnia.
Czyszczenie danych to proces znajdowania i naprawiania tych problemów przed analizą. Nie jest to efektowna praca, ale jest to prawdopodobnie najważniejszy krok w każdej analizie. Doświadczeni analitycy danych szacują, że 60-80% ich czasu pochłania czyszczenie i przygotowywanie danych. Pomiń ten krok, a twoje wyniki mogą być bezwartościowe -- lub, co gorsza, pewnie błędne.
Wykres powyżej pokazuje typowy podział czasu w projekcie danych. Czyszczenie dominuje w nakładzie pracy, dlatego nauka dobrego czyszczenia przynosi ogromne korzyści.
Obsługa brakujących wartości
Brakujące wartości to najczęstszy problem z jakością danych. Klient pozostawia pole dochodu puste w formularzu. Stacja pogodowa wyłącza się na dzień. Pacjent nie przychodzi na wizytę kontrolną. Pytanie brzmi: co z tym zrobić?
Masz kilka opcji, każda z kompromisami. Możesz usunąć wiersze z brakującymi wartościami -- to proste, ale zmniejsza zbiór danych i może wprowadzić obciążenie, jeśli braki nie są losowe (na przykład osoby o wysokich dochodach mogą częściej pomijać pytania o dochód). Możesz wypełnić (imputować) brakujące wartości za pomocą średniej kolumny, mediany lub bardziej zaawansowanego modelu predykcyjnego. Albo możesz oznaczyć brakujące wartości i uwzględnić brak danych jako osobną zmienną w analizie.
Właściwe podejście zależy od tego, ile danych brakuje i dlaczego. Jeśli tylko 2% wierszy ma brakujące wartości i wyglądają one na losowe, usunięcie tych wierszy jest zwykle w porządku. Jeśli brakuje 30% kolumny, usuwanie wyrzuci zbyt wiele danych i konieczna jest imputacja lub inne podejście analityczne.
Wykrywanie i usuwanie duplikatów
Zduplikowane rekordy mogą zawyżyć wyniki i zniekształcić każdą obliczaną statystykę. Jeśli zakup klienta pojawia się dwukrotnie w bazie danych, zawyżysz przychody i przecenisz liczbę transakcji. Duplikaty wkradają się przez łączenie danych, ponowne wysyłanie formularzy, awarie systemów i błędy ręcznego wprowadzania danych.
Znajdowanie duplikatów nie zawsze jest proste. Dokładne duplikaty (identyczne wiersze) łatwo wykryć. Ale co z "Jan Kowalski" na "Głównej 123" i "J. Kowalski" na "ul. Główna 123"? To prawdopodobnie ta sama osoba z drobnymi wariacjami. Techniki rozmytego dopasowania mogą pomóc zidentyfikować bliskie duplikaty, ale wymagają oceny, jak podobne muszą być dwa rekordy, zanim zostaną połączone.
Radzenie sobie z wartościami odstającymi
Wartość odstająca to wartość dramatycznie różna od reszty danych. Wynagrodzenie 5 000 000$ w zbiorze danych pracowników średniego szczebla. Odczyt temperatury -40 stopni w Miami w lipcu. Sesja na stronie internetowej trwająca 72 godziny.
Kluczowe pytanie dotyczące wartości odstających brzmi: czy są one prawdziwe, czy błędne? Wynagrodzenie prezesa w wysokości 5 milionów dolarów jest prawdziwe -- po prostu reprezentuje inną populację. Temperatura -40 w Miami to prawie na pewno błąd czujnika. 72-godzinna sesja internetowa może oznaczać, że ktoś zostawił otwartą kartę.
W przypadku błędów właściwe jest poprawienie lub usunięcie. W przypadku prawdziwych wartości odstających masz opcje: zachowaj je i użyj odpornych statystyk (jak mediana zamiast średniej), ogranicz je do rozsądnego progu (tzw. winsoryzacja) lub analizuj je oddzielnie. Nigdy automatycznie nie usuwaj wartości odstających tylko dlatego, że są nietypowe -- zawsze najpierw zbadaj, dlaczego istnieją.
Problemy z typami danych
Komputery traktują liczby, tekst, daty i kategorie w różny sposób. Jeśli kolumna numeryczna przypadkowo zawiera wartości tekstowe (jak "N/D" lub "Do ustalenia"), obliczenia zawiodą lub wyprodukują błędy. Jeśli daty są przechowywane niespójnie (część jako "2025-03-15", a inna jako "15/03/2025"), sortowanie i filtrowanie się zepsuje. Jeśli kategoria jest pisana różnie w różnych wierszach ("PL", "POL", "Polska"), oprogramowanie potraktuje je jako trzy osobne grupy.
Czyszczenie typów danych obejmuje standaryzację formatów, konwersję ciągów znaków na liczby tam, gdzie to właściwe, parsowanie dat do spójnego formatu i ujednolicanie etykiet kategorii. Jest to żmudne, ale niezbędne. Pojedyncza nieprawidłowa wartość tekstowa w kolumnie numerycznej może spowodować awarię całego potoku analitycznego.
Częste pułapki
Nawet doświadczeni analitycy popełniają błędy podczas czyszczenia danych. Jedną z częstych pułapek jest czyszczenie oryginalnych danych bez zapisania kopii zapasowej. Zawsze pracuj na kopii. Kolejną jest nadmierne czyszczenie -- usuwanie tak wielu wierszy i wartości, że pozostałe dane nie są już reprezentatywne. Trzecią jest niespójne czyszczenie -- stosowanie różnych reguł do różnych części zbioru danych bez udokumentowania powodów.
Najlepszą obroną jest prowadzenie dziennika czyszczenia: zapisu każdej dokonanej zmiany, jej przyczyny i liczby dotkniętych rekordów. Dzięki temu twoja praca jest powtarzalna i audytowalna. Jeśli ktoś zakwestionuje twoje wyniki, możesz wskazać dziennik i pokazać dokładnie, co stało się z surowymi danymi przed rozpoczęciem analizy.
Czyszczenie danych to nieefektowny fundament, na którym opiera się każda wiarygodna analiza. Obsługuj brakujące wartości z rozwagą, usuwaj duplikaty ostrożnie, badaj wartości odstające przed ich usunięciem i standaryzuj typy danych konsekwentnie. Zawsze pracuj na kopii, dokumentuj każdą zmianę i pamiętaj: czas zainwestowany w czyszczenie danych uchroni cię przed wyciąganiem wniosków, których dane w rzeczywistości nie potwierdzają.