Eenheid 2 / 11

Opschonen en voorbereiden van gegevens: ontbrekende gegevens, uitschieters en codering

Winst:

  • Mogelijkheid om ontbrekende gegevenstypen (MCAR/MAR/MNAR), uitschieters en coderingsfouten te herkennen en AI met de juiste gegevens te gebruiken om opschooncode en diagnostiek te produceren
  • Mogelijkheid om te zien hoe elke door kunstmatige intelligentie voorgestelde reinigingsstap (verwijdering, toewijzing, transformatie) het analyseresultaat zal beïnvloeden en een omkeerbare en gedocumenteerde workflow tot stand zal brengen
  • Behouden dat opruimbeslissingen gebaseerd zijn op kennis van het proces dat gegevens genereert, en dat kunstmatige intelligentie een onder toezicht staande assistent is, en geen blinde automaat

Elke ervaren analist kent één waarheid: het merendeel van de tijd van een empirisch project bestaat niet uit modelleren, maar uit het opschonen van gegevens (het corrigeren van fouten, weglatingen en inconsistenties in de gegevens en het gereedmaken ervan voor analyse). Als vuistregel gaat ongeveer 70-80% van de tijd naar het begrijpen, opschonen en transformeren van gegevens; slechts 20-30% blijft over voor de daadwerkelijke analyse. In deze unit zullen we stap voor stap zien hoe kunstmatige intelligentie (AI) deze zware last verlicht, maar welke beslissingen nog steeds bij u moeten blijven en waarom.

Laten we eerst twee basisfeiten stellen. Ten eerste zijn opschoningsbeslissingen gebaseerd op uw kennis van het proces dat de gegevens produceert: alleen u weet waarom een ​​waarde ontbreekt, waarom een ​​getal te groot is. AI ziet de data niet, kent de context niet; Schrijft code, neemt geen beslissingen. Ten tweede kan elke reinigingsstap het analyseresultaat veranderen. Het verwijderen van een uitbijter kan de coëfficiënt omkeren; Het invullen van de ontbrekende waarden met het gemiddelde kan de variantie kunstmatig verkleinen. Het opruimen moet dus omkeerbaar en gedocumenteerd zijn: raak nooit de onbewerkte gegevens aan, voer elke stap in code uit, leg de impact van elke stap vast.

Stapsgewijze schoonmaakworkflow

1. Ken de gegevens. Bekijk eerst de structuur: aantal rijen (waarnemingen) en kolommen (variabelen), type van elke variabele (numeriek, categorisch, datum), samenvattende statistieken, aantal ontbrekende. Je kunt de AI om deze ‘dataprofiel’-code vragen; Maar je leest de uitvoer en stelt vragen als "waarom kwam deze variabele als tekst?"

2. Ontbrekende gegevens begrijpen en classificeren. Ontbrekende gegevens zijn onderverdeeld in drie typen. MCAR (Missing Completely At Random): het ontbreken is nergens aan te wijten, een sensor is bijvoorbeeld willekeurig defect geraakt. MAR (Missing At Random): ontbrekende gegevens zijn afhankelijk van andere waargenomen variabelen. Oudere mensen laten bijvoorbeeld vaker een vraag blanco, maar u kent de leeftijd. MNAR (Missing Not At Random): de ontbrekende waarde hangt af van de niet-geobserveerde waarde zelf; hoogverdieners rapporteren bijvoorbeeld hun inkomen niet. Dit onderscheid is van cruciaal belang omdat het de oplossingsmethode bepaalt en de AI dit niet voor u kan beslissen.

3. Pak het tekort aan. Opties: lijstgewijze verwijdering, gemiddelde/mediaan-imputatie, modelgebaseerde meervoudige imputatie. Verwijdering in MCAR is relatief veilig, maar verkleint de steekproefomvang. Meervoudige toewijzing is geschikter in MAR. Geen enkele eenvoudige methode garandeert onbevooroordeeldheid in MNAR; Het tekortkomingsmechanisme moet worden gemodelleerd of er moet op zijn minst een gevoeligheidsanalyse worden uitgevoerd. Mean-filling is gemakkelijk maar gevaarlijk: het vermindert de variantie, verzwakt relaties en verbergt onzekerheid.

4. Onderzoek uitschieters. Een uitbijter is een waarneming die heel ver verwijderd is van de andere. Scheid de twee vragen: is dit een fout (leeftijd 999 werd in de gegevensinvoer geschreven) of is het een reële maar uitschieter (inkomen van een miljardair)? Bugs oplossen; Verwijder geen echte uitbijters omdat deze gegevens vertegenwoordigen. Als u de uitbijter verwijdert "omdat het u stoort", verschuift u de gegevens naar de uitkomst.

