Saknade värden: vad kan gå fel

Hantering av saknade värden med imputering i R

Michal Oleszak

Machine Learning Engineer

Vad du kommer att lära dig

Efter den här kursen kommer du att kunna:

  • Förstå varför saknade värden kräver särskild hantering.
  • Använda statistiska tester och visualiseringsverktyg för att identifiera mönster i saknade värden.
  • Utföra imputering med statistiska modeller och maskininlärningsmodeller.
  • Ta hänsyn till osäkerhet från imputering i dina analyser och prediktioner, vilket gör dem mer robusta.
Hantering av saknade värden med imputering i R

Förkunskaper

Kursen förutsätter att du är bekväm med följande:

  • Grundläggande databearbetning med dplyr och pipe-operatorn (%>%).
  • Linjär och logistisk regression (lm(), glm()).
  • Grundläggande sannolikhetsteori: slumpvariabler, fördelningar.
Hantering av saknade värden med imputering i R

Om saknade värden

Det bästa sättet att hantera saknade värden är förstås att inte ha några.

Tyvärr förekommer saknade värden överallt:

  • Bortfall i enkäter.
  • Tekniska problem med datainsamlingsutrustning.
  • Sammanslagning av data från olika källor.
  • ...

Vi måste vara vaksamma på saknade värden.

1 Orchard, T., och M. A. Woodbury. 1972. "A Missing Information Principle: Theory and Applications." I Proceedings of the Sixth Berkeley Symposium on Mathematical Statistics and Probability, 1:697–715.
Hantering av saknade värden med imputering i R

NHANES-data

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
Hantering av saknade värden med imputering i R

Linjär regression med ofullständiga data

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

Delar av 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)

Delar av 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
Hantering av saknade värden med imputering i R

Viktiga slutsatser

  • Statistisk programvara ignorerar ibland saknade värden utan att meddela det.
  • Det kan därför bli omöjligt att jämföra olika modeller.
  • Att helt enkelt ta bort ofullständiga observationer kan ge snedvridna resultat.
  • Saknade värden måste hanteras på rätt sätt om de förekommer.
Hantering av saknade värden med imputering i R

Nu kör vi en övning!

Hantering av saknade värden med imputering i R

Preparing Video For Download...