Práce s chybějícími daty pomocí imputace v R
Michal Oleszak
Machine Learning Engineer
Problémy s chybějícími daty lze rozdělit do tří kategorií. Jejich rozlišení je klíčové, protože každá kategorie vyžaduje jiné řešení.
Polohy chybějících hodnot v datasetu jsou zcela náhodné a nezávisí na žádných jiných datech.
Příklad:
Senzor měří teplotu a odesílá data do databáze. Některé záznamy chybí v době, kdy byl senzor porouchaný.
Polohy chybějících hodnot v datasetu závisí na jiných, pozorovaných datech.
Příklad:
Některé hodnoty teploty chybí v době, kdy byl senzor odpojen kvůli údržbě. Protože tým údržby nepracuje o víkendech, závisí polohy chybějících hodnot na dni v týdnu.
Polohy chybějících hodnot v datasetu závisí na samotných chybějících hodnotách.
Příklad:
Při extrémním mrazu senzor zamrzne a přestane fungovat. Proto nezaznamenává velmi nízké teploty. Polohy chybějících hodnot v teplotní proměnné tedy závisí na hodnotách této proměnné samotné.
Co se stane, když jednoduše odstraníme neúplná pozorování?
Příklad: t-test pro rozdíl průměrů
Malá p-hodnota → zamítněte nulovou hypotézu → průměry jsou různé
Velká p-hodnota → nulovou hypotézu nezamítejte → průměry jsou stejné
Cíl: otestovat, zda se podíl chybějících hodnot v jedné proměnné liší pro různé hodnoty jiné proměnné.
Příklad: liší se podíl chybějících hodnot v PhysActive pro muže a ženy?
Postup testování:
PhysActive chybí.nhanes <- nhanes %>%
mutate(missing_phys_active = is.na(PhysActive))
missing_phys_active_male <- nhanes %>%
filter(Gender == "male") %>%
pull(missing_phys_active)
missing_phys_active_female <- nhanes %>%
filter(Gender == "female") %>%
pull(missing_phys_active)
t.test(missing_phys_active_female, missing_phys_active_male)
Welch Two Sample t-test
data: missing_phys_active_female and missing_phys_active_male
t = -1.7192, df = 781.18, p-value = 0.08597
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-0.044414688 0.002940477
sample estimates:
mean of x mean of y
0.02083333 0.04157044
Práce s chybějícími daty pomocí imputace v R