Jednostka 2 / 11

Czyszczenie i przygotowanie danych: brakujące dane, wartości odstające i kodowanie

Zyski:

  • Umiejętność rozpoznawania brakujących typów danych (MCAR/MAR/MNAR), wartości odstających i błędów w kodowaniu oraz wykorzystywania sztucznej inteligencji z prawidłowymi danymi do tworzenia kodu czyszczącego i diagnostyki
  • Możliwość zobaczenia, jak każdy etap czyszczenia (usunięcie, przypisanie, przekształcenie) sugerowany przez sztuczną inteligencję wpłynie na wynik analizy i ustalenia odwracalnego i udokumentowanego przepływu pracy
  • Utrzymanie tego, że decyzje porządkowe opierają się na wiedzy o procesie generującym dane, a sztuczna inteligencja jest nadzorowanym asystentem, a nie ślepym automatem

Każdy doświadczony analityk zna jedną prawdę: większość czasu projektu empirycznego nie polega na modelowaniu, ale na czyszczeniu danych (pracy polegającej na poprawianiu błędów, przeoczeń i niespójności danych i przygotowywaniu ich do analizy). Z grubsza przyjmuje się, że około 70–80% czasu poświęca się na zrozumienie, czyszczenie i przekształcanie danych; do właściwej analizy pozostało jedynie 20-30%. W tym module zobaczymy krok po kroku, jak sztuczna inteligencja (AI) odciąża to ogromne obciążenie, ale jakie decyzje i dlaczego warto jeszcze podjąć.

Na początek postawmy dwa podstawowe fakty. Po pierwsze, decyzje dotyczące czyszczenia opierają się na wiedzy o procesie, w wyniku którego powstają dane: tylko Ty wiesz, dlaczego brakuje wartości lub dlaczego liczba jest zbyt duża. AI nie widzi danych, nie zna kontekstu; Pisze kod, nie podejmuje decyzji. Po drugie, każdy etap czyszczenia może zmienić wynik analizy. Usunięcie wartości odstającej może odwrócić współczynnik; Uzupełnienie brakujących danych średnią może sztucznie zmniejszyć wariancję. Dlatego czyszczenie powinno być odwracalne i udokumentowane: nigdy nie dotykaj surowych danych, wykonaj każdy krok w kodzie i zapisz wpływ każdego kroku.

Procedura czyszczenia krok po kroku

1. Poznaj dane. Najpierw zapoznaj się ze strukturą: liczba wierszy (obserwacji) i kolumn (zmiennych), typ każdej zmiennej (liczbowa, kategoryczna, data), statystyki podsumowujące, liczba braków. Możesz poprosić sztuczną inteligencję o ten kod „profilu danych”; Ale czytasz dane wyjściowe i zadajesz pytania typu „dlaczego ta zmienna pojawiła się jako tekst?”

2. Rozumieć i klasyfikować brakujące dane. Brakujące dane dzielą się na trzy typy. MCAR (Missing Completely At Random): zaginięcie nie jest spowodowane niczym, na przykład losową awarią czujnika. MAR (Missing At Random): zaginięcie zależy od innych zaobserwowanych zmiennych, na przykład starsi ludzie częściej pozostawiają pytanie puste, ale znasz wiek. MNAR (Missing Not At Random): brak danych zależy od samej niezaobserwowanej wartości, np. osoby o wysokich dochodach nie zgłaszają swoich dochodów. To rozróżnienie jest krytyczne, ponieważ określa metodę rozwiązania, a sztuczna inteligencja nie może zdecydować o tym za Ciebie.

3. Radź sobie z niedoborami. Opcje: usunięcie z listy, imputacja średniej/mediany, wielokrotna imputacja oparta na modelu. Delecja w MCAR jest stosunkowo bezpieczna, ale zmniejsza wielkość próbki. Przypisanie wielokrotne jest bardziej odpowiednie w MAR. Żadna prosta metoda nie gwarantuje bezstronności MNAR; Należy zamodelować mechanizm niedoborów lub przynajmniej przeprowadzić analizę wrażliwości. Wypełnianie średnich jest łatwe, ale niebezpieczne: zmniejsza wariancję, osłabia relacje i ukrywa niepewność.

4. Sprawdź wartości odstające. Wartość odstająca to obserwacja znajdująca się bardzo daleko od pozostałych. Oddziel dwa pytania: czy to błąd (we wpisie danych wpisano wiek 999), czy też jest to rzeczywista, ale odbiegająca od normy wartość (dochód miliardera)? Napraw błędy; Nie usuwaj prawdziwych wartości odstających, ponieważ reprezentują one dane. Usunięcie wartości odstającej „ponieważ przeszkadza” powoduje zniekształcenie danych w kierunku wyniku.

5. Kodowanie i spójność. Standaryzuj kategorie („Mężczyzna”, „Mężczyzna”, „E” wszystko w jednym kodzie), umieszczaj daty w jednym formacie, jednostki w jednej skali, wykrywaj duplikaty wierszy. To najmniej ryzykowna faza, w której sztuczna inteligencja pomaga najlepiej.

