Jednotka 2 / 11

Čistenie a príprava údajov: Chýbajúce údaje, odľahlé hodnoty a kódovanie

zisky:

  • Schopnosť rozpoznať chýbajúce typy údajov (MCAR/MAR/MNAR), odľahlé hodnoty a chyby kódovania a použiť AI so správnymi údajmi na vytvorenie kódu čistenia a diagnostiky
  • Schopnosť vidieť, ako každý krok čistenia (vymazanie, priradenie, transformácia) navrhnutý umelou inteligenciou ovplyvní výsledok analýzy a vytvorí reverzibilný a zdokumentovaný pracovný postup
  • Udržiavanie toho, že rozhodnutia o čistení sú založené na znalosti procesu, ktorý generuje údaje, a že umelá inteligencia je asistent pod dohľadom, nie slepý automat

Každý skúsený analytik pozná jednu pravdu: väčšinu času empirického projektu nie je modelovanie, ale čistenie údajov (práca na oprave chýb, vynechaní a nezrovnalostí v údajoch a ich príprava na analýzu). Ako hrubé pravidlo platí, že asi 70 – 80 % času ide na pochopenie, čistenie a transformáciu údajov; len 20-30% zostáva na skutočnú analýzu. V tejto jednotke krok za krokom uvidíme, ako umelá inteligencia (AI) odľahčuje túto veľkú záťaž, ale ktoré rozhodnutia by mali zostať na vás a prečo.

Uveďme najprv dva základné fakty. Po prvé, rozhodnutia o čistení sú založené na vašich znalostiach procesu, ktorý vytvára údaje: iba vy viete, prečo hodnota chýba, prečo je číslo príliš veľké. AI nevidí údaje, nepozná kontext; Píše kód, nerozhoduje. Po druhé, každý krok čistenia môže zmeniť výsledok analýzy. Vymazanie odľahlej hodnoty môže prevrátiť koeficient; Doplnenie chýbajúceho priemerom môže umelo znížiť rozptyl. Čistenie by preto malo byť reverzibilné a zdokumentované: nikdy sa nedotýkajte nespracovaných údajov, vykonajte každý krok v kóde, zaznamenajte vplyv každého kroku.

Postup čistenia krok za krokom

1. Poznajte údaje. Najprv si pozrite štruktúru: počet riadkov (pozorovaní) a stĺpcov (premenné), typ jednotlivých premenných (číselné, kategorické, dátumové), súhrnné štatistiky, počet chýbajúcich. Môžete požiadať AI ​​o tento kód „údajového profilu“; Ale čítate výstup a kladiete otázky typu „prečo sa táto premenná objavila ako text?“

2. Pochopte a klasifikujte chýbajúce údaje. Chýbajúce údaje sú rozdelené do troch typov. MCAR (Missing Completely At Random): chýbanie nie je spôsobené ničím, napríklad náhodne zlyhal snímač. MAR (Missing At Random): chýbanie závisí od iných pozorovaných premenných, napríklad starší ľudia nechávajú otázku prázdnu častejšie, ale vek poznáte. MNAR (Missing Not At Random): chýbanie závisí od samotnej nepozorovanej hodnoty, napríklad ľudia s vysokými príjmami svoj príjem neuvádzajú. Tento rozdiel je kritický, pretože určuje spôsob riešenia a AI to nemôže rozhodnúť za vás.

3. Vyrovnajte sa s nedostatkom. Možnosti: zoznamové vymazanie, imputácia priemeru/mediánu, viacnásobná imputácia založená na modeli. Vymazanie v MCAR je relatívne bezpečné, ale znižuje veľkosť vzorky. Viacnásobné priradenie je vhodnejšie v MAR. Žiadna jednoduchá metóda nezaručuje nestrannosť v MNAR; Mechanizmus nedostatku by sa mal namodelovať alebo by sa mala vykonať aspoň analýza citlivosti. Napĺňanie priemeru je ľahké, ale nebezpečné: znižuje rozptyl, oslabuje vzťahy a skrýva neistotu.

4. Preskúmajte odľahlé hodnoty. Odľahlá hodnota je pozorovanie, ktoré je veľmi ďaleko od ostatných. Oddeľte dve otázky: Ide o chybu (v zadávaní údajov bol napísaný vek 999) alebo ide o skutočnú, ale odľahlú hodnotu (príjem miliardára)? opraviť chyby; Neodstraňujte skutočné odľahlé hodnoty, pretože predstavujú údaje. Odstránenie odľahlej hodnoty „pretože vás obťažuje“ skresľuje údaje smerom k výsledku.

5. Kódovanie a konzistencia. Štandardizujte kategórie ("Muž", "muž", "E" všetko do jedného kódu), uveďte dátumy do jedného formátu, jednotky do jednej stupnice, zistite duplicitné riadky. Toto je najmenej riziková fáza, v ktorej AI pomáha najlepšie.

