Egység 2 / 11

Adatok tisztítása és előkészítése: hiányzó adatok, kiugró értékek és kódolás

Nyereség:

  • Képes a hiányzó adattípusok (MCAR/MAR/MNAR), a kiugró értékek és a kódolási hibák felismerésére, valamint a mesterséges intelligencia használatára a megfelelő adatokkal tisztító kód és diagnosztika előállításához
  • Képes látni, hogy a mesterséges intelligencia által javasolt egyes tisztítási lépések (törlés, hozzárendelés, átalakítás) hogyan befolyásolják az elemzés eredményét, és visszafordítható és dokumentált munkafolyamatot hoz létre
  • Annak fenntartása, hogy a tisztítási döntések az adatokat generáló folyamat ismeretén alapuljanak, és hogy a mesterséges intelligencia felügyelt asszisztens, nem pedig vak automata

Minden tapasztalt elemző tud egy igazságot: egy empirikus projekt legtöbbször nem modellezés, hanem adattisztítás (az adatok hibáinak, hiányosságainak, inkonzisztenciáinak kijavítása és elemzésre készsé tétele). Durva hüvelykujjszabály szerint az idő körülbelül 70-80%-a az adatok megértésére, tisztítására és átalakítására megy; csak 20-30% marad a tényleges elemzésre. Ebben az egységben lépésről lépésre látni fogjuk, hogyan könnyíti meg a mesterséges intelligencia (AI) ezt a súlyos terhet, de mely döntések maradjanak Önnél, és miért.

Tegyünk először két alapvető tényt. Először is, a tisztítási döntések az adatokat előállító folyamat ismeretén alapulnak: csak Ön tudja, miért hiányzik egy érték, miért túl nagy egy szám. Az AI nem látja az adatokat, nem ismeri a kontextust; Kódot ír, nem hoz döntéseket. Másodszor, minden tisztítási lépés megváltoztathatja az elemzés eredményét. Egy kiugró érték törlése megfordíthatja az együtthatót; A hiányzó átlaggal való kitöltése mesterségesen csökkentheti a szórást. Tehát a tisztításnak visszafordíthatónak és dokumentáltnak kell lennie: soha ne érintse meg a nyers adatokat, hajtsa végre a kód minden lépését, rögzítse az egyes lépések hatását.

A tisztítási munkafolyamat lépésről lépésre

1. Ismerje meg az adatokat. Először nézze meg a szerkezetet: sorok (megfigyelések) és oszlopok (változók) száma, az egyes változók típusa (numerikus, kategorikus, dátum), összefoglaló statisztikák, hiányzók száma. Kérheti az AI-tól ezt az "adatprofil" kódot; De elolvasod a kimenetet, és olyan kérdéseket teszel fel, mint "miért jött ez a változó szövegként?"

2. A hiányzó adatok megértése és osztályozása. A hiányzó adatok három típusra oszthatók. MCAR (Missing Completely At Random): a hiányzás nem valami miatt van, például véletlenszerűen meghibásodott egy érzékelő. MAR (Missing At Random): a hiányzás más megfigyelt változóktól függ, például az idősebbek gyakrabban hagynak üresen egy kérdést, de ismeri az életkort. MNAR (Missing Not At Random): a hiányosság magától a nem megfigyelt értéktől függ, a magas keresetűek például nem jelentik be a jövedelmüket. Ez a megkülönböztetés kritikus, mert ez határozza meg a megoldási módot, és az AI ezt nem tudja eldönteni Ön helyett.

3. Kezelje a hiányt. Lehetőségek: listánkénti törlés, átlag/medián imputáció, modell alapú többszörös imputáció. Az MCAR-ban való törlés viszonylag biztonságos, de csökkenti a minta méretét. A többszörös hozzárendelés megfelelőbb a MAR-ban. Egyetlen egyszerű módszer sem garantálja az elfogulatlanságot az MNAR-ban; A hiánymechanizmust modellezni kell, vagy legalább érzékenységi elemzést kell végezni. Az átlagkitöltés könnyű, de veszélyes: csökkenti a szórást, gyengíti a kapcsolatokat, és elrejti a bizonytalanságot.

4. Vizsgálja meg a kiugró értékeket. A kiugró érték olyan megfigyelés, amely nagyon távol áll a többitől. Válasszuk szét a két kérdést: Ez hiba (999 év volt az adatbevitelben), vagy valós, de kiugró érték (egy milliárdos jövedelme)? Hibák javítása; Ne törölje a valódi kiugró értékeket, mert adatokat képviselnek. A kiugró érték törlése "mert zavar" az eredmény felé torzítja az adatokat.

5. Kódolás és következetesség. Szabványosítsa a kategóriákat ("Férfi", "Férfi", "E" egy kódba), hozza a dátumokat egy formátumba, az egységeket egy skálába, észlelje az ismétlődő sorokat. Ez a legkevésbé kockázatos szakasz, ahol a mesterséges intelligencia a legjobban segít.