6. Dokumentuj i zamrażaj. Zapisz każdy krok za pomocą kodu i wiersza komentarza, oddzielając surowe i oczyszczone dane. Kiedy więc sędzia pyta „dlaczego pominięto te obserwacje?” masz gotową odpowiedź.

Przestroga: Nie podejmuj decyzji dotyczących czyszczenia na podstawie wyników. Usunięcie wiersza z informacją „Kiedy usuniesz tę linię, współczynnik staje się znaczący” jest najbardziej podstępną formą p-hackingu, którą zobaczymy w następnej części.

Tabela porównawcza: brakujące metody danych

Metoda

Kiedy jest to właściwe?

ryzyko

Rola sztucznej inteligencji

Usuń wiersz

MCAR, niski wskaźnik braków

Próbka staje się mniejsza, odchylenie w MAR/MNAR

Zapisuje kod; ty decydujesz

Przypisanie średniej/mediany

Szybka wstępna analiza

Zmniejsza wariancję, ukrywa związek

Jest to łatwe, ale nie zaleca tego; powinien ostrzegać

Przypisanie wielokrotne (MI)

MAR, ważne zmienne

Jeśli nie zostanie poprawnie zainstalowany, będzie to wprowadzać w błąd

Poleca kod i pakiet (myszy)

Modelowanie mechanizmu

MNAR

Złożone, wymagające wielu założeń

Tylko wersja robocza; potrzebny jest ekspert

Cztery kopiowalne podpowiedzi

1. Profilowanie danych:

Twoja rola: asystent czyszczenia danych. Nie udostępniam danych, chcę kod R. Mam ramkę danych o nazwie „cyfra”; zmienne: identyfikator, wiek (liczbowy), dochód (liczbowy), wykształcenie (kategoryczny), region (kategoryczny), data (data). Zadanie: napisać kod generujący typ, brakującą liczbę i współczynnik dla każdej zmiennej, statystyki podsumowujące dla liczbowych i tabelę częstości dla jakościowych. Dodaj linię komentarza.

2. Diagnoza brakujących danych:

Napisz kod sprawdzający brakujący wzór dla powyższych danych „cyfrowych”: - wskaźnik braków każdej zmiennej, - prostą tabelę/wykres pokazujący związek braków z innymi zmiennymi. Przyjrzę się wynikowi kodu i dokonam rozróżnienia MCAR/MAR/MNAR; Po prostu produkujesz narzędzie diagnostyczne, NIE decydujesz o metodzie przypisania.

3. Kontrola wartości odstających (nie usuwanie):

Napisz kod dla zmiennej „income”, która sprawdza wartości odstające BEZ USUWANIA: wykres pudełkowy, granice oparte na IQR i tabelę zawierającą obserwacje odstające + wartości. Zobaczę czy to pomyłka czy prawda. Dodaj automatyczne usuwanie.

4. Standaryzacja kodowania:

W zmiennej „edukacja” zapisywane są wartości mieszane: „Szkoła podstawowa”, „szkoła podstawowa”, „podstawowa”, „liceum”, „liceum”, „uniwersytet”, „uniw”. Napisz kod R, który przekoduje je w spójne kategorie; Pokaż wyraźnie tabelę mapowania, abym mógł potwierdzić każdą konwersję. Ustaw wartość, której nie rozpoznajesz, na „NIEZNANA”.

Słaba zachęta/silna zachęta

Słaba zachęta:

Oczyść dane, uzupełnij luki i odrzuć wartości odstające.

To żądanie jest niebezpieczne: daje ślepą władzę AI. Jakiego rodzaju brak, jakie wypełnienie, jaka sprzeczna prawda – nic nie jest jasne. Rezultatem może być potajemnie stronniczy zestaw danych.

Potężny monit:

Twoja rola: pomocnik sprzątający, nie jesteś decydentem. Przejdź krok po kroku i napisz kod, który raportuje wpływ KAŻDEGO kroku: 1) pokaż brakujący wzorzec (NIE usuwaj/wypełniaj), 2) wyświetl listę kandydatów odbiegających od normy (NIE usuwaj), 3) napraw niespójności kategorii z tabelą mapowania. Wydrukuj liczbę wierszy i statystyki podsumowujące po każdym kroku, abym mógł zobaczyć i potwierdzić zmianę. Automatyczne wstawianie przypisania/usunięcia.

Różnica jest wyraźna: silna wola pozycjonuje sztuczną inteligencję jako nadzorowanego asystenta, wykonującego odwracalne i udokumentowane kroki.

trzy mini etui

Przypadek 1 – Pułapka średniego przypisania. W danych o dochodach jednego z analityków na 5000 osób brakowało 18%. Powiedział AI, aby „uzupełniła luki”; AI uśredniła je wszystkie. Wynik: wariancja dochodów zmniejszyła się o 22%, a współczynnik relacji wykształcenie – dochody okazał się słabszy niż wcześniej. Prawidłowy sposób: brak był MAR (wynikający z edukacji), musiał zostać uzupełniony przez wielokrotne przypisanie (myszy). Lekcja: metoda napełniania zależy od mechanizmu.

