A tanulás során a legtöbb adattudós és rajongó megpróbál foglalkozni a híres adatkészletekkel, például az MNIST , ImageNet , … amelyek teljesek , tiszták és jól formázottak . Azonban a valós világ problémái és adathalmazai sajnos messze vannak ettől az akadémiai utópiától. Más szóval , egyáltalán nem tökéletesek , tartalmaznak zajt , sok hiányzó adatot és néha nem is jól strukturáltak vagy formázottak .
Ebben a bejegyzésben , fogunk beszélni az egyik ilyen unalmas probléma , amely felbukkan gyakran , és minden további nélkül , mint a címben említett , fogjuk kezelni a “hiányzó adatok ” probléma széles és statisztikai szempontból
Először is , mit értünk konkrétan “hiányzó adatok ” alatt ?
A hiányzó adatok azt jelenti , hogy egy vagy több változó ( jellemzők ) értékei hiányoznak általában kódolva -999 , nan , null . . gyakran előfordul az adatok helytelen gyűjtése során , az adatok hiánya ( Pl : felhasználók értékelése ) , vagy hibák az adatok bevitele során ( elgépelés ) , és ez drasztikus megállapításokhoz és következtetésekhez vezethet , ami negatívan befolyásolhatja a döntéseket !
A következő ábra az “ajánló rendszerek” szemléletes példáját mutatja be, amikor a “hiányzó adatok” problémája gyakran előfordul, mert adataink egy része a felhasználók visszajelzéseitől függ .
a kutatóknak is sok küzdelmet okoz a kutatásaik eredményeinek elemzése és értelmezése során, hogy következtetéseket vonjanak le .
A hiányzó adatoknak három típusa van:
1) Teljesen és véletlenszerűen hiányzó – (MCAR).
2) Véletlenszerűen hiányzó – (MAR).
3) Nem véletlenszerűen hiányzó – (MNAR).
I. típus: Hiányzik teljesen véletlenszerűen (MCAR)
Nincs kapcsolat aközött, hogy egy adatpont hiányzik-e és az adathalmazban lévő bármely érték (hiányzó vagy megfigyelt) .A hiányzó adatok csak az adatok véletlenszerű részhalmaza . A hiányzásnak semmi köze más változóhoz . By the way , az adatok ritkán MCAR.
a következő példa fogja ábrázolni ezt a fajta problémát :
Viszonylag könnyen ellenőrizhető az a feltételezés, hogy példánkban az adatok teljesen véletlenszerűen hiányoznak. Ha meg tudjuk jósolni a hiányzó adatok valamilyen okát (pl, józan ésszel, regresszióval vagy más módszerrel) akár a teljes változó Életkor, akár a hiányzó változó IQ pontszám alapján , akkor az adat nem MCAR !
TLDR : nem befolyásolja sem a megfigyelt, sem a hiányzó adat => Teljesen véletlenszerűen
II. típus: véletlenszerűen hiányzó adat (MAR)
A hiányzó adatot itt csak a teljes (megfigyelt ) változók befolyásolják, magának a hiányzó adatnak a jellemzői nem. Más szóval , egy adatpont , hogy hiányzik , nem a hiányzó adathoz kapcsolódik , hanem a megfigyelt adatok egy részéhez ( vagy az összes ) , a következő példa szemlélteti a helyzetet és egyértelműbbé teszi :
Azt könnyen észrevehettük, hogy az IQ pontszám hiányzik a fiataloknál ( életkor < 44 év ) , és így a hiányzó adat függ a megfigyelt adatoktól , azonban magának a hiányzó oszlopnak az értékeivel nincs függőség .
TLDR : nem maga a hiányzó adat okozza, hanem a megfigyelt adatok befolyásolják => At Random
Type III: Missing Not at Random (MNAR)
Ez sem az I. sem a II. típus , és az adatok a hiányzó oszlop alapján fognak hiányozni , például a következő példa rámutat arra a tényre, hogy az IQ pontszámra vonatkozó adatok hiányoznak, csak az alacsony pontszámmal rendelkező emberek .
mint látható , a hiányzó értékek ismerete nélkül lehetetlen az MNAR esetek felderítése !
TLDR : oka maga a hiányzó adat => Not At Random
itt egy nem kimerítő lista a hiányzó adatok problémáival való megbirkózásról és kezeléséről :
1. módszer: Törlés
két különböző technika alá tartozik :
- Listás törlés : Ebben a módszerben egy teljes rekordot kizárunk az elemzésből, ha egyetlen érték is hiányzik , és ezért minden elemzéshez ugyanazt az N-t (rekordok számát) kapjuk.
- Páros törlés : az elemzés során az “N” jelű figyelembe vett rekordok száma a vizsgált változó (oszlop) szerint változik, és például kiszámíthatjuk az átlagot 2 jellemzőre (Teljes VS hiányzó), és miközben osztjuk a minták számával, végül különböző N értékekkel osztjuk, az egyik a sorok teljes száma, a másik pedig a hiányzó jellemző teljes értékeinek teljes száma .
2. módszer: Egyetlen imputációs módszerek
- Egyetlen érték imputálása : a hiányzó értéket egyetlen értékkel helyettesítjük egy stratégia felhasználásával, mint például :
- Hasonlóság : Megpróbáljuk megtalálni a hiányzó értéket tartalmazó sorhoz legközelebbi ( top-N közelebbi ) sor(oka)t, és ezek közül meghatározunk egy stratégiát, hogy a hiányzó értékünkhöz értéket rendeljünk.
- Regressziós imputáció : Az egyszeri regressziós imputációban az imputált értéket egy regressziós egyenletből jósoljuk meg , feltételezzük, hogy a hiányzó értékek egy nem nulla meredekségű regressziós egyenesben vannak a teljes jellemzők ( prediktorok )egyikével
3. módszer: Többszörös imputációs módszerek
- Expectation-Maximization Algorithm : egy algoritmus, amely mind a hiányzó adatok imputálására, mind a gépi tanulás klaszterezési feladatára (a célt hiányzó jellemzőnek tekintve) használható , két lépésen alapul :
– Első : A hiányzó érték várakozása
– Második : A valószínűség maximalizálása
Az Andrew NG stanford notes-t nagyon ajánlom, hogy nagyon jól megértse , ez nem egy nehéz algoritmus , ne féljen a képleteitől ! http://cs229.stanford.edu/notes/cs229-notes8.pdf
- MI módszerek : Ez egy vonzó módszer a hiányzó adatok kezelésére a többváltozós elemzésben. A hiányzó adatok többszörös imputálásának ötletét először Rubin javasolta , ez abból áll, hogy az eredményeket több imputált adathalmazon keresztül átlagolják, hogy ezt figyelembe vegyék. Minden többszörös imputációs módszer három lépést követ :
- Imputáció – Az egyszeres imputációhoz hasonlóan a hiányzó értékeket imputálják. Az imputált értékeket azonban nem egyszer, hanem m-szer húzza ki egy eloszlásból. E lépés végén m kész adatkészletnek kell lennie.
- Analízis – Az m adatkészlet mindegyikét elemezzük. Ennek a lépésnek a végén m elemzésnek kell lennie.
- Pooling – Az m eredményt egyetlen eredménybe konszolidáljuk a kérdéses változó átlagának, szórásának és konfidenciaintervallumának kiszámításával.
köszönöm az időt és a figyelmet , Keep Learning !
ha szeretnél elérni engem a Linkedinen nagyon hálás lennék
.