Mecanisme ale datelor lipsă

Gestionarea datelor lipsă prin imputare în R

Michal Oleszak

Machine Learning Engineer

Mecanisme ale datelor lipsă: prezentare generală

Problemele cu date lipsă pot fi clasificate în trei categorii. Distincția dintre ele este esențială, deoarece fiecare categorie necesită o soluție diferită.

  • Missing Completely at Random (MCAR).
  • Missing at Random (MAR).
  • Missing not at Random (MNAR).
Gestionarea datelor lipsă prin imputare în R

Missing Completely at Random (MCAR)

Locațiile valorilor lipsă din set sunt complet aleatoare și nu depind de niciun alt dato.

Exemplu:

Un senzor meteo măsoară temperatura și trimite datele într-o bază de date. Există înregistrări lipsă în perioadele în care senzorul s-a defectat.

Gestionarea datelor lipsă prin imputare în R

Missing at Random (MAR)

Locațiile valorilor lipsă din set depind de alte date observate.

Exemplu:

Există valori de temperatură lipsă în perioadele în care senzorul a fost oprit pentru întreținere. Deoarece echipa de întreținere nu lucrează în weekend, locațiile valorilor lipsă depind de ziua săptămânii.

Gestionarea datelor lipsă prin imputare în R

Missing not at Random (MNAR)

Locațiile valorilor lipsă din set depind chiar de valorile lipsă.

Exemplu:

La temperaturi extrem de scăzute, senzorul meteo îngheață și nu mai funcționează, astfel că nu înregistrează temperaturi foarte mici. Locațiile valorilor lipsă din variabila temperatură depind deci de valorile acestei variabile.

Gestionarea datelor lipsă prin imputare în R

Gestionarea mecanismelor

Ce se întâmplă dacă eliminăm pur și simplu observațiile incomplete?

  • Dacă datele sunt MCAR, eliminarea lor duce la pierderea de informații.
  • Dacă datele sunt MAR sau MNAR, eliminarea lor introduce bias în modele.
  • În acest caz, valorile lipsă ar trebui imputate.
  • Multe metode de imputare presupun MAR, deci detectarea acestuia este importantă.
Gestionarea datelor lipsă prin imputare în R

Teste statistice

Exemplu: testul t pentru diferența dintre medii

  1. Formulați o ipoteză (ipoteza nulă): mediile sunt egale.
  2. Calculați statistica de test din datele dvs.
  3. Calculați p-value: cât de probabilă este statistica de test obținută, presupunând că ipoteza nulă este adevărată?

p-value mic → respingeți ipoteza nulă → mediile sunt diferite


p-value mare → nu respingeți ipoteza nulă → mediile sunt egale

Gestionarea datelor lipsă prin imputare în R

Testarea pentru MAR

Scop: testați dacă procentul valorilor lipsă dintr-o variabilă diferă în funcție de valorile altei variabile.

Exemplu: procentul valorilor lipsă din PhysActive diferă între bărbați și femei?

Procedura de testare:

  1. Creați o variabilă dummy care indică dacă PhysActive lipsește.
  2. Utilizați un test t pentru a verifica dacă media acestei dummy diferă între bărbați și femei.
  3. Dacă p-value este mic (ex. < 0.05), mediile sunt diferite, deci datele sunt MAR.
Gestionarea datelor lipsă prin imputare în R

Testarea în practică

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)
Gestionarea datelor lipsă prin imputare în R

Interpretarea rezultatelor testului

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
Gestionarea datelor lipsă prin imputare în R

Haideți să exersăm recunoașterea mecanismelor datelor lipsă!

Gestionarea datelor lipsă prin imputare în R

Preparing Video For Download...