Gå till huvudinnehåll Gå till ytterligare innehåll

Tillräkning av nollor

Alltför många saknade värden kan ha en negativ inverkan på kvaliteten på din maskininlärningsmodell. Tillräkning är en metod för att fylla i saknade värden, s.k. nollvärden. Det kan finnas många orsaker till att data saknas, t.ex. ett databasfel, en användare som inte fyller i en del av ett formulär eller om du börjar samla in nya data och äldre poster i datauppsättningen inte har den nya datapunkten.

Under den automatiska förbehandlingen av data hanteras nollvärden genom uteslutning av kolumner som saknar mer än 50 procent av värdena och genom tillräkning av saknade värden. Kategoriska värden tillräknas med typvärden och numeriska värden med medelvärdet.

Det är viktigt att förstå vilka effekter tillräkningen kan ha på data. Tillräkningen bevarar radens eller kolumnens prediktiva effekt, men den kan också skapa mönster som tidigare inte fanns eller lägga till brus i ett mönster som fanns. Detta minskar uppgifternas giltighet.

Det kan vara lämpligt att du ser över dina metoder för datainsamling för att säkerställa att data är fullständiga och för att införa nya processer vid behov. Om du vill behålla representationen av ett tomt värde kan du fylla i nollor med ett värde som "annat" eller "okänt".

Hur fungerar tillräkning?

Följande metoder är vanliga metoder för tillräkning av nollor.

Numeriska värden

Ett bra standardalternativ är att tillräkna medelvärdet. Om de saknade värdena är normalfördelade är det som att lägga vikt på mitten av en gungbräda – det påverkar inte vikten på någon av sidorna. Du bör dock alltid tänka på vad värdet försöker representera. Om t.ex. vissa värden för försäljningspriset är noll i dina försäljningsdata, beror det då på ett databasfel eller använde köparen en kupong som betalningsmedel? Skulle det vara mer meningsfullt att ange 0 eller något annat värde än medelvärdet?

Kategoriska värden

Ett bra standardalternativ för kategoriska värden är att lägga till ytterligare en kategori och kalla den "Annat", "Okänt" eller till och med "Saknas". Denna kategori kan innehålla den extra variansen om de saknade värdena är slumpmässigt fördelade, eller öka i funktionsbetydelse om det finns ett meningsfullt samband mellan detta saknade värde och målvärdet.

En reservlösning är att beräkna genomsnittet i form av typ. Precis som med numeriska värden är det alltid viktigt att tänka på både vad värdet faktiskt försöker representera och varför värdet kan saknas. Om du vet att de flesta av de saknade värdena troligen är typvärdet kan du tillräkna med typvärdet. Om det inte är känt eller om det råder osäkerhet kan du tillräkna det kategoriska värdet med en fyllnadstext som är ett nytt unikt värde för datauppsättningen.

Effekter av att tillräkna numeriska värden

Numerisk tillräkning 1 visar ett spridningsdiagram med en linje med bästa anpassning. Vi har ett numeriskt värde längs kategoriaxeln (x) och ett målvärde längs värdeaxeln (y). Detta verkar vara en bra anpassning, men det tar bara hänsyn till datapunkter där x är känt.

Numerisk tillräkning 1: Diagram över kända värden med en linje med bästa anpassning

Diagram med linjär linje med bästa anpassning.

I numerisk tillräkning 2 har vi tillräknat medelvärdet. De saknade värdena verkar dock inte vara slumpmässiga. Det snedvrider linjen för bästa anpassning och ger upphov till brus, vilket minskar modellens totala noggrannhet.

Numerisk tillräkning 2: Diagram över kända värden och tillräknade medelvärden. De tillräknade värdena är inte slumpmässigt fördelade och det finns en ny linje med bästa anpassning.

Diagram med tillräknade värden som snedvrider linjen med bästa anpassning.

