În timp ce învață , majoritatea cercetătorilor de date și a entuziaștilor încearcă să se ocupe de seturi de date celebre, cum ar fi MNIST , ImageNet , … care sunt complete , curate și bine formatate . Cu toate acestea, problemele și seturile de date din lumea reală sunt, din păcate, departe de această utopie academică . Cu alte cuvinte , acestea nu sunt deloc perfecte , includ zgomot , conțin o mulțime de date lipsă și uneori nu sunt nici bine structurate sau formatate .
În această postare , vom vorbi despre una dintre aceste probleme plictisitoare care va apărea des , și fără alte formalități , așa cum se menționează în titlu , vom aborda problema „datelor lipsă” dintr-o perspectivă largă și statistică
În primul rând , ce înțelegem concret prin „date lipsă” ?
Datele lipsă înseamnă că una sau mai multe valori ale variabilelor ( caracteristici ) lipsesc , în general codificate prin -999 , nan , null . . apare adesea în timpul colectării datelor într-un mod greșit , o lipsă de date ( Ex : ratingul utilizatorilor ) , sau erori la introducerea datelor ( greșeli de dactilografiere ) , iar acest lucru ar putea duce la constatări și concluzii drastice care ar putea afecta negativ deciziile !
Figura de mai jos ilustrează exemplul frapant al „sistemelor de recomandare” atunci când problema „datelor lipsă” apare frecvent deoarece o parte din datele noastre depind de feedback-ul utilizatorilor .
de asemenea, provoacă o mulțime de lupte pentru cercetători în timp ce analizează și interpretează rezultatele cercetărilor lor pentru a trage concluzii.
Există trei tipuri de date lipsă:
1) Lipsește complet și aleatoriu – (MCAR).
2) Lipsește la întâmplare – (MAR).
3) Lipsește nu la întâmplare – (MNAR).
Tipul I: Lipsește complet la întâmplare (MCAR)
Nu există nicio relație între faptul că un punct de date lipsește sau nu și nicio valoare din setul de date (lipsă sau observată) .Datele lipsă sunt doar un subset aleatoriu de date . Lipsa nu are nimic de-a face cu nicio altă variabilă . De altfel , datele sunt rareori MCAR.
următorul exemplu va descrie acest tip de problemă :
Este relativ ușor de verificat ipoteza că, în exemplul nostru, datele lipsesc complet la întâmplare. Dacă puteți prezice orice motiv pentru datele lipsă (de ex, folosind bunul simț, regresia sau o altă metodă), fie că se bazează pe variabila completă Vârsta sau pe variabila lipsă scorul IQ , atunci datele nu sunt MCAR !
TLDR : nu sunt afectate nici de datele observate, nici de datele lipsă => Complet la întâmplare
Tipul II: Lipsește la întâmplare (MAR)
Datele lipsă aici sunt afectate doar de variabilele complete (observate ) și nu de caracteristicile datelor lipsă în sine. cu alte cuvinte , pentru un punct de date , a fi lipsă nu are legătură cu datele lipsă , dar are legătură cu unele dintre ( sau toate ) datele observate , următorul exemplu va descrie situația și o va face mai clară :
Am putea observa cu ușurință că scorul IQ lipsește pentru tineri ( vârsta < 44 ani ) , și astfel datele lipsă depind de datele observate , însă nu există nicio dependență cu valorile coloanei lipsă în sine .
TLDR : nu este cauzată de datele lipsă în sine, dar este afectată de datele observate => La întâmplare
Tipul III: Missing Not at Random (MNAR)
Nu este nici tipul I, nici tipul II , iar datele vor lipsi în funcție de coloana lipsă în sine , de exemplu, exemplul următor evidențiază faptul că lipsesc date privind scorul IQ, doar persoanele care au un scor scăzut .
cum vedeți , este imposibil de detectat cazurile MNAR fără a cunoaște valorile lipsă !
TLDR : cauzată de datele lipsă în sine => Not At Random
iată o listă neexhaustivă despre cum să facem față și să tratăm problemele legate de datele lipsă :
Metoda 1: Ștergerea
se încadrează în două tehnici diferite :
- Ștergerea pe listă : În această metodă, o înregistrare întreagă este exclusă din analiză dacă lipsește o singură valoare , și, prin urmare, avem același N (număr de înregistrări) pentru toate analizele .
- Pairwise Deletion : în timpul analizei noastre, numărul de înregistrări luate în considerare, notat „N”, va varia în funcție de variabila studiată (coloană) și, de exemplu, am putea calcula media pentru 2 caracteristici (complete VS lipsă) și, în timp ce împărțim la numărul de eșantioane, ajungem să împărțim la N diferiți, unul este numărul total de rânduri și celălalt este numărul total de valori complete pentru caracteristica lipsă.
Metoda 2: Metode de imputare unică
- Imputarea unei singure valori : înlocuirea valorii lipsă cu o singură valoare utilizând o singură strategie, cum ar fi : Media , Mediana , Cea mai frecventă , Persoana medie , … a caracteristicii corespunzătoare .
- Similitudine : încercarea de a găsi rândul (rândurile) cel mai apropiat (top-N mai apropiate) de rândul care conține valoarea noastră lipsă și stabilirea unei strategii printre acestea pentru a atribui o valoare valorii noastre lipsă .
- Imputarea prin regresie : În imputarea prin regresie unică, valoarea imputată este prezisă dintr-o ecuație de regresie , presupunem că valorile lipsă se află pe o linie de regresie cu o pantă diferită de zero cu una dintre caracteristicile complete ( predictori )
Metoda 3: Metode de imputare multiplă
- Algoritmul de maximizare a așteptărilor : un algoritm care ar putea fi utilizat atât pentru imputarea datelor lipsă, cât și pentru sarcina de clusterizare a învățării automate (considerând ținta ca fiind o caracteristică lipsă) , se bazează pe doi pași :
– Primul : Așteptarea valorii lipsă
– Al doilea : Maximizarea verosimilității
Îi recomand lui Andrew NG stanford notes pentru a-l înțelege foarte bine , nu este un algoritm greu , nu vă temeți de formulele sale ! http://cs229.stanford.edu/notes/cs229-notes8.pdf
- Metode MI : Este o metodă atractivă pentru tratarea datelor lipsă în analiza multivariată. Ideea de imputare multiplă a datelor lipsă a fost propusă pentru prima dată de Rubin , ea constă în medierea rezultatelor pe mai multe seturi de date imputate pentru a ține cont de acest lucru. Toate metodele de imputare multiplă urmează trei etape :
- Imputarea – Similar cu imputarea unică, valorile lipsă sunt imputate. Cu toate acestea, valorile imputate sunt extrase de m ori dintr-o distribuție, mai degrabă decât o singură dată. La sfârșitul acestei etape, ar trebui să existe m seturi de date completate.
- Analysis – Se analizează fiecare dintre cele m seturi de date. La sfârșitul acestei etape ar trebui să existe m analize.
- Pooling – Cele m rezultate sunt consolidate într-un singur rezultat prin calcularea mediei, a varianței și a intervalului de încredere al variabilei în cauză.
Mulțumesc pentru timpul și atenția acordată , Keep Learning !
Dacă doriți să mă contactați pe Linkedin v-aș fi foarte recunoscător
.