Enhet 2 / 11

Datarensning och förberedelse: saknade data, extremvärden och kodning

Vinster:

  • Förmåga att känna igen saknade datatyper (MCAR/MAR/MNAR), extremvärden och kodningsfel och använda AI med rätt data för att producera rensningskod och diagnostik
  • Möjlighet att se hur varje rengöringssteg (radering, tilldelning, transformation) som föreslagits av artificiell intelligens kommer att påverka analysresultatet och etablera ett reversibelt och dokumenterat arbetsflöde
  • Upprätthålla att saneringsbeslut baseras på kunskap om processen som genererar data och att artificiell intelligens är en övervakad assistent, inte en blind automat

Varje erfaren analytiker känner till en sanning: det mesta av ett empiriskt projekt är inte modellering, utan datarensning (arbetet med att korrigera fel, utelämnanden och inkonsekvenser i data och göra den redo för analys). Som en grov tumregel går cirka 70-80% av tiden till att förstå, rensa och transformera data; endast 20-30 % återstår för själva analysen. I den här enheten kommer vi steg för steg att se hur artificiell intelligens (AI) lättar på denna tunga börda, men vilka beslut som fortfarande bör ligga hos dig och varför.

Låt oss sätta två grundläggande fakta först. För det första baseras städbeslut på din kunskap om processen som producerar data: bara du vet varför ett värde saknas, varför ett tal är för stort. AI ser inte data, känner inte till sammanhanget; Skriver kod, fattar inga beslut. För det andra kan varje rengöringssteg ändra analysresultatet. Att ta bort en extremvärde kan invertera koefficienten; Att fylla i det saknade med medelvärdet kan på konstgjord väg minska variansen. Så rensning bör vara reversibel och dokumenterad: rör aldrig rådata, gör varje steg i koden, registrera effekten av varje steg.

Steg-för-steg arbetsflöde för rengöring

1. Känn till data. Se först strukturen: antal rader (observationer) och kolumner (variabler), typ av varje variabel (numerisk, kategorisk, datum), sammanfattande statistik, antal saknade. Du kan be AI om denna "dataprofil"-kod; Men du läser resultatet och ställer frågor som "varför kom den här variabeln som text?"

2. Förstå och klassificera saknade data. Saknade data delas in i tre typer. MCAR (Missing Completely At Random): saknaden beror inte på någonting, till exempel har en sensor misslyckats slumpmässigt. MAR (Missing At Random): saknad beror på andra observerade variabler, till exempel lämnar äldre en fråga tom oftare, men du vet ålder. MNAR (Missing Not At Random): saknad beror på det oobserverade värdet i sig, till exempel höginkomsttagare rapporterar inte sin inkomst. Denna distinktion är kritisk eftersom den bestämmer lösningsmetoden och AI:n kan inte bestämma detta åt dig.

3. Ta itu med bristen. Alternativ: listvis radering, medelvärde/medianimputation, modellbaserad multipelimputation. Borttagning i MCAR är relativt säker men minskar urvalsstorleken. Flera uppdrag är mer lämpligt i MAR. Ingen enkel metod garanterar opartiskhet i MNAR; Bristmekanismen bör modelleras eller åtminstone en känslighetsanalys bör utföras. Att fylla medelvärden är lätt men farligt: ​​det minskar variansen, försvagar relationer och döljer osäkerhet.

4. Undersök extremvärden. En outlier är en observation som står väldigt långt ifrån de andra. Separera de två frågorna: Är detta ett fel (ålder 999 skrevs i datainmatningen) eller är det ett verkligt men extremt värde (en miljardärs inkomst)? Fixa buggar; Ta inte bort sanna extremvärden eftersom de representerar data. Att ta bort extremvärdet "för att det stör" du skevar data mot resultatet.

5. Kodning och konsekvens. Standardisera kategorier ("Man", "man", "E" allt i en kod), ta datum i ett format, enheter i en skala, upptäck dubbletter av rader. Detta är den minst riskfyllda fasen där AI hjälper bäst.