6. Zdokumentujte a zmrazte. Zaznamenajte každý krok s kódom a riadkom komentára, pričom nespracované a vyčistené údaje uchovávajte oddelene. Takže keď sa rozhodca spýta "prečo boli tieto pozorovania upustené?" odpoveď máš pripravenú.

Upozornenie: Nerozhodujte sa o čistení na základe výsledkov. Vymazanie riadku s nápisom „Keď vymažete tento riadok, koeficient sa stane významným“ je najzákernejšia forma p-hackingu, ktorú uvidíme v ďalšej časti.

Porovnávacia tabuľka: chýbajúce dátové metódy

Metóda

Kedy je to vhodné?

riziko

Úloha AI

Odstrániť riadok

MCAR, nízka chybovosť

Vzorka sa zmenšuje, odchýlka v MAR/MNAR

Napíše kód; rozhodnete sa

Priradenie priemeru/mediánu

Rýchla predbežná analýza

Znižuje rozptyl, skrýva vzťah

Je to jednoduché, ale neodporúča sa to; by mal varovať

Viacnásobné priradenie (MI)

MAR, dôležité premenné

Ak nie je nainštalovaný správne, bude to zavádzajúce

Odporúčaný kód a balík (myši)

Modelovanie mechanizmov

MNAR

Komplexné, náročné na predpoklady

len koncept; vyžaduje sa odborník

Štyri kopírovateľné výzvy

1. Profilovanie údajov:

Vaša úloha: asistent čistenia dát. Údaje nezdieľam, chcem kód R. Mám data.frame s názvom 'digit'; premenné: id, vek (číselný), príjem (číselný), vzdelanie (kategóriový), kraj (kategorický), dátum (dátum). Úloha: napíšte kód, ktorý vytvorí typ, chýbajúce číslo a sadzbu pre každú premennú, súhrnnú štatistiku pre číselné a tabuľku frekvencie pre kategorické. Pridať riadok komentára.

2. Diagnostika chýbajúcich údajov:

Napíšte kód, ktorý preskúma chýbajúci vzor pre „číslicové“ údaje uvedené vyššie: - miera chýbania každej premennej, - jednoduchá tabuľka/graf zobrazujúci vzťah chýbajúcich údajov k iným premenným. Pozriem sa na výstup kódu a urobím rozlíšenie MCAR/MAR/MNAR; Vy len vyrábate diagnostický nástroj, NErozhodujte o spôsobe priradenia.

3. Kontrola odľahlých hodnôt (nevypúšťa sa):

Napíšte kód pre premennú „príjem“, ktorá skúma odľahlé hodnoty BEZ VYMAZANIA: boxplot, hranice založené na IQR a tabuľku so zoznamom odľahlých pozorovaní + hodnôt. Uvidím, či sú to chyby alebo skutočné. Pridajte automatické mazanie.

4. Štandardizácia kódovania:

V premennej 'vzdelanie' sú hodnoty zapísané zmiešane: "Primary school","primary school","PRIMARY","High school","high school","University","univ". Napíšte R kód, ktorý ich prekóduje do konzistentných kategórií; Ukážte prehľadne tabuľku mapovania, aby som mohol potvrdiť každú konverziu. Hodnotu, ktorú nepoznáte, nastavte na „NEZNÁMY“.

Slabá výzva / Silná výzva

Slabá výzva:

Vyčistite údaje, vyplňte medzery, vyhoďte odľahlé hodnoty.

Táto požiadavka je nebezpečná: dáva slepú autoritu AI. Aký typ chýba, aký druh náplne, aká protichodná pravda - nič z toho nie je jasné. Výsledkom môže byť tajne skreslený súbor údajov.

Výkonná výzva:

Vaša úloha: pomocník pri upratovaní, vy nerozhodujete. Postupujte krok za krokom a napíšte kód, ktorý informuje o vplyve KAŽDÉHO kroku: 1) zobrazte chýbajúci vzor (NEODSTRAŇUJTE/VYPLŇUJTE), 2) uveďte zoznam odľahlých kandidátov (NEODSTRAŇUJTE), 3) opravte nezrovnalosti kategórií s mapovacou tabuľkou. Po každom kroku vytlačte počet riadkov a súhrnnú štatistiku, aby som mohol vidieť a potvrdiť zmenu. Automatické priradenie/vymazanie vloženie.

Rozdiel je jasný: silná vôľa stavia AI ​​ako asistenta pod dohľadom, ktorý vytvára reverzibilné a zdokumentované kroky.

tri mini prípady

Prípad 1 – Pasca na priemerné priradenie. Údaje o príjmoch jedného analytika pre 5 000 ľudí chýbali 18 %. Povedal AI, aby „vyplnila medzery“; AI ich všetky spriemerovala. Výsledok: rozptyl príjmov sa znížil o 22 % a koeficient vzťahu vzdelanie – príjem sa ukázal byť slabší ako predtým. Správny spôsob: nedostatok bol MAR (vzhľadom na vzdelanie), bolo potrebné vyplniť viacnásobným zadaním (myši). Poučenie: spôsob plnenia závisí od mechanizmu.

