Missade värden
Med tanke på att det är oundvikligt med saknade värden måste vi fråga oss vad vi ska göra när vi stöter på dem. Att ignorera de saknade uppgifterna är detsamma som att gräva hål i en båt; den kommer att sjunka.
Det finns tre, eller kanske fler, sätt att hantera dem.
– Ett. Släpp.
Om de saknade värdena i en kolumn sällan inträffar och sker slumpmässigt är den enklaste och mest framkomliga lösningen att släppa de observationer (rader) som har saknade värden.
Om de flesta av kolonnens värden saknas och sker slumpmässigt är ett typiskt beslut att släppa hela kolumnen.
Detta är särskilt användbart när man gör en statistisk analys, eftersom ifyllandet av de saknade värdena kan ge oväntade eller snedvridna resultat.
– Två. Imputera.
Det innebär att beräkna det saknade värdet baserat på andra observationer. Det finns en hel del metoder för att göra det.
– Den första är att använda statistiska värden som medelvärde, median. Ingen av dessa garanterar dock opartiska data, särskilt om det finns många saknade värden.
Medelvärdet är mest användbart när originaldata inte är snedfördelade, medan medianen är mer robust, inte känslig för outliers, och därför används när data är snedfördelade.
I en normalfördelad data kan man få fram alla värden som ligger inom 2 standardavvikelser från medelvärdet. Därefter fyller man i de värden som saknas genom att generera slumpmässiga tal mellan (mean — 2 * std) & (mean + 2 * std)
– Andra. Med hjälp av en linjär regression. Utifrån de befintliga uppgifterna kan man beräkna den linje som passar bäst mellan två variabler, till exempel huspris vs. storlek m².
Det är värt att nämna att linjära regressionsmodeller är känsliga för outliers.
– För det tredje. Hot-deck: Kopiering av värden från andra liknande poster. Detta är endast användbart om du har tillräckligt med tillgängliga data. Och det kan tillämpas på numeriska och kategoriska data.
Man kan använda sig av den slumpmässiga metoden där vi fyller det saknade värdet med ett slumpmässigt värde. Om man tar detta tillvägagångssätt ett steg längre kan man först dela upp datamängden i två grupper (strata), baserat på någon egenskap, till exempel kön, och sedan fylla i de saknade värdena för de olika könen separat, slumpmässigt.
I sekventiell hot-deck-imputering sorteras kolumnen som innehåller saknade värden enligt hjälpvariabel(er) så att poster som har liknande hjälpvariabler uppträder sekventiellt. Därefter fylls varje saknat värde ut med värdet i den första efterföljande tillgängliga posten.
Vad som är mer intressant är att 𝑘 imputering av närmsta granne, som klassificerar liknande poster och sätter ihop dem, också kan användas. Ett saknat värde fylls då ut genom att först hitta de 𝑘 poster som ligger närmast posten med saknade värden. Därefter väljs ett värde från (eller beräknas utifrån) de 𝑘 närmaste grannarna. Vid beräkning kan statistiska metoder som medelvärde (som diskuterats tidigare) användas.
– Tre. Flagga.
Vissa hävdar att ifyllandet av de saknade värdena leder till en informationsförlust, oavsett vilken imputeringsmetod vi använt.
Det beror på att det är informativt i sig självt att säga att data saknas, och att algoritmen bör känna till det. Annars förstärker vi bara det mönster som redan finns genom andra egenskaper.
Detta är särskilt viktigt när de saknade uppgifterna inte sker slumpmässigt. Ta till exempel en genomförd undersökning där de flesta människor från en viss ras vägrar att svara på en viss fråga.
Missade numeriska data kan fyllas i med till exempel 0, men har dessa nollor måste ignoreras när man beräknar något statistiskt värde eller plottar fördelningen.
Men kategoriska data kan fyllas i med till exempel ”Missing”: En ny kategori som talar om att denna uppgift saknas.
– Ta hänsyn till …
Missade värden är inte samma sak som standardvärden. Noll kan t.ex. tolkas som antingen saknad eller standardvärde, men inte både och.
Saknade värden är inte ”okända”. En genomförd undersökning där vissa personer inte minns om de har blivit mobbade eller inte i skolan bör behandlas och betecknas som okända och inte saknade värden.
Varje gång vi släpper eller imputerar värden förlorar vi information. Så flaggning kan komma till undsättning.
Outliers
De är värden som skiljer sig signifikant från alla andra observationer. Alla datavärden som ligger mer än (1,5 * IQR) bort från Q1- och Q3-kvartilerna betraktas som en outlier.
Outliers är oskyldiga tills motsatsen bevisats. Med det sagt bör de inte tas bort om det inte finns en god anledning till det.
Till exempel kan man lägga märke till några konstiga, misstänkta värden som det är osannolikt att de ska inträffa, och bestämmer sig därför för att ta bort dem. Även om de är värda att undersöka innan de tas bort.
Det är också värt att nämna att vissa modeller, som linjär regression, är mycket känsliga för outliers. Med andra ord kan outliers kasta ut modellen från den plats där de flesta data ligger.
Insatser &fel mellan dataset
Dessa fel beror på att det finns två eller flera värden i samma rad eller i olika dataset som motsäger varandra.
Till exempel om vi har ett dataset om levnadskostnaden i städer. Kolumnen total måste motsvara summan av hyra, transport och mat.
city rent transportation food total
libson 500 20 40 560
paris 750 40 60 850
Samma sak gäller för ett barn som inte kan vara gift. En anställds lön kan inte vara lägre än de beräknade skatterna.
Samma idé gäller för relaterade uppgifter i olika datamängder.
Verifiering
När det är gjort bör man verifiera riktigheten genom att återigen inspektera uppgifterna och se till att det regler och begränsningar håller.
Till exempel, efter att ha fyllt i de saknade uppgifterna, kan de bryta mot någon av reglerna och begränsningarna.
Det kan innebära en viss manuell korrigering om det inte är möjligt på annat sätt.
Rapportering
Rapportering av hur friska uppgifterna är är lika viktigt som rensning.
Som tidigare nämnts kan programvarupaket eller bibliotek generera rapporter om gjorda ändringar, vilka regler som överträtts och hur många gånger.
Förutom loggning av överträdelserna bör man också ta hänsyn till orsakerna till dessa fel. Varför inträffade de överhuvudtaget?.
Slutord …
Om du kom så långt är jag glad att du kunde hålla ut till slutet. Men inget av det som nämnts är värdefullt om man inte anammar kvalitetskulturen.
Oavsett hur robust och stark validerings- och rensningsprocessen är kommer man att fortsätta att lida när nya data kommer in.
Det är bättre att gardera sig mot en sjukdom i stället för att spendera tid och ansträngning på att avhjälpa den.
De här frågorna hjälper till att utvärdera och förbättra datakvaliteten:
Hur data samlas in, och under vilka förhållanden?. Miljön där uppgifterna samlades in har betydelse. Miljön omfattar, men är inte begränsad till, plats, tidpunkt, väderförhållanden etc.
Fråga personer om deras åsikter om vad som helst när de är på väg till jobbet är inte samma sak som när de är hemma. Patienter i en studie som har svårt att använda surfplattorna för att besvara ett frågeformulär kan förvränga resultaten.
Vad representerar uppgifterna? Inkluderar de alla? Endast människorna i staden? Eller kanske bara de som valde att svara för att de hade en stark åsikt om ämnet.
Vilka metoder används för att rensa uppgifterna och varför? Olika metoder kan vara bättre i olika situationer eller med olika datatyper.
Investerar ni tid och pengar i att förbättra processen? Att investera i människor och processer är lika viktigt som att investera i teknik.