6. Dokumentera och frys. Spela in varje steg med kod och en kommentarsrad, separera rådata och rensade data. Så när en domare frågar "varför släpptes dessa observationer?" du har ditt svar redo.

Varning: Ta inte rengöringsbeslut baserat på resultat. Att ta bort en rad som säger "När du tar bort den här raden blir koefficienten signifikant" är den mest lömska formen av p-hacking, som vi kommer att se i nästa enhet.

Jämförelsetabell: saknade datametoder

Metod

När är det lämpligt?

risk

AI:s roll

Ta bort en rad

MCAR, låg felfrekvens

Provet blir mindre, bias i MAR/MNAR

Skriver koden; du bestämmer

Medel/median tilldelning

Snabb preliminär analys

Minskar varians, döljer relation

Det är enkelt men rekommenderar det inte; bör varna

Flera tilldelningar (MI)

MAR, viktiga variabler

Om den inte installeras korrekt kommer den att vara vilseledande

Rekommenderar kod och paket (möss)

Mekanism modellering

MNAR

Komplex, antagandeintensiv

Endast utkast; expert krävs

Fyra kopierbara uppmaningar

1. Dataprofilering:

Din roll: datarensningsassistent. Jag delar inte data, jag vill ha R-koden. Jag har en data.frame som heter 'digit'; variabler: id, ålder (numerisk), inkomst (numerisk), utbildning (kategorisk), region (kategorisk), datum (datum). Uppgift: skriv kod som producerar typ, saknat nummer och hastighet för varje variabel, sammanfattande statistik för numeriska och frekvenstabell för kategoriska. Lägg till kommentarsrad.

2. Saknade datadiagnos:

Skriv kod som undersöker det saknade mönstret för "siffran" ovan: - den saknade hastigheten för varje variabel, - en enkel tabell/graf som visar förhållandet mellan saknas och andra variabler. Jag kommer att titta på utdata från koden och göra MCAR/MAR/MNAR distinktion; Du producerar bara diagnosverktyget, bestäm INTE dig för tilldelningsmetoden.

3. Avvikande inspektion (ej radering):

Skriv kod för variabel 'inkomst' som undersöker extremvärden UTAN ATT TA BORT: boxplot, IQR-baserade gränser och tabell som listar extrema observationer + värden. Jag ska se om dessa är misstag eller verkliga. Lägg till automatisk borttagning.

4. Kodningsstandardisering:

I variabeln 'utbildning' skrivs värdena blandade: "Primary school","primary school","PRIMARY","High school","high school","University","univ". Skriv R-kod som kodar om dessa till konsekventa kategorier; Visa kartläggningstabellen tydligt så att jag kan bekräfta varje konvertering. Ställ in värdet som du inte känner igen till "OKNÖN".

Svag prompt / Stark prompt

Svag uppmaning:

Rensa upp data, fyll i luckorna, kassera extremvärdena.

Detta krav är farligt: ​​det ger blind auktoritet till AI. Vilken typ av saknad, vilken typ av fyllning, vilken motsägelsefull sanning - inget av det är klart. Resultatet kan vara en i hemlighet partisk datamängd.

Kraftfull uppmaning:

Din roll: städassistent, du är inte beslutsfattaren. Gå steg för steg och skriv kod som rapporterar effekten av VARJE steg: 1) visa det saknade mönstret (TA INTE bort/fyll i), 2) lista avvikande kandidater (TA INTE bort), 3) fixa kategoriinkonsekvenser med mappningstabellen. Skriv ut radantal och sammanfattningsstatistik efter varje steg så att jag kan se och bekräfta ändringen. Automatisk tilldelning/raderingsinsättning.

Skillnaden är tydlig: stark vilja positionerar AI som en övervakad assistent, som producerar reversibla och dokumenterade steg.

tre minifodral

Fall 1 — Genomsnittlig tilldelningsfälla. En analytikers inkomstdata för 5 000 personer saknade 18 %. Han sa till AI att "fylla i luckorna"; AI snittade dem alla. Resultat: inkomstvariationen minskade med 22 %, och koefficienten för förhållandet utbildning-inkomst visade sig vara svagare än den var. Rätt sätt: bristen var MAR (på grund av utbildning), måste fyllas med flera uppdrag (möss). Lektion: fyllningsmetoden beror på mekanismen.

