Vid inlärning försöker de flesta datavetare och entusiaster hantera kända dataset som MNIST , ImageNet , … som är kompletta, rena och välformaterade. Men tyvärr är verkliga problem och dataset långt ifrån denna akademiska utopi. Med andra ord är de inte alls perfekta, de innehåller brus, de innehåller många saknade uppgifter och ibland är de inte heller välstrukturerade eller formaterade.
I det här inlägget kommer vi att tala om ett av dessa tråkiga problem som dyker upp ofta, och utan vidare, som nämns i titeln, kommer vi att ta itu med problemet med ”saknade data” från ett brett och statistiskt perspektiv
Först av allt, vad menar vi konkret med ”saknade data”?
Missing data innebär att en eller flera variabler (funktioner) värden saknas i allmänhet kodat med -999 , nan , null . Det uppstår ofta när data samlas in på ett felaktigt sätt, när det saknas data (t.ex. användarnas betygsättning) eller när det är fel vid inmatningen av data (felskrivning), vilket kan leda till drastiska resultat och slutsatser som kan påverka besluten negativt!
Följande figur illustrerar ett slående exempel på ”rekommendationssystem” där problemet med ”saknade data” ofta uppstår eftersom en del av våra data är beroende av användarnas feedback.
Det orsakar också en hel del problem för forskare när de analyserar och tolkar resultaten av sin forskning för att dra slutsatser.
Det finns tre typer av saknade uppgifter:
1) Saknas helt och slumpmässigt – (MCAR).
2) Saknas slumpmässigt – (MAR).
3) Saknas inte slumpmässigt – (MNAR).
Typ I: Det finns inget samband mellan huruvida en datapunkt saknas och eventuella värden i datamängden (saknade eller observerade).De saknade uppgifterna är bara en slumpmässig delmängd av uppgifterna. Det saknas ingenting som har att göra med någon annan variabel . Förresten är data sällan MCAR.
följande exempel kommer att skildra denna typ av problem :
Det är relativt enkelt att kontrollera antagandet att data saknas helt slumpmässigt i vårt exempel. Om du kan förutsäga någon anledning till att data saknas (t.ex, med hjälp av sunt förnuft, regression eller någon annan metod) oavsett om det är baserat på den fullständiga variabeln Ålder eller den saknade variabeln IQ-poäng , så är uppgifterna inte MCAR !
TLDR : påverkas inte av vare sig de observerade eller de saknade uppgifterna => Fullständigt slumpmässigt
Typ II: Missing at Random (MAR)
Den saknade uppgiften här påverkas endast av de fullständiga (observerade ) variablerna och inte av egenskaperna hos den saknade uppgiften själv. Med andra ord är en datapunkt som saknas inte relaterad till de saknade uppgifterna, men den är relaterad till en del av ( eller alla ) de observerade uppgifterna, följande exempel beskriver situationen och gör den tydligare :
Vi kan lätt konstatera att IQ-poäng saknas för ungdomar (ålder < 44 år) och att de saknade uppgifterna därmed beror på de observerade uppgifterna, men det finns inget samband med värdena i den saknade kolumnen.
TLDR : inte orsakad av de saknade uppgifterna i sig men påverkad av observerade uppgifter => At Random
Typ III: Missing Not at Random (MNAR)
Det är varken typ I eller typ II, och uppgifterna kommer att saknas baserat på den saknade kolumnen i sig själv, till exempel visar följande exempel på det faktum att uppgifter saknas om IQ-poäng, och att det bara är de personer som har ett lågt värde som saknas.
Som ni kan se är det omöjligt att upptäcka MNAR-fall utan att känna till de saknade värdena!
TLDR : orsakas av de saknade uppgifterna i sig => Not At Random
här är en icke uttömmande lista över hur man kan hantera problem med saknade uppgifter :
Metod 1: Radering
det faller under två olika tekniker :
- Listwise Deletion : I denna metod utesluts en hel post från analysen om något enskilt värde saknas, och därför har vi samma N (antal poster) för alla analyser.
- Pairwise Deletion : Under vår analys kommer antalet poster som beaktas, betecknat ”N”, att variera beroende på den studerade variabeln (kolumnen), och till exempel kan vi beräkna medelvärdet för två egenskaper (komplett eller saknad) och när vi dividerar med antalet stickprov, får vi dela med olika N , varav det ena är det totala antalet rader och det andra är det totala antalet kompletta värden för den saknade egenskapen.
Metod 2: Metoder för enkel imputering
- Imputering av ett enda värde: Ersättning av det saknade värdet med ett enda värde med hjälp av en strategi som t.ex:
- Likhet: Försöker hitta den eller de rader som ligger närmast (”top-N closer”) den rad som innehåller det saknade värdet, och fastställer en strategi bland dem för att tilldela ett värde till det saknade värdet.
- Regressionsimputering : Vid enkel regressionsimputering förutsägs det imputerade värdet från en regressionsekvation , vi antar att de saknade värdena ligger i en regressionslinje med en lutning som inte är noll med en av de kompletta egenskaperna ( prediktorer )
Metod 3: Metoder för multipel imputering
- Algoritm för förväntan-maximering : En algoritm som kan användas både för imputering av saknade data och för klusteruppgift för maskininlärning (med tanke på målet som en saknad funktion), den bygger på två steg:
– För det första: Förväntan på saknat värde
– För det andra: Maximering av sannolikheten
Jag rekommenderar starkt att Andrew NG Stanford Notes förstår den mycket väl, det är inte en svår algoritm, var inte rädd för formlerna! http://cs229.stanford.edu/notes/cs229-notes8.pdf
- MI Metoder : Det är en attraktiv metod för att hantera saknade data i multivariata analyser. Idén om multipel imputering för saknade uppgifter föreslogs först av Rubin , den går ut på att beräkna medelvärdet av resultaten över flera imputerade datamängder för att ta hänsyn till detta. Alla metoder för multipel imputering följer tre steg :
- Imputering – I likhet med enkel imputering imputeras saknade värden. De imputerade värdena dras dock m gånger från en fördelning i stället för bara en gång. I slutet av detta steg bör det finnas m färdiga dataset.
- Analys – Vart och ett av de m dataseten analyseras. I slutet av detta steg bör det finnas m analyser.
- Pooling – De m resultaten konsolideras till ett resultat genom att beräkna medelvärdet, variansen och konfidensintervallet för den aktuella variabeln.
Tack för din tid och uppmärksamhet, fortsätt att lära dig!
Om du vill nå mig på Linkedin skulle jag vara mycket tacksam