Prípad 2 – Čistenie odľahlých hodnôt zvráti nález. V údajoch o jednej firme boli 3 veľmi veľké firmy (0,6 % z celkového pozorovania). Tieto boli vymazané návrhom AI na „čistenie“; Koeficient úspor z rozsahu sa zmenil z kladných na záporné. Tieto 3 spoločnosti však boli skutočnými a dôležitou súčasťou odvetvia. Správnym spôsobom bolo namiesto odstraňovania hlásenia s úplným aj robustným odhadom. Ponaučenie: skutočné odľahlé hodnoty sú dáta, nie šum.

Prípad 3 – Tichá chyba kódovania. Na jednom paneli sa premenná dátumu objavila v dvoch rôznych formátoch („2020-03-01“ a „01/03/2020“). Keď si ich kombinačný kód vytvorený AI pomýlil s rôznymi hodnotami, 1 400 pozorovaní sa nezhodovalo a miery rastu sa stali smiešnymi. Nevadilo by, keby analytik nekontroloval počet riadkov. Lekcia: Počty pozorovaní a kontroly zdravého rozumu po každom kroku sú nevyhnutnosťou.

Časté chyby

  • Slepo vyplniť medzeru priemerom. Znižuje rozptyl, skrýva neistotu a vytvára skreslenie v MAR/MNAR. Najprv klasifikujte mechanizmus.
  • Odstránenie odľahlej hodnoty „pretože to obťažuje“. Skutočné odľahlé hodnoty predstavujú údaje; mazanie je ohýbanie výsledku. Napravte, čo je zlé, ponechajte to, čo je skutočné.
  • Načítavanie nespracovaných údajov. Nikdy neupravujte nespracované údaje; Vykonajte všetko čistenie pomocou kódu v samostatnej kópii, aby ste sa k nemu mohli vrátiť.
  • Nemeranie vplyvu krokov. Ak sa po každom kroku nekontroluje počet riadkov a súhrnná štatistika, nahromadia sa tiché chyby.
  • Výsledkom je čistenie. Logika „Keď pridáte tento riadok, výsledok sa zlepší“ je p-hacking; Čistenie by sa malo naplánovať pred a nezávisle od výsledku analýzy.
Tip: Uchovajte si tabuľku „pred/po“, ktorá uvádza rovnaké základné štatistiky (priemer, medián, počet pozorovaní, niekoľko korelácií) vedľa seba pred a po vyčistení. Nečakaný skok je najlepšou predzvesťou skrytej chyby.

V súhrne

Čistenie dát je časovo najnáročnejšia a najnáročnejšia fáza empirickej práce. Umelá inteligencia je v tomto výkonný generátor kódu, ale nedokáže zavolať: klasifikujete chýbajúci typ údajov (MCAR/MAR/MNAR), určíte, či je odľahlá hodnota chybou alebo skutočnou, každý krok ponecháte reverzibilný a zdokumentovaný. Namiesto udelenia slepej „jasnej“ autority AI vytvorte postupný pracovný postup, ktorého vplyv sa meria a overuje. Kontrola počtu pozorovaní a súhrnných štatistík po každom kroku je najlepším liekom na tiché chyby.

Aplikačná úloha

Vyberte aspoň dve premenné, ktoré obsahujú chýbajúce a odľahlé hodnoty v množine údajov (vaše vlastné údaje alebo vzorová množina). Vyžiadajte si diagnostický kód od AI prostredníctvom výzvy „krok za krokom, neodstraňujte/nevyplňujte“ vyššie a spustite ho. Klasifikujte nedostatok ako MCAR/MAR/MNAR a svoje zdôvodnenie napíšte jednou vetou. Preskúmajte protichodných kandidátov jedného po druhom a rozhodnite, ktorý z nich je omyl a ktorý je skutočný. Nakoniec vytvorte tabuľku „pred-po“ pred/po čistení a nahláste, ak sa vyskytnú nejaké neočakávané zmeny.

kontrolný zoznam

  • [ ] Vyčistil som nespracované údaje v samostatnej kópii bez toho, aby som ich zmenil.
  • [ ] Nedostatok som klasifikoval ako MCAR/MAR/MNAR a podľa toho som zvolil metódu.
  • [ ] Skúmal som odľahlé hodnoty jednu po druhej, či ide o chyby alebo skutočné; Nezmazal som to naslepo.
  • [ ] Po každom kroku čistenia som skontroloval počet pozorovaní a súhrnné štatistiky.
  • [ ] Všetky kroky som zdokumentoval kódom a riadkom komentára; reverzibilné.
  • [ ] Čistenie som založil na znalosti procesu, ktorý vytvára údaje, nie na výsledku analýzy.