Enhet 2 / 11

Datarensing og klargjøring: Manglende data, uteliggere og koding

Gevinster:

  • Evne til å gjenkjenne manglende datatyper (MCAR/MAR/MNAR), uteliggere og kodefeil og bruke AI med riktige data for å produsere oppryddingskode og diagnostikk
  • Evne til å se hvordan hvert rensetrinn (sletting, tildeling, transformasjon) foreslått av kunstig intelligens vil påvirke analyseresultatet og etablere en reversibel og dokumentert arbeidsflyt
  • Opprettholde at oppryddingsbeslutninger er basert på kunnskap om prosessen som genererer data, og at kunstig intelligens er en overvåket assistent, ikke en blind automat

Hver erfaren analytiker vet én sannhet: mesteparten av tiden i et empirisk prosjekt er ikke modellering, men datarensing (arbeidet med å korrigere feil, utelatelser og inkonsekvenser i dataene og gjøre dem klar for analyse). Som en grov tommelfingerregel går ca. 70-80 % av tiden til å forstå, rense og transformere data; kun 20-30 % er igjen til selve analysen. I denne enheten vil vi se steg for steg hvordan kunstig intelligens (AI) letter denne tunge byrden, men hvilke avgjørelser som fortsatt bør forbli hos deg og hvorfor.

La oss sette to grunnleggende fakta først. For det første er rengjøringsbeslutninger basert på din kunnskap om prosessen som produserer dataene: bare du vet hvorfor en verdi mangler, hvorfor et tall er for stort. AI ser ikke dataene, kjenner ikke konteksten; Skriver kode, tar ikke avgjørelser. For det andre kan hvert rengjøringstrinn endre analyseresultatet. Sletting av en uteligger kan invertere koeffisienten; Å fylle ut det manglende med gjennomsnittet kan kunstig redusere variansen. Så opprydding bør være reversibel og dokumentert: berør aldri rådataene, utfør hvert trinn i koden, registrer virkningen av hvert trinn.

Trinn-for-trinn arbeidsflyt for rengjøring

1. Kjenn til dataene. Se først strukturen: antall rader (observasjoner) og kolonner (variabler), type av hver variabel (numerisk, kategorisk, dato), sammendragsstatistikk, antall manglende. Du kan be AI om denne "dataprofil"-koden; Men du leser utdataene og stiller spørsmål som "hvorfor kom denne variabelen som tekst?"

2. Forstå og klassifisere manglende data. Manglende data er delt inn i tre typer. MCAR (Missing Completely At Random): savnet skyldes ikke noe, for eksempel feilet en sensor tilfeldig. MAR (Missing At Random): savnet avhenger av andre observerte variabler, for eksempel lar eldre et spørsmål stå tomt oftere, men du vet alder. MNAR (Missing Not At Random): savnet avhenger av den uobserverte verdien i seg selv, for eksempel rapporterer ikke høylønnede inntekter. Denne forskjellen er kritisk fordi den bestemmer løsningsmetoden og AI kan ikke bestemme dette for deg.

3. Håndtere mangelen. Alternativer: listevis sletting, gjennomsnittlig/median imputasjon, modellbasert multippel imputering. Sletting i MCAR er relativt trygt, men reduserer prøvestørrelsen. Fleroppgave er mer hensiktsmessig i MAR. Ingen enkel metode garanterer upartiskhet i MNAR; Mangelmekanismen bør modelleres eller i det minste utføres en sensitivitetsanalyse. Utfylling av gjennomsnitt er enkelt, men farlig: det reduserer variansen, svekker relasjoner og skjuler usikkerhet.

4. Undersøk avvikere. En uteligger er en observasjon som står veldig langt unna de andre. Skill de to spørsmålene fra hverandre: Er dette en feil (alder 999 ble skrevet i dataoppføringen) eller er det en reell, men avvikende verdi (inntekt til en milliardær)? Fiks feil; Ikke slett ekte uteliggere fordi de representerer data. Å slette uteliggeren "fordi det plager" du skjev dataene mot utfallet.

5. Koding og konsistens. Standardiser kategorier ("Mann", "mann", "E" alt i én kode), bring datoer i ett format, enheter i én skala, finn dupliserte rader. Dette er den minst risikable fasen der AI hjelper best.

