Mechanismy chybějících dat

Práce s chybějícími daty pomocí imputace v R

Michal Oleszak

Machine Learning Engineer

Mechanismy chybějících dat: přehled

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í.

  • Zcela náhodně chybějící data (MCAR).
  • Náhodně chybějící data (MAR).
  • Nenahodně chybějící data (MNAR).
Práce s chybějícími daty pomocí imputace v R

Zcela náhodně chybějící data (MCAR)

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ý.

Práce s chybějícími daty pomocí imputace v R

Náhodně chybějící data (MAR)

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.

Práce s chybějícími daty pomocí imputace v R

Nenahodně chybějící data (MNAR)

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é.

Práce s chybějícími daty pomocí imputace v R

Práce s mechanismy chybějících dat

Co se stane, když jednoduše odstraníme neúplná pozorování?

  • Jsou-li data MCAR, jejich odstraněním dojde ke ztrátě informací.
  • Jsou-li data MAR nebo MNAR, jejich odstraněním dojde ke zkreslení modelů na těchto datech.
  • V takovém případě je vhodné chybějící hodnoty imputovat.
  • Mnoho imputačních metod předpokládá MAR, proto je důležité jej detekovat.
Práce s chybějícími daty pomocí imputace v R

Statistické testování

Příklad: t-test pro rozdíl průměrů

  1. Formulujte předpoklad (nulová hypotéza): průměry jsou stejné.
  2. Vypočítejte testovou statistiku z dat.
  3. Vypočítejte p-hodnotu: jak pravděpodobné je získat danou testovou statistiku za předpokladu platnosti nulové hypotézy?

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é

Práce s chybějícími daty pomocí imputace v R

Testování MAR

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í:

  1. Vytvořte dummy proměnnou označující, zda PhysActive chybí.
  2. Pomocí t-testu ověřte, zda se průměr této proměnné liší pro muže a ženy.
  3. Je-li p-hodnota malá (např. < 0,05), průměry jsou různé a data jsou MAR.
Práce s chybějícími daty pomocí imputace v R

Testování v praxi

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)
Práce s chybějícími daty pomocí imputace v R

Interpretace výsledků testu

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

Procvičte si rozpoznávání mechanismů chybějících dat!

Práce s chybějícími daty pomocí imputace v R

Preparing Video For Download...