Enota 2 / 11

Čiščenje in priprava podatkov: manjkajoči podatki, odstopanja in kodiranje

Dobički:

  • Sposobnost prepoznavanja manjkajočih tipov podatkov (MCAR/MAR/MNAR), izstopajočih vrednosti in napak pri kodiranju ter uporaba umetne inteligence s pravilnimi podatki za izdelavo čistilne kode in diagnostike
  • Sposobnost videti, kako bo vsak korak čiščenja (brisanje, dodelitev, transformacija), ki ga predlaga umetna inteligenca, vplival na rezultat analize in vzpostaviti reverzibilen in dokumentiran potek dela
  • Vzdrževanje, da odločitve o čiščenju temeljijo na poznavanju procesa, ki ustvarja podatke, in da je umetna inteligenca nadzorovan pomočnik, ne slepi avtomat

Vsak izkušen analitik pozna eno resnico: večina časa empiričnega projekta ni modeliranje, ampak čiščenje podatkov (delo popravljanja napak, opustitev in neskladnosti v podatkih ter priprave za analizo). Kot grobo pravilo, približno 70–80 % časa porabimo za razumevanje, čiščenje in preoblikovanje podatkov; za dejansko analizo ostane samo 20-30%. V tej enoti bomo korak za korakom videli, kako umetna inteligenca (AI) lajša to težko breme, katere odločitve pa naj še vedno ostanejo vaše in zakaj.

Najprej postavimo dve osnovni dejstvi. Prvič, odločitve o čiščenju temeljijo na vašem poznavanju procesa, ki proizvaja podatke: samo vi veste, zakaj vrednost manjka, zakaj je število preveliko. AI ne vidi podatkov, ne pozna konteksta; Piše kodo, ne sprejema odločitev. Drugič, vsak korak čiščenja lahko spremeni rezultat analize. Če izbrišete izstopajočo vrednost, lahko obrnete koeficient; Izpolnjevanje manjkajočih s srednjo vrednostjo lahko umetno zmanjša varianco. Čiščenje mora biti torej reverzibilno in dokumentirano: nikoli se ne dotikajte neobdelanih podatkov, naredite vsak korak v kodi, zabeležite vpliv vsakega koraka.

Postopek čiščenja po korakih

1. Spoznajte podatke. Najprej si oglejte strukturo: število vrstic (opazanja) in stolpcev (spremenljivke), vrsto vsake spremenljivke (numerično, kategorično, datumsko), sumarno statistiko, število manjkajočih. AI lahko zahtevate to kodo "podatkovnega profila"; Vendar berete izhod in postavljate vprašanja, kot je "zakaj je ta spremenljivka prišla kot besedilo?"

2. Razumeti in razvrstiti manjkajoče podatke. Manjkajoči podatki so razdeljeni na tri vrste. MCAR (Missing Completely At Random): manjkanje ni posledica ničesar, na primer senzor je naključno odpovedal. MAR (Missing At Random): manjkanje je odvisno od drugih opazovanih spremenljivk, na primer starejši ljudje pogosteje puščajo vprašanje prazno, starost pa je znana. MNAR (Missing Not At Random): manjkanje je odvisno od same neopažene vrednosti, na primer osebe z visokimi zaslužki ne poročajo o svojem dohodku. To razlikovanje je ključnega pomena, ker določa metodo rešitve in AI tega ne more odločiti namesto vas.

3. Ukvarjajte se s pomanjkanjem. Možnosti: brisanje po seznamu, povprečna/mediana imputacija, večkratna imputacija na podlagi modela. Izbris v MCAR je relativno varen, vendar zmanjša velikost vzorca. Večkratna dodelitev je primernejša v MAR. Nobena preprosta metoda ne zagotavlja nepristranskosti v MNAR; Mehanizem pomanjkanja je treba modelirati ali pa opraviti vsaj analizo občutljivosti. Polnjenje povprečnosti je enostavno, a nevarno: zmanjšuje varianco, slabi odnose in skriva negotovost.

4. Preglejte odstopanja. Izstopanje je opazovanje, ki je zelo oddaljeno od drugih. Ločite dve vprašanji: Ali je to napaka (pri vnosu podatkov je bila zapisana starost 999) ali je to resnična, vendar izstopajoča vrednost (dohodek milijarderja)? Popravi napake; Ne brišite resničnih odstopanj, ker predstavljajo podatke. Če izbrišete izstopajočo vrednost, "ker vas moti", podatke izkrivljate proti rezultatu.

5. Kodiranje in doslednost. Standardizirajte kategorije (»moški«, »moški«, »E« vse v eno kodo), združite datume v eno obliko, enote v eno lestvico, zaznajte podvojene vrstice. To je najmanj tvegana faza, kjer AI najbolje pomaga.

