kNN tips & tricks II: variabelen sorteren
Omdat het k-Nearest Neighbors-algoritme over de variabelen in de data loopt om ze te imputeren, berekent het afstanden tussen observaties met andere variabelen, waarvan sommige al in eerdere stappen geïmputeerd zijn. Dit betekent dat als de variabelen die eerder in de data staan veel missende waarden hebben, de daaropvolgende afstandsberekening op veel geïmputeerde waarden is gebaseerd. Dat voegt ruis toe aan de afstandsberekening.
Om die reden is het een goede gewoonte om de variabelen oplopend te sorteren op het aantal missende waarden vóór je kNN-imputatie uitvoert. Zo is elke afstandsberekening gebaseerd op zoveel mogelijk geobserveerde data en zo min mogelijk geïmputeerde data.
Laten we dit uitproberen op de tao-data!
Deze oefening maakt deel uit van de cursus
Omgaan met missende data met imputaties in R
Oefeninstructies
- Bereken in het eerste deel van de pipeline het aantal missende waarden in elke kolom van
tao. - Sorteer vervolgens de variabelen oplopend op basis van het aantal missende waarden, haal hun namen op en sla het resultaat op in
vars_by_NAs. - Gebruik
select()om detao-variabelen te herordenen volgens de volgorde invars_by_NAs. - Voer k-Nearest Neighbors-imputatie uit op de herordende data en sla het resultaat op in
tao_imp.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# Get tao variable names sorted by number of NAs
vars_by_NAs <- tao %>%
___ %>%
colSums() %>%
sort(decreasing = ___) %>%
names()
# Sort tao variables and feed it to kNN imputation
tao_imp <- tao %>%
select(___) %>%
___()
tao_imp %>%
select(sea_surface_temp, humidity, humidity_imp) %>%
marginplot(delimiter = "imp")