5. Codering en consistentie. Standaardiseer categorieën ("mannelijk", "mannelijk", "E" allemaal in één code), breng datums in één formaat, eenheden in één schaal, detecteer dubbele rijen. Dit is de minst risicovolle fase waarin AI het beste helpt.

6. Documenteer en bevries. Leg elke stap vast met code en een commentaarregel, zodat onbewerkte en opgeschoonde gegevens gescheiden blijven. Dus als een scheidsrechter vraagt: "Waarom zijn deze observaties geschrapt?" je hebt je antwoord klaar.

Let op: Neem geen schoonmaakbeslissingen op basis van resultaten. Het verwijderen van een regel met de tekst "Als je deze regel verwijdert, wordt de coëfficiënt significant" is de meest verraderlijke vorm van p-hacking, die we in het volgende hoofdstuk zullen zien.

Vergelijkingstabel: ontbrekende gegevensmethoden

Methode

Wanneer is het passend?

risico

Rol van AI

Verwijder een rij

MCAR, laag percentage ontbrekende gegevens

Steekproef wordt kleiner, bias in MAR/MNAR

Schrijft de code; jij beslist

Gemiddelde/mediaan toewijzing

Snelle voorlopige analyse

Vermindert variantie, verbergt relaties

Het is gemakkelijk, maar het wordt niet aanbevolen; moeten waarschuwen

Meervoudige toewijzing (MI)

MAR, belangrijke variabelen

Als het niet correct wordt geïnstalleerd, is het misleidend

Beveelt code en pakket aan (muizen)

Modellering van mechanismen

MNAR

Complex, aanname-intensief

Alleen concept; deskundige is vereist

Vier kopieerbare aanwijzingen

1. Gegevensprofilering:

Jouw rol: assistent voor het opschonen van gegevens. Ik deel de gegevens niet, ik wil de R-code. Ik heb een data.frame genaamd 'digit'; variabelen: ID, leeftijd (numeriek), inkomen (numeriek), opleiding (categorisch), regio (categorisch), datum (datum). Taak: schrijf code die het type, het ontbrekende getal en de snelheid voor elke variabele produceert, samenvattende statistieken voor numerieke variabelen en een frequentietabel voor categorische variabelen. Voeg commentaarregel toe.

2. Diagnose van ontbrekende gegevens:

Schrijf code die het ontbrekende patroon voor de bovenstaande 'cijferige' gegevens onderzoekt: - het ontbrekende percentage van elke variabele, - een eenvoudige tabel/grafiek die de relatie tussen ontbrekende gegevens en andere variabelen laat zien. Ik zal naar de uitvoer van de code kijken en het onderscheid MCAR/MAR/MNAR maken; U produceert alleen het diagnosehulpmiddel, beslist NIET over de toewijzingsmethode.

3. Inspectie van uitschieters (niet verwijderen):

Schrijf code voor de variabele 'inkomen' die uitbijters onderzoekt ZONDER VERWIJDEREN: boxplot, op IQR gebaseerde grenzen en een tabel met observaties van uitschieters + waarden. Ik zal zien of dit fouten zijn of echt. Automatische verwijdering toevoegen.

4. Standaardisatie van codering:

In de variabele 'onderwijs' worden de waarden gemengd geschreven: "Basisschool", "basisschool", "PRIMAIR", "Middelbare school", "middelbare school", "Universiteit", "univ". Schrijf R-code die deze in consistente categorieën hercodeert; Laat de mappingtabel duidelijk zien, zodat ik elke conversie kan bevestigen. Stel de waarde die u niet herkent in op "ONBEKEND".

Zwakke prompt/sterke prompt

Zwakke prompt:

Ruim de gegevens op, vul de gaten in, gooi de uitschieters weg.

Deze eis is gevaarlijk: het geeft blinde autoriteit aan AI. Wat voor soort gemis, wat voor soort vulling, welke tegenstrijdige waarheid - niets daarvan is duidelijk. Het resultaat kan een heimelijk bevooroordeelde dataset zijn.

Krachtige prompt:

Jouw rol: schoonmaakassistent, jij bent niet de beslisser. Ga stap voor stap te werk en schrijf code die de impact van ELKE stap rapporteert: 1) toon het ontbrekende patroon (NIET verwijderen/invullen), 2) lijst uitschieters op (NIET verwijderen), 3) corrigeer categorie-inconsistenties met de toewijzingstabel. Druk na elke stap het aantal rijen en de samenvattende statistiek af, zodat ik de wijziging kan zien en bevestigen. Automatische toewijzing/verwijdering.

Het verschil is duidelijk: een sterke wil positioneert de AI als een begeleide assistent, die omkeerbare en gedocumenteerde stappen produceert.

drie minikoffers