6. Dokumenter og frys. Registrer hvert trinn med kode og en kommentarlinje, hold rådata og rensede data atskilt. Så når en dommer spør "hvorfor ble disse observasjonene droppet?" du har svaret klart.

Forsiktig: Ikke ta rengjøringsbeslutninger basert på resultater. Å slette en linje som sier "Når du sletter denne linjen, blir koeffisienten signifikant" er den mest lumske formen for p-hacking, som vi vil se i neste enhet.

Sammenligningstabell: manglende datametoder

Metode

Når er det passende?

risiko

Rollen til AI

Slett en rad

MCAR, lav manglende rate

Prøven blir mindre, skjevhet i MAR/MNAR

Skriver koden; du bestemmer

Gjennomsnittlig/median tildeling

Rask foreløpig analyse

Reduserer varians, skjuler forhold

Det er enkelt, men anbefaler det ikke; bør advare

Multiple assignment (MI)

MAR, viktige variabler

Hvis det ikke er riktig installert, vil det være misvisende

Anbefaler kode og pakke (mus)

Mekanisme modellering

MNAR

Kompleks, antakelseskrevende

Kun utkast; ekspert kreves

Fire kopierbare spørsmål

1. Dataprofilering:

Din rolle: assistent for datarensing. Jeg deler ikke dataene, jeg vil ha R-koden. Jeg har en data.frame kalt 'digit'; variabler: id, alder (numerisk), inntekt (numerisk), utdanning (kategorisk), region (kategorisk), dato (dato). Oppgave: skriv kode som produserer type, manglende tall og rate for hver variabel, sammendragsstatistikk for numeriske og frekvenstabell for kategoriske. Legg til kommentarlinje.

2. Manglende datadiagnose:

Skriv kode som undersøker det manglende mønsteret for "sifferdataene" ovenfor: - den manglende raten for hver variabel, - en enkel tabell/graf som viser forholdet mellom mangler og andre variabler. Jeg vil se på utdataene til koden og gjøre MCAR/MAR/MNAR-skillet; Du produserer bare diagnoseverktøyet, IKKE bestem deg for tildelingsmetoden.

3. Avvikende inspeksjon (ikke sletting):

Skriv kode for variabel 'inntekt' som undersøker uteliggere UTEN Å SLETTE: boksplott, IQR-baserte grenser og tabell som viser avvikende observasjoner + verdier. Jeg skal se om dette er feil eller ekte. Legg til automatisk sletting.

4. Kodestandardisering:

I 'utdanning'-variabelen skrives verdiene blandet: "Grunnskole","grunnskole","PRIMÆR","Vedgående skole","videregående","Universitet","univ". Skriv R-kode som omkoder disse til konsistente kategorier; Vis kartleggingstabellen tydelig slik at jeg kan bekrefte hver konvertering. Sett verdien du ikke gjenkjenner til "UNKNOWN".

Svak forespørsel / Sterk forespørsel

Svak melding:

Rydd opp i dataene, fyll ut hullene, kast utstikkerne.

Dette kravet er farlig: Det gir blind autoritet til AI. Hvilken type mangler, hva slags fylling, hvilken motstridende sannhet - ingenting av det er klart. Resultatet kan være et hemmelig partisk datasett.

Kraftig ledetekst:

Din rolle: rengjøringsassistent, du er ikke beslutningstaker. Gå trinn for trinn og skriv kode som rapporterer virkningen av HVERT trinn: 1) vis det manglende mønsteret (IKKE slett/fyll ut), 2) liste opp avvikende kandidater (IKKE slett), 3) fiks kategoriinkonsistens med kartleggingstabellen. Skriv ut radantall og sammendragsstatistikk etter hvert trinn, slik at jeg kan se og bekrefte endringen. Automatisk tildeling/sletteinnsetting.

Forskjellen er tydelig: sterk vilje posisjonerer AI som en overvåket assistent, og produserer reversible og dokumenterte trinn.

tre minisaker

Case 1 — Gjennomsnittlig oppdragsfelle. En analytikers inntektsdata for 5000 personer manglet 18 %. Han ba AI om å "fylle hullene"; AI var gjennomsnittet av dem alle. Resultat: inntektsvariasjonen gikk ned med 22 %, og koeffisienten til utdanning-inntektsforholdet viste seg å være svakere enn den var. Riktig måte: mangelen var MAR (på grunn av utdanning), måtte fylles med flere oppdrag (mus). Leksjon: fyllingsmetoden avhenger av mekanismen.