6. Dokumentirajte in zamrznite. Posnemite vsak korak s kodo in vrstico za komentar, tako da neobdelane in očiščene podatke hranite ločeno. Torej, ko sodnik vpraša "zakaj so bile te opazke izpuščene?" imaš pripravljen odgovor.

Pozor: Ne odločajte se o čiščenju na podlagi rezultatov. Brisanje vrstice z napisom "Ko izbrišete to vrstico, koeficient postane pomemben" je najbolj zahrbtna oblika p-hekanja, ki jo bomo videli v naslednji enoti.

Primerjalna tabela: metode manjkajočih podatkov

Metoda

Kdaj je primerno?

tveganje

Vloga AI

Izbriši vrstico

MCAR, nizka manjkajoča stopnja

Vzorec postane manjši, pristranskost v MAR/MNAR

Napiše kodo; vi se odločite

Dodelitev povprečje/mediana

Hitra predhodna analiza

Zmanjša odstopanje, skrije razmerje

Je enostavno, vendar ga ne priporočamo; bi morali opozoriti

Večkratna dodelitev (MI)

MAR, pomembne spremenljivke

Če ni pravilno nameščen, bo zavajajoč

Priporoča kodo in paket (miške)

Modeliranje mehanizma

MNAR

Kompleksno, domnevno intenzivno

Samo osnutek; potreben strokovnjak

Štirje pozivi za kopiranje

1. Profiliranje podatkov:

Vaša vloga: pomočnik pri čiščenju podatkov. Ne delim podatkov, želim kodo R. Imam data.frame z imenom 'digit'; spremenljivke: id, starost (številska), dohodek (številska), izobrazba (kategorična), regija (kategorična), datum (datum). Naloga: napisati kodo, ki izdela tip, manjkajoče število in stopnjo za vsako spremenljivko, sumarno statistiko za numerične in tabelo frekvenc za kategorične. Dodajte vrstico za komentar.

2. Diagnoza manjkajočih podatkov:

Napišite kodo, ki preučuje manjkajoči vzorec za zgornje 'številčne' podatke: - manjkajočo stopnjo vsake spremenljivke, - preprosto tabelo/graf, ki prikazuje razmerje med manjkajočimi podatki in drugimi spremenljivkami. Pogledal bom izpis kode in naredil razliko med MCAR/MAR/MNAR; Vi samo izdelate diagnostično orodje, NE odločajte o metodi dodelitve.

3. Izjemni pregled (brez brisanja):

Napišite kodo za spremenljivko 'dohodek', ki preučuje izstopajoče vrednosti BREZ BRISANJA: okvir, meje na podlagi IQR in tabelo s seznamom izstopajočih opazovanj + vrednosti. Bom videl, ali so to napake ali resnične. Dodaj samodejno brisanje.

4. Standardizacija kodiranja:

V spremenljivki 'izobrazba' so vrednosti zapisane mešano: "Osnovna šola","osnovna šola","PRIMARY","Srednja šola","srednja šola","Univerza","univ". Napišite kodo R, ki jih ponovno kodira v dosledne kategorije; Jasno pokažite tabelo preslikave, da lahko potrdim vsako konverzijo. Vrednost, ki je ne prepoznate, nastavite na "UNKNOWN".

Šibek poziv/močan poziv

Šibek poziv:

Počistite podatke, zapolnite vrzeli, zavrzite izstopajoče vrednosti.

Ta zahteva je nevarna: AI daje slepo avtoriteto. Kakšno manjkajoče, kakšno polnilo, kakšna protislovna resnica - nič od tega ni jasno. Rezultat je lahko prikrito pristranski niz podatkov.

Močan poziv:

Vaša vloga: pomočnik pri čiščenju, niste tisti, ki sprejema odločitve. Pojdite korak za korakom in napišite kodo, ki poroča o vplivu VSAKEGA koraka: 1) pokažite manjkajoči vzorec (NE izbrišite/izpolnite), 2) navedite izstopajoče kandidate (NE izbrišite), 3) popravite nedoslednosti kategorij s tabelo preslikave. Natisni število vrstic in povzetek statistike po vsakem koraku, da lahko vidim in potrdim spremembo. Samodejno vstavljanje dodelitve/brisanja.

Razlika je jasna: močna volja postavlja AI kot nadzorovanega pomočnika, ki proizvaja reverzibilne in dokumentirane korake.

trije mini kovčki

Primer 1 – past povprečne dodelitve. V podatkih o dohodku enega analitika za 5000 ljudi je manjkalo 18 %. Rekel je AI, naj "zapolni vrzeli"; AI jih je vse povprečil. Rezultat: varianca dohodka se je zmanjšala za 22 %, koeficient razmerja izobrazba-dohodek pa se je izkazal za šibkejšega, kot je bil. Pravilno: pomanjkljivost je bila MAR (zaradi izobrazbe), zapolniti jo je bilo treba z večkratno dodelitvijo (miši). Nauk: način polnjenja je odvisen od mehanizma.

