Date lipsă: ce poate merge greșit

Gestionarea datelor lipsă prin imputare în R

Michal Oleszak

Machine Learning Engineer

Ce veți învăța

După finalizarea acestui curs, veți putea:

  • Înțelege de ce datele lipsă necesită o tratare specială.
  • Utiliza teste statistice și instrumente de vizualizare pentru a detecta tipare în datele lipsă.
  • Efectua imputarea cu modele statistice și de machine learning.
  • Incorpora incertitudinea din imputare în analize și predicții, sporindu-le robustețea.
Gestionarea datelor lipsă prin imputare în R

Cerințe preliminare

Cursul presupune că sunteți familiarizat cu următoarele subiecte:

  • Manipulări de bază ale datelor cu dplyr și operatorul pipe (%>%).
  • Modele de regresie liniară și logistică (lm(), glm()).
  • Concepte de bază de probabilitate: variabile aleatoare, distribuții.
Gestionarea datelor lipsă prin imputare în R

Introducere în datele lipsă

Evident, cel mai bun mod de a trata datele lipsă este să nu le ai.

Din păcate, datele lipsă sunt omniprezente:

  • Non-răspuns în sondaje.
  • Probleme tehnice cu echipamentele de colectare a datelor.
  • Combinarea datelor din surse diferite.
  • ...

Trebuie să fim vigilenți cu privire la datele lipsă.

1 Orchard, T., and M. A. Woodbury. 1972. "A Missing Information Principle: Theory and Applications." In Proceedings of the Sixth Berkeley Symposium on Mathematical Statistics and Probability, 1:697–715.
Gestionarea datelor lipsă prin imputare în R

Datele NHANES

head(nhanes, 3)
  Age Gender Weight Height Diabetes TotChol Pulse PhysActive
1  16   male   73.2  172.0    FALSE    3.00    76       TRUE
2  17   male   72.3  176.0    FALSE    2.61    74       TRUE
3  12   male   57.7  158.9    FALSE    4.27    80       TRUE
nhanes %>% is.na() %>% colSums()
Age     Gender     Weight     Height   Diabetes    TotChol    Pulse   PhysActive 
0       0          9          8        1            85        32      26
Gestionarea datelor lipsă prin imputare în R

Regresie liniară cu date incomplete

model_1 <- lm(Diabetes ~ Age + Weight, 
              data = nhanes)

Părți din summary(model_1):

Residual standard error: 0.08571 on 804 
degrees of freedom (10 observations 
deleted due to missingness)

Adjusted R-squared:  0.005706 
F-statistic: 3.313 on 2 and 804 DF,  
p-value: 0.03691
model_2 <- lm(Diabetes ~ Age + Weight +
              TotChol, data = nhanes)

Părți din summary(model_2):

Residual standard error: 0.08264 on 718 
degrees of freedom (95 observations
deleted due to missingness)

Adjusted R-squared:  0.008422 
F-statistic: 3.041 on 3 and 718 DF,
p-value: 0.02834
Gestionarea datelor lipsă prin imputare în R

Concluzii principale

  • Datele lipsă sunt uneori ignorate în mod silențios de software-ul statistic.
  • Ca urmare, compararea diferitelor modele poate fi imposibilă.
  • Eliminarea simplă a observațiilor incomplete poate duce la rezultate distorsionate.
  • Datele lipsă, dacă există, trebuie tratate corespunzător.
Gestionarea datelor lipsă prin imputare în R

Să exersăm!

Gestionarea datelor lipsă prin imputare în R

Preparing Video For Download...