Tilfelle 2 — Ytterligere rengjøring reverserer funnet. Det var 3 veldig store bedrifter (0,6 % av den totale observasjonen) i ett firmadata. Disse ble slettet av AIs "rense"-forslag; Stordriftskoeffisienten snudde fra positiv til negativ. Imidlertid var disse 3 selskapene ekte og en viktig del av bransjen. Den riktige måten var å rapportere med både full og robust estimat i stedet for å slette. Leksjon: reelle uteliggere er data, ikke støy.

Tilfelle 3 — Stille kodefeil. I ett panel kom datovariabelen i to forskjellige formater ("2020-03-01" og "01/03/2020"). Da kombinasjonskoden produsert av AI forvekslet dem med forskjellige verdier, ble 1400 observasjoner mismatchet og vekstratene ble latterlige. Det ville ikke ha noe å si om analytikeren ikke sjekket radantallet. Leksjon: Observasjonstellinger og tilregnelighetskontroller etter hvert trinn er et must.

Vanlige feil

  • Blind fylle gapet med gjennomsnittet. Det reduserer variansen, skjuler usikkerhet og skaper skjevhet i MAR/MNAR. Klassifiser først mekanismen.
  • Sletting av uteliggeren "fordi det plager". Ekte uteliggere representerer dataene; sletting bøyer resultatet. Rett opp det som er galt, behold det som er ekte.
  • Tapping av rådata. Aldri endre rådata; Gjør all opprydding med koden i en egen kopi slik at den kan gå tilbake til.
  • Måler ikke virkningen av trinn. Hvis radantall og sammendragsstatistikk ikke kontrolleres etter hvert trinn, vil tause feil akkumuleres.
  • Opprydding som et resultat. Logikken til "Når du legger til denne linjen, blir resultatet bedre" er p-hacking; Rengjøring bør planlegges før og uavhengig av analyseresultatet.
Tips: Hold en "før/etter"-tabell som setter den samme grunnleggende statistikken (gjennomsnitt, median, antall observasjoner, noen få korrelasjoner) side om side før og etter oppryddingen. Et uventet hopp er den beste varsleren om en skjult feil.

Oppsummert

Datarydding er den mest tidkrevende og beslutningskrevende fasen av empirisk arbeid. AI er en kraftig kodegenerator på dette, men den kan ikke gi skuddene: du klassifiserer den manglende datatypen (MCAR/MAR/MNAR), avgjør om uteliggeren er en feil eller reell, holder hvert trinn reversibelt og dokumentert. I stedet for å gi AI-blinde "klar" autoritet, etablere en trinnvis arbeidsflyt hvis virkning måles og valideres. Kontroll av antall observasjoner og oppsummeringsstatistikk etter hvert trinn er den beste motgiften mot stille feil.

Søknadsoppgave

Velg minst to variabler som inneholder manglende og uteliggere i et datasett (dine egne data eller et eksempelsett). Be om en diagnosekode fra AI-en via "trinn for trinn, ikke slett/fyll"-prompten ovenfor og kjør den. Klassifiser mangelen som MCAR/MAR/MNAR og skriv begrunnelsen din i én setning. Undersøk de motstridende kandidatene en etter en og avgjør hvilken som er en feil og hvilken som er ekte. Lag til slutt en "før-etter"-tabell før/etter rengjøring og meld fra om det er noen uventede endringer.

sjekkliste

  • [ ] Jeg renset rådataene i en egen kopi uten å endre den.
  • [ ] Jeg klassifiserte mangelen som MCAR/MAR/MNAR og valgte metoden deretter.
  • [ ] Jeg undersøkte avvikene en etter en om de var feil eller reelle; Jeg slettet den ikke blindt.
  • [ ] Jeg sjekket antall observasjoner og oppsummeringsstatistikk etter hvert rensetrinn.
  • [ ] Jeg dokumenterte alle trinnene med kode og en kommentarlinje; reversible.
  • [ ] Jeg baserte rengjøringen på kunnskap om prosessen som produserer dataene, ikke på analyseresultatet.