6. Dokumentálja és fagyassza le. Rögzítsen minden lépést kóddal és megjegyzéssorral, elkülönítve a nyers és a tisztított adatokat. Tehát amikor egy játékvezető megkérdezi: "miért ejtették el ezeket a megfigyeléseket?" készen van a válaszod.

Figyelem: Ne hozzon tisztítási döntéseket az eredmények alapján. A „Ha törli ezt a sort, az együttható szignifikánssá válik” sor törlése a p-hackelés legravatalosabb formája, amit a következő egységben látni fogunk.

Összehasonlító táblázat: hiányzó adatmódszerek

módszer

Mikor megfelelő?

kockázatot

Az AI szerepe

Sor törlése

MCAR, alacsony hiányzási arány

A minta kisebb lesz, torzítás a MAR/MNAR-ban

Írja a kódot; te döntesz

Átlag/medián hozzárendelés

Gyors előzetes elemzés

Csökkenti a szórást, elrejti a kapcsolatot

Könnyű, de nem ajánlom; figyelmeztetnie kell

Többszörös hozzárendelés (MI)

MAR, fontos változók

Ha nem megfelelően telepíti, félrevezető lesz

Kódot és csomagot ajánl (egerek)

Mechanizmus modellezés

MNAR

Összetett, feltételezésigényes

Csak vázlat; szakértő szükséges

Négy másolható felszólítás

1. Adatprofilalkotás:

Az Ön szerepe: adattisztító asszisztens. Nem osztom meg az adatokat, kérem az R kódot. Van egy 'digit' nevű data.frame; változók: id, életkor (numerikus), jövedelem (numerikus), iskolai végzettség (kategorikus), régió (kategorikus), dátum (dátum). Feladat: írjon kódot, amely minden változóhoz típust, hiányzó számot és arányt állít elő, numerikushoz összefoglaló statisztikát, kategorikushoz pedig gyakorisági táblázatot. Megjegyzéssor hozzáadása.

2. Hiányzó adatok diagnózisa:

Írjon egy kódot, amely megvizsgálja a fenti „számjegy” adatok hiányzó mintáját: - az egyes változók hiányzónáját, - egy egyszerű táblázatot/grafikont, amely bemutatja a hiányosság és más változók kapcsolatát. Megnézem a kód kimenetét, és különbséget teszek az MCAR/MAR/MNAR között; Ön csak előállítja a diagnosztikai eszközt, NE döntse el a hozzárendelési módszert.

3. Kiugró ellenőrzés (nem törlés):

Írjon kódot az „income” változóhoz, amely a kiugró értékeket TÖRÖLÉS NÉLKÜL vizsgálja: boxplot, IQR-alapú korlátok és a kiugró megfigyeléseket + értékeket tartalmazó táblázat. Megnézem, hogy ezek tévedések vagy valósak. Automatikus törlés hozzáadása.

4. Kódolási szabványosítás:

Az 'education' változóban az értékek vegyesen vannak írva: "Általános iskola", "Általános iskola", "PRIMARY", "Gimnázium", "középiskola", "Egyetem", "egyetem". Írjon egy R kódot, amely ezeket konzisztens kategóriákba kódolja át; Mutassa jól láthatóan a leképezési táblázatot, hogy minden konverziót meg tudjak erősíteni. Állítsa azt az értéket, amelyet nem ismer fel "UNKNOWN"-ra.

Gyenge felszólítás / Erős felszólítás

Gyenge felszólítás:

Tisztítsa meg az adatokat, töltse ki a hiányosságokat, dobja el a kiugró értékeket.

Ez az igény veszélyes: vak tekintélyt ad az MI-nek. Milyen típusú hiányosság, milyen töltelék, milyen ellentmondásos igazság - egyik sem világos. Az eredmény egy titokban elfogult adathalmaz lehet.

Erőteljes felszólítás:

A te szereped: takarító asszisztens, nem te vagy a döntéshozó. Lépésről lépésre írjon kódot, amely beszámol MINDEN lépés hatásáról: 1) mutassa meg a hiányzó mintát (NE törölje/töltse ki), 2) listázza ki a kiugró jelölteket (NE törölje), 3) javítsa ki a kategória inkonzisztenciáját a leképezési táblázattal. Minden lépés után nyomtassa ki a sorok számát és az összesítő statisztikát, hogy lássam és megerősítsem a változást. Automatikus hozzárendelés/törlés beszúrás.

A különbség egyértelmű: az erős akarat az AI-t felügyelt asszisztensként pozicionálja, visszafordítható és dokumentált lépéseket hozva.

három mini tok

1. eset – Átlagos hozzárendelési csapda. Az egyik elemző 5000 ember jövedelmi adataiból 18 százalék hiányzott. Azt mondta az AI-nak, hogy "pótolja be a hiányosságokat"; Az AI mindegyiket átlagolta. Eredmény: a jövedelem szórása 22%-kal csökkent, az iskolai végzettség-jövedelem kapcsolat együtthatója gyengébbnek bizonyult, mint volt. Helyes mód: a hiányosság MAR volt (iskolai végzettség miatt), többszörös beadással (egerek) kellett pótolni. Tanulság: a töltés módja a mechanizmustól függ.