Przypadek 2 – Czyszczenie wartości odstających odwraca ustalenia. W danych jednej firmy znalazły się 3 bardzo duże firmy (0,6% ogółu obserwacji). Zostały one usunięte zgodnie z sugestią AI dotyczącą „czyszczenia”; Współczynnik korzyści skali zmienił się z dodatniego na ujemny. Jednak te 3 firmy były realne i stanowiły ważną część branży. Prawidłowym sposobem było zgłoszenie zarówno pełnego, jak i solidnego oszacowania, zamiast usuwania. Lekcja: prawdziwymi wartościami odstającymi są dane, a nie szum.

Przypadek 3 – Cichy błąd kodowania. W jednym panelu zmienna daty była dostępna w dwóch różnych formatach („2020-03-01” i „01.03.2020”). Kiedy kod kombinacji stworzony przez sztuczną inteligencję pomylił je z różnymi wartościami, 1400 obserwacji zostało błędnie dopasowanych, a stopy wzrostu stały się absurdalne. Nie miałoby to znaczenia, gdyby analityk nie sprawdził liczby wierszy. Lekcja: liczenie obserwacji i sprawdzanie zdrowego rozsądku po każdym kroku są koniecznością.

Typowe błędy

  • Ślepe wypełnianie luki średnią. Zmniejsza wariancję, ukrywa niepewność i tworzy stronniczość w MAR/MNAR. Najpierw klasyfikuj mechanizm.
  • Usunięcie wartości odstającej „ponieważ przeszkadza”. Prawdziwe wartości odstające reprezentują dane; usunięcie powoduje zakrzywienie wyniku. Popraw to, co jest złe, zachowaj to, co prawdziwe.
  • Stukanie surowych danych. Nigdy nie modyfikuj surowych danych; Wykonaj całe czyszczenie, umieszczając kod w osobnej kopii, aby można było go przywrócić.
  • Brak pomiaru wpływu kroków. Jeśli liczba wierszy i statystyki podsumowujące nie zostaną sprawdzone po każdym kroku, kumulują się ciche błędy.
  • W rezultacie sprzątanie. Logika „Kiedy dodasz tę linię, wynik będzie lepszy” to p-hakowanie; Czyszczenie należy zaplanować przed i niezależnie od wyniku analizy.
Wskazówka: Zachowaj tabelę „przed/po”, która zawiera te same podstawowe statystyki (średnia, mediana, liczba obserwacji, kilka korelacji) obok siebie przed i po czyszczeniu. Nieoczekiwany skok jest najlepszym zwiastunem ukrytego błędu.

Podsumowując

Czyszczenie danych jest najbardziej czasochłonną i wymagającą decyzji fazą prac empirycznych. Sztuczna inteligencja jest w tym potężnym generatorem kodu, ale nie może decydować o losach: klasyfikujesz typ brakujących danych (MCAR/MAR/MNAR), określasz, czy wartość odstająca jest błędem, czy rzeczywista, dbasz o to, aby każdy krok był odwracalny i udokumentowany. Zamiast dawać AI ślepą, „jasną” władzę, ustal krok po kroku przepływ pracy, którego wpływ będzie mierzony i weryfikowany. Sprawdzanie liczby obserwacji i statystyk podsumowujących po każdym kroku jest najlepszym antidotum na ciche błędy.

Zadanie aplikacji

Wybierz co najmniej dwie zmienne, które zawierają braki danych i wartości odstające w zbiorze danych (własne dane lub zbiór próbny). Poproś AI o kod diagnostyczny, korzystając z monitu „krok po kroku, nie usuwaj/nie wypełniaj” powyżej i uruchom go. Sklasyfikuj brak jako MCAR/MAR/MNAR i napisz swoje uzasadnienie w jednym zdaniu. Przeanalizuj kolejno sprzecznych kandydatów i zdecyduj, który z nich jest błędem, a który prawdziwym. Na koniec sporządź tabelę „przed i po” przed/po czyszczeniu i zgłoś, czy nastąpiły jakieś nieoczekiwane zmiany.

lista kontrolna

  • [ ] Wyczyściłem surowe dane w osobnej kopii, nie zmieniając ich.
  • [ ] Sklasyfikowałem brak jako MCAR/MAR/MNAR i odpowiednio wybrałem metodę.
  • [ ] Sprawdziłem wartości odstające jedna po drugiej, czy były to błędy, czy rzeczywiste; Nie usunąłem tego na ślepo.
  • [ ] Sprawdzałem liczbę obserwacji i statystyki podsumowujące po każdym etapie czyszczenia.
  • [ ] Udokumentowałem wszystkie kroki kodem i linią komentarza; odwracalny.
  • [ ] Czyszczenie oparłem na wiedzy o procesie, w wyniku którego powstają dane, a nie na wynikach analizy.