Diagrammet i Numerisk tillräkning 3 visar hur det skulle se ut om vi tillräknar medelvärdet när de saknade värdena är slumpmässigt fördelade. Med andra ord, när det inte finns någon ytterligare kunskap att vinna genom att veta om värdet fanns eller saknades. När de saknade värdena är slumpmässigt fördelade ändras inte linjen för bästa anpassning. Om vi hade tillräknat 0 i stället för medelvärdet skulle det ha ändrat linjen för bästa anpassning på samma sätt som i Numerisk tillräkning 2.

Numerisk tillräkning 3: Diagram över kända värden och slumpmässigt fördelade tillräknade värden. Linjen för bästa anpassning har inte ändrats.

Diagram med tillräknade värden som inte snedvrider linjen med bästa anpassning.

Exempel: Behörighet för lån

Ett konkret exempel är om x är årsinkomsten och y det belopp som en person skulle kvalificera sig med för att få ett lån. Vi skulle förvänta oss ett förhållande där ju mer pengar en person tjänar, desto mer pengar kan han eller hon låna. Mönstret skulle likna det som gäller för Numerisk tillräkning 1 ovan.

Föreställ dig att personer som tjänar mindre är mindre benägna att uppge sin årsinkomst. I det här fallet saknas x-värdet av en särskild anledning. Om medelvärdet för dessa värden tillskrevs skulle det snedvrida modellens resultat. Resultatet skulle bli något i stil med Numerisk tillräkning 2.

Tänk dig nu att vissa poster i databasen raderades slumpmässigt. Posterna innehöll uppgifter om hur mycket pengar vissa personer tjänar, men inte uppgifter om personen i fråga. X-värdet är alltså slumpmässigt noll. Denna effekt beskrivs i Numerisk tillräkning 3 och är ett fall där vi tryggt kan tillräkna det saknade värdet.

En annan sak att tänka på är: vad händer om 0 tillräknas i stället för medelvärdet? I exemplet med lånekvalificering är det förmodligen inte korrekt att säga att någon tjänar 0 dollar per år. Det skulle snedvrida modellen på samma sätt som Numerisk tillräkning 2.

Effekter av tillräkning av kategoriska värden

I det numeriska fallet ovan använde vi medelvärdet för att tillräkna saknade värden. En enkel metod för kategoriska värden är att ta typvärdet, som är det mest frekvent förekommande värdet. Vissa av utmaningarna med att tillräkna typvärdet är desamma som med att tillräkna medelvärdet för ett numeriskt värde.

I diagrammet nedan finns det ett mönster i de saknade värdena i Missing_1 i förhållande till målet, medan Missing_2 är slumpmässigt fördelat. Vi kan se detta eftersom Missing_2 matchar det övergripande genomsnittliga målvärdet. Missing_1 liknar Numerisk tillräkning 2 och Missing_2 liknar Numerisk tillräkning 3.

Kategorisk tillräkning: Kolumnerna Missing_1 och Missing_2 är exempel på saknade värden med och utan mönster.

Diagram som visar fördelningen av klasserna A, B och C tillsammans med det totala genomsnittet och kategorisk tillräkning av saknade värden.

Skillnaden mot det numeriska exemplet är att både Missing_1 och Missing_2 snedvrider mönsterigenkänningen i det här fallet. Den snedvrids bara för en delmängd av data, kategori B, som skulle vara det tillräknade värdet om man tillräknade med typvärdet, eftersom det är den största kategorin.

Snedvridning av förhållandet mellan ett enskilt värde och målvärdet är inte den enda risken med tillräkning, men är bland de vanligaste och lättaste att utvärdera. Andra risker tenderar att bara öka bruset och minska precisionen. Lyckligtvis kan risken för snedvridning minskas avsevärt genom att man utesluter dimensioner som är relativt fåtaliga. Det diskuteras ofta exakt vilka fåtalighetsnivåer som ska tillåtas i en kolumn eller rad, men det diskuteras mindre ofta att tillräkning av värden har potential att förvränga data på ett sätt som gör att det inte längre finns någon representativitet för vad data försöker beskriva.

Mer information

Var den här sidan till hjälp för dig?

Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!