2. eset – A kiugró tisztítás megfordítja a megállapítást. Egy cégadatban 3 nagyon nagy cég szerepelt (a teljes megfigyelés 0,6%-a). Ezeket az AI „tisztítási” javaslata törölte; A méretgazdaságossági együttható pozitívból negatívba fordult. Ez a 3 vállalat azonban valódi és fontos része volt az iparágnak. A helyes módszer az volt, hogy a törlés helyett teljes és robusztus becsléssel is jelentett. Tanulság: az igazi kiugró értékek az adatok, nem a zaj.

3. eset – Néma kódolási hiba. Az egyik panelen a dátum változó két különböző formátumban jelent meg ("2020-03-01" és "01/03/2020"). Amikor a mesterséges intelligencia által előállított kombinációs kód összetévesztette őket különböző értékekkel, 1400 megfigyelés hibás volt, és a növekedési ütemek nevetségessé váltak. Nem számítana, ha az elemző nem ellenőrzi a sorok számát. Tanulság: a megfigyelések és a józanság ellenőrzése minden lépés után kötelező.

Gyakori hibák

  • Vakon betöltve a hiányt az átlaggal. Csökkenti a szórást, elrejti a bizonytalanságot, és torzítást hoz létre a MAR/MNAR-ban. Először osztályozza a mechanizmust.
  • A kiugró érték törlése "mert zavar". A valódi kiugró értékek jelentik az adatokat; a törlés az eredmény eltorzulása. Javítsd ki a rosszat, tartsd meg, ami igaz.
  • Nyers adatok megérintése. Soha ne módosítsa a nyers adatokat; Végezzen el minden tisztítást a kóddal egy külön példányban, hogy vissza lehessen állítani.
  • Nem méri a lépések hatását. Ha a sorok számát és az összesítő statisztikát nem ellenőrzi minden lépés után, akkor a néma hibák halmozódnak fel.
  • Ennek eredményeként takarítás. A "Ha hozzáadja ezt a sort, az eredmény jobb lesz" logikája p-hackelés; A tisztítást az elemzés eredménye előtt és attól függetlenül kell megtervezni.
Tipp: Tartson egy „előtte/utána” táblázatot, amely ugyanazokat az alapvető statisztikákat (átlag, medián, megfigyelések száma, néhány korreláció) teszi egymás mellé a tisztítás előtt és után. A váratlan ugrás a rejtett hiba legjobb hírnöke.

Összefoglalva

Az adattisztítás az empirikus munka legidő- és döntésigényesebb szakasza. Az AI egy erős kódgenerátor, de nem tudja lehívni a felvételeket: osztályozzuk a hiányzó adattípusokat (MCAR/MAR/MNAR), meghatározzuk, hogy a kiugró érték hibás vagy valós, minden lépés megfordítható és dokumentált. Ahelyett, hogy „tiszta” felhatalmazást adna a mesterséges intelligencia-vaknak, hozzon létre egy lépésről lépésre haladó munkafolyamatot, amelynek hatását mérik és validálják. A néma hibák legjobb ellenszere, ha minden lépés után ellenőrizzük a megfigyelések számát és az összesítő statisztikákat.

Pályázati feladat

Válasszon ki legalább két olyan változót, amelyek hiányzó és kiugró értékeket tartalmaznak egy adatkészletben (saját adatok vagy mintakészlet). Kérjen diagnosztikai kódot az AI-tól a fenti „lépésről lépésre, ne törölje/töltse ki” utasítással, és futtassa. Minősítse a hiányosságot MCAR/MAR/MNAR kategóriába, és írja le egy mondatban az indoklását! Vizsgálja meg egyenként az egymásnak ellentmondó jelölteket, és döntse el, melyik a tévedés, és melyik az igazi. Végül készítsen egy "előtte-utána" táblázatot a tisztítás előtt/után, és jelentse, ha bármilyen váratlan változás történt.

ellenőrző lista

  • [ ] A nyers adatokat egy külön példányban, változtatás nélkül tisztítottam meg.
  • [ ] A hiányt MCAR/MAR/MNAR kategóriába soroltam, és ennek megfelelően választottam a módszert.
  • [ ] A kiugró értékeket egyenként megvizsgáltam, hogy tévedések-e vagy valósak; Nem vakon töröltem.
  • [ ] Minden tisztítási lépés után ellenőriztem a megfigyelések számát és az összesített statisztikákat.
  • [ ] Az összes lépést kóddal és megjegyzéssorral dokumentáltam; megfordítható.
  • [ ] A tisztítást az adatokat előállító folyamat ismeretére alapoztam, nem az elemzési eredményre.