Fall 2 — Outlier-rengöring vänder på upptäckten. Det fanns 3 mycket stora företag (0,6 % av den totala observationen) i en företagsdata. Dessa raderades av AI:s "rengöring"-förslag; Stordriftskoefficienten vände från positiv till negativ. Men de tre företagen var verkliga och en viktig del av branschen. Det korrekta sättet var att rapportera med både fullständig och robust uppskattning istället för att radera. Lärdom: verkliga extremvärden är data, inte brus.

Fall 3 — Tyst kodningsfel. I en panel kom datumvariabeln i två olika format ("2020-03-01" och "01/03/2020"). När kombinationskoden som produceras av AI misstog dem för olika värden, var 1 400 observationer felaktiga och tillväxthastigheterna blev löjliga. Det skulle inte spela någon roll om analytikern inte kontrollerade antalet rader. Lektion: observationsräkningar och hälsokontroller efter varje steg är ett måste.

Vanliga misstag

  • Blint fyller tomrummet med genomsnittet. Det minskar variansen, döljer osäkerhet och skapar bias i MAR/MNAR. Klassificera först mekanismen.
  • Att ta bort extremvärdet "för att det stör". Sanna extremvärden representerar data; radering böjer resultatet. Rätta till det som är fel, behåll det som är verkligt.
  • Tappning av rådata. Ändra aldrig rådata; Gör all rengöring med koden i en separat kopia så att den kan återgå till.
  • Mäter inte effekten av steg. Om radantal och sammanfattningsstatistik inte kontrolleras efter varje steg kommer tysta fel att ackumuleras.
  • Städning som följd. Logiken i "När du lägger till den här raden blir resultatet bättre" är p-hacking; Rengöring bör planeras före och oberoende av analysresultatet.
Tips: Håll en "före/efter"-tabell som lägger samma grundläggande statistik (medelvärde, median, antal observationer, några korrelationer) sida vid sida före och efter saneringen. Ett oväntat hopp är det bästa förebudet om ett dolt fel.

Sammanfattningsvis

Datarensning är den mest tidskrävande och beslutskrävande fasen av empiriskt arbete. AI:n är en kraftfull kodgenerator på det här, men den kan inte göra skotten: du klassificerar den saknade datatypen (MCAR/MAR/MNAR), avgör om extremvärdet är ett fel eller verkligt, håller varje steg reversibelt och dokumenterat. Istället för att ge AI-blinda "tydlig" auktoritet, skapa ett steg-för-steg-arbetsflöde vars inverkan mäts och valideras. Att kontrollera antalet observationer och sammanfattande statistik efter varje steg är det bästa motgiftet mot tysta fel.

Applikationsuppgift

Välj minst två variabler som innehåller saknade och extremvärden i en datamängd (din egen data eller en provuppsättning). Begär en diagnostisk kod från AI:n via prompten "steg för steg, ta inte bort/fyll inte" ovan och kör den. Klassificera bristen som MCAR/MAR/MNAR och skriv din motivering i en mening. Undersök de motsägelsefulla kandidaterna en efter en och avgör vilken som är ett misstag och vilken som är verklig. Ta slutligen fram en "före-efter"-tabell före/efter rengöring och rapportera om det finns några oväntade förändringar.

checklista

  • [ ] Jag rengjorde rådata i en separat kopia utan att ändra den.
  • [ ] Jag klassificerade bristen som MCAR/MAR/MNAR och valde metoden därefter.
  • [ ] Jag undersökte extremvärdena en efter en om de var felaktiga eller verkliga; Jag raderade det inte blint.
  • [ ] Jag kontrollerade antalet observationer och sammanfattande statistik efter varje rengöringssteg.
  • [ ] Jag dokumenterade alla steg med kod och en kommentarsrad; reversibel.
  • [ ] Jag baserade städningen på kunskap om processen som producerar data, inte på analysresultatet.