- Populære strategier til statistisk imputering af manglende værdier i et datasæt.
- 2- Imputering ved hjælp af (middel/median)-værdier:
- 3- Imputation ved hjælp af (mest hyppige) eller (nul/konstant) værdier:
- 4- Imputation ved hjælp af k-NN:
- Hvordan virker det?
- 5- Imputation ved hjælp af Multivariate Imputation by Chained Equation (MICE)
- 6- Imputation Using Deep Learning (Datawig):
- Stochastisk regressionsimputation:
- Ekstrapolation og interpolation:
- Hot-Deck imputation:
Populære strategier til statistisk imputering af manglende værdier i et datasæt.
Mange datasæt fra den virkelige verden kan indeholde manglende værdier af forskellige årsager. De er ofte kodet som NaN’er, blanke værdier eller andre pladsholdere. Træning af en model med et datasæt, der har mange manglende værdier, kan have en drastisk indvirkning på maskinlæringsmodellens kvalitet. Nogle algoritmer såsom scikit-learn estimatorer antager, at alle værdier er numeriske og har og holder en meningsfuld værdi.
En måde at håndtere dette problem på er at slippe af med de observationer, der har manglende data. Du risikerer dog at miste datapunkter med værdifulde oplysninger. En bedre strategi ville være at imputere de manglende værdier. Med andre ord skal vi udlede disse manglende værdier fra den eksisterende del af dataene. Der er tre hovedtyper af manglende data:
- Missing completely at random (MCAR)
- Missing at random (MAR)
- Not missing at random (NMAR)
I denne artikel vil jeg dog fokusere på 6 populære måder til dataimputering for tværsnitsdatasæt ( Tidsrækkedatasæt er en anden historie ).
Det er en let en. Du lader bare algoritmen håndtere de manglende data. Nogle algoritmer kan faktor i de manglende værdier og lære de bedste imputeringsværdier for de manglende data baseret på trænings tabsreduktion (dvs. XGBoost). Nogle andre har mulighed for bare at ignorere dem (f.eks. LightGBM – use_missing=false). Andre algoritmer går imidlertid i panik og kaster en fejl, der klager over de manglende værdier (dvs. Scikit learn – LinearRegression). I så fald skal du håndtere de manglende data og rense dem, før du fodrer algoritmen med dem.
Lad os se nogle andre måder at imputere de manglende værdier før træning:
Bemærk: Alle nedenstående eksempler bruger California Housing Dataset fra Scikit-learn.
2- Imputering ved hjælp af (middel/median)-værdier:
Dette fungerer ved at beregne middel/medianen af de ikke-manglende værdier i en kolonne og derefter erstatte de manglende værdier inden for hver kolonne separat og uafhængigt af de andre. Det kan kun bruges med numeriske data.
Pros:
- Nemt og hurtigt.
- Fungerer godt med små numeriske datasæt.
Cons:
- Faktorerer ikke korrelationerne mellem funktioner. Den fungerer kun på kolonne-niveau.
- Giver dårlige resultater på kodede kategoriske funktioner (brug den IKKE på kategoriske funktioner).
- Det er ikke særlig nøjagtigt.
- Gør ikke rede for usikkerheden i imputeringerne.
3- Imputation ved hjælp af (mest hyppige) eller (nul/konstant) værdier:
Mest hyppige er en anden statistisk strategi til at imputere manglende værdier og JA!!! Den fungerer med kategoriske funktioner (strenge eller numeriske repræsentationer) ved at erstatte manglende data med de hyppigste værdier inden for hver kolonne.
Pros:
- Funktionerer godt med kategoriske funktioner.
Cons:
- Den tager heller ikke højde for korrelationer mellem funktioner.
- Den kan indføre bias i dataene.
Nul eller Constant imputation – som navnet antyder – erstatter den de manglende værdier med enten nul eller en hvilken som helst konstant værdi, du angiver