Omgaan met missende data met imputaties in R
Michal Oleszak
Machine Learning Engineer
Problemen met missende data vallen in drie categorieën. Onderscheiden is cruciaal, want elke categorie vraagt om een andere aanpak.
Plekken van missende waarden in de dataset zijn puur willekeurig en hangen niet af van andere data.
Voorbeeld:
Een weersensor meet temperatuur en stuurt data naar een database. Er ontbreken waarden wanneer de sensor kapot was.
Plekken van missende waarden in de dataset hangen af van andere, geobserveerde data.
Voorbeeld:
Er ontbreken temperatuurwaarden wanneer de sensor voor onderhoud is uitgeschakeld. De onderhoudsploeg werkt nooit in het weekend, dus de locaties van missende waarden hangen af van de weekdag.
Plekken van missende waarden in de dataset hangen af van de waarden zelf die missen.
Voorbeeld:
Bij extreme kou vriest de sensor vast en stopt. Heel lage temperaturen worden dan niet geregistreerd. De locaties van missende waarden in de temperatuurvariabele hangen dus af van de waarden van die variabele zelf.
Wat als we onvolledige observaties gewoon droppen?
Voorbeeld: t-toets voor verschil in gemiddelden
kleine p-waarde → verwerp de nulhypothese → gemiddelden verschillen
grote p-waarde → verwerp de nulhypothese niet → gemiddelden zijn gelijk
Doel: testen of het percentage missende waarden in de ene variabele verschilt voor verschillende waarden van een andere variabele.
Voorbeeld: verschilt het percentage missende waarden in PhysActive tussen mannen en vrouwen?
Procedure:
PhysActive ontbreekt.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
Omgaan met missende data met imputaties in R