Geval 1 — Valkuil van gemiddelde toewijzing. In de inkomensgegevens van één analist voor 5.000 mensen ontbrak 18%. Hij zei tegen AI dat hij "de gaten moest opvullen"; AI heeft ze allemaal gemiddeld. Resultaat: de inkomensvariantie daalde met 22% en de coëfficiënt van de relatie onderwijsinkomen bleek zwakker dan hij was. Correcte manier: het tekort was MAR (vanwege opleiding), moest worden opgevuld door meerdere opdrachten (muizen). Les: de vulmethode is afhankelijk van het mechanisme.

Geval 2 – Opschonen van uitschieters keert de bevinding om. Er waren drie zeer grote bedrijven (0,6% van de totale waarneming) in één bedrijfsgegevens. Deze zijn verwijderd door de suggestie van de AI om 'schoon te maken'; De schaalvoordelencoëfficiënt veranderde van positief naar negatief. Deze drie bedrijven bestonden echter echt en vormden een belangrijk onderdeel van de sector. De juiste manier was om te rapporteren met een volledige en robuuste schatting in plaats van te verwijderen. Les: echte uitschieters zijn data, geen ruis.

Geval 3 — Stille coderingsfout. In één paneel had de datumvariabele twee verschillende formaten ("2020-03-01" en "01/03/2020"). Toen de door de AI geproduceerde combinatiecode hen voor verschillende waarden aanzag, kwamen 1.400 waarnemingen niet overeen en werden de groeipercentages belachelijk. Het zou er niet toe doen als de analist het aantal rijen niet controleerde. Les: observatietellingen en gezondheidscontroles na elke stap zijn een must.

Veel voorkomende fouten

  • Blindelings het gat vullen met het gemiddelde. Het vermindert de variantie, verbergt onzekerheid en creëert vertekening in MAR/MNAR. Classificeer eerst het mechanisme.
  • De uitbijter verwijderen "omdat het stoort". Echte uitschieters vertegenwoordigen de gegevens; verwijderen is het resultaat verbuigen. Corrigeer wat verkeerd is, behoud wat echt is.
  • Ruwe data aanboren. Wijzig nooit ruwe gegevens; Voer al het opschonen uit met de code in een aparte kopie, zodat deze kan worden teruggezet.
  • Het niet meten van de impact van stappen. Als het aantal rijen en de samenvattingsstatistieken niet na elke stap worden gecontroleerd, stapelen zich stille fouten op.
  • Opruimen is het gevolg. De logica van "Als je deze regel toevoegt, wordt het resultaat beter" is p-hacking; De reiniging moet vóór en onafhankelijk van het analyseresultaat worden gepland.
Tip: Houd een ‘voor/na’-tabel bij waarin dezelfde basisstatistieken (gemiddelde, mediaan, aantal observaties, enkele correlaties) naast elkaar worden gezet voor en na de opruiming. Een onverwachte sprong is de beste voorbode van een verborgen fout.

Samengevat

Het opschonen van gegevens is de meest tijdrovende en besluitvormingsfase van empirisch werk. De AI is daarbij een krachtige codegenerator, maar kan niet de leiding nemen: je classificeert het ontbrekende datatype (MCAR/MAR/MNAR), bepaalt of de uitbijter een fout of reëel is, houdt elke stap omkeerbaar en gedocumenteerd. In plaats van de AI blind ‘duidelijke’ autoriteit te geven, moet je een stapsgewijze workflow opzetten waarvan de impact wordt gemeten en gevalideerd. Het controleren van het aantal waarnemingen en de samenvattende statistieken na elke stap is het beste tegengif tegen stille fouten.

Applicatie taak

Selecteer ten minste twee variabelen die ontbrekende variabelen en uitschieters in een dataset bevatten (uw eigen gegevens of een voorbeeldset). Vraag een diagnostische code aan bij de AI via de bovenstaande prompt "Stap voor stap, niet verwijderen/invullen" en voer deze uit. Classificeer het tekort als MCAR/MAR/MNAR en schrijf uw rechtvaardiging in één zin. Onderzoek de tegenstrijdige kandidaten één voor één en besluit welke een vergissing is en welke echt is. Maak ten slotte een ‘voor-na’-tabel voor/na het schoonmaken en rapporteer eventuele onverwachte wijzigingen.

controlelijst

  • [ ] Ik heb de onbewerkte gegevens in een aparte kopie opgeschoond zonder deze te wijzigen.
  • [ ] Ik heb het tekort geclassificeerd als MCAR/MAR/MNAR en de methode dienovereenkomstig gekozen.
  • [ ] Ik onderzocht de uitschieters één voor één of ze fouten waren of echt; Ik heb het niet blindelings verwijderd.
  • [ ] Na elke schoonmaakstap controleerde ik het aantal waarnemingen en de samenvattende statistieken.
  • [ ] Ik heb alle stappen gedocumenteerd met code en een commentaarregel; omkeerbaar.
  • [ ] De opschoning heb ik gebaseerd op kennis van het proces dat de data oplevert, niet op het analyseresultaat.