Primer 2 – Čiščenje izstopa obrne ugotovitev. V podatkih o enem podjetju so bila 3 zelo velika podjetja (0,6 % celotnega opazovanja). Ti so bili izbrisani s predlogom AI za "čiščenje"; Koeficient ekonomije obsega se je spremenil iz pozitivnega v negativnega. Vendar so bila ta 3 podjetja resnična in pomemben del industrije. Pravilen način je bil poročanje s popolno in zanesljivo oceno namesto brisanja. Nauk: pravi izstopajoči podatki so podatki, ne hrup.

Primer 3 – Tiha napaka kodiranja. V eni plošči je bila datumska spremenljivka v dveh različnih oblikah (»2020-03-01« in »01/03/2020«). Ko jih je kombinirana koda, ki jo je izdelal umetna inteligenca, zamenjala za različne vrednosti, je bilo 1400 opazovanj neusklajenih in stopnje rasti so postale smešne. Vseeno bi bilo, če analitik ne bi preveril števila vrstic. Lekcija: štetje opazovanj in preverjanje zdrave pameti po vsakem koraku sta obvezna.

Pogoste napake

  • Slepo zapolnjevanje vrzeli s povprečjem. Zmanjšuje varianco, skriva negotovost in ustvarja pristranskost v MAR/MNAR. Najprej razvrstite mehanizem.
  • Brisanje odstopanja, "ker moti". Pravi izstopajoči podatki predstavljajo podatke; brisanje je krivljenje rezultata. Popravi, kar je narobe, obdrži, kar je resnično.
  • Tapkanje neobdelanih podatkov. Nikoli ne spreminjajte neobdelanih podatkov; Izvedite vse čiščenje s kodo v ločeni kopiji, da jo je mogoče povrniti.
  • Ni merjenja vpliva korakov. Če po vsakem koraku ne preverite števila vrstic in statistike povzetka, se kopičijo tihe napake.
  • Posledično čiščenje. Logika "Ko dodate to vrstico, postane rezultat boljši" je p-hekanje; Čiščenje je treba načrtovati pred in neodvisno od rezultata analize.
Namig: vodite tabelo »pred/po«, v kateri so isti osnovni statistični podatki (srednja vrednost, mediana, število opazovanj, nekaj korelacije) ena ob drugi pred in po čiščenju. Nepričakovan skok je najboljši znanilec skrite napake.

Če povzamem

Čiščenje podatkov je najbolj zamudna in odločitev zahtevajoča faza empiričnega dela. Umetna inteligenca je pri tem zmogljiv generator kode, vendar ne more narediti koraka: razvrstite manjkajoči tip podatkov (MCAR/MAR/MNAR), ugotovite, ali je odstopanje napaka ali resničen, vsak korak je reverzibilen in dokumentiran. Namesto da bi umetni inteligenci dali slepo "jasno" pooblastilo, vzpostavite potek dela po korakih, katerega vpliv se meri in potrdi. Preverjanje števila opazovanj in skupne statistike po vsakem koraku je najboljši protistrup za tihe napake.

Aplikacijska naloga

Izberite vsaj dve spremenljivki, ki vsebujeta manjkajoče in izstopajoče vrednosti v nizu podatkov (vaši podatki ali vzorčni niz). Zahtevajte diagnostično kodo od umetne inteligence prek zgornjega poziva "korak za korakom, ne izbriši/izpolni" in jo zaženite. Razvrstite pomanjkljivost kot MCAR/MAR/MNAR in napišite svojo utemeljitev v enem stavku. Preglejte nasprotujoče si kandidate enega za drugim in se odločite, kateri je napaka in kateri resničen. Na koncu izdelajte tabelo "prej-potem" pred/po čiščenju in poročajte, če pride do nepričakovanih sprememb.

kontrolni seznam

  • [ ] Neobdelane podatke sem očistil v ločeni kopiji, ne da bi jih spremenil.
  • [ ] Pomanjkljivost sem razvrstil kot MCAR/MAR/MNAR in temu primerno izbral metodo.
  • [ ] Izstopajoče vrednosti sem pregledal enega za drugim, ali so bili napake ali resnični; Nisem ga zlepa izbrisal.
  • [ ] Po vsakem koraku čiščenja sem preveril število opazovanj in povzetek statistike.
  • [ ] Vse korake sem dokumentiral s kodo in vrstico za komentar; reverzibilen.
  • [ ] Čiščenje sem zasnoval na poznavanju procesa, ki proizvaja podatke, ne na rezultatu analize.