kNN Tipps & Tricks II: Variablen sortieren
Während der k-Nearest-Neighbors-Algorithmus über die Variablen in den Daten iteriert, um sie zu imputieren, berechnet er Abstände zwischen Beobachtungen mithilfe anderer Variablen, von denen einige in den vorherigen Schritten bereits imputiert wurden. Das bedeutet: Wenn die früher im Datensatz stehenden Variablen viele fehlende Werte haben, basiert die nachfolgende Distanzberechnung stark auf imputierten Werten. Das bringt Rauschen in die Distanzberechnung.
Aus diesem Grund ist es gute Praxis, die Variablen vor der kNN-Imputation aufsteigend nach der Anzahl fehlender Werte zu sortieren. So basiert jede Distanzberechnung auf möglichst vielen beobachteten und möglichst wenigen imputierten Werten.
Probieren wir das mit den tao-Daten aus!
Diese Übung ist Teil des Kurses
Fehlende Daten mit Imputationen in R behandeln
Anleitung zur Übung
- Ermittle im ersten Teil der Pipeline die Anzahl fehlender Werte in jeder Spalte von
tao. - Sortiere anschließend die Variablen aufsteigend nach der Anzahl fehlender Werte, extrahiere ihre Namen und weise das Ergebnis
vars_by_NAszu. - Verwende
select(), um dietao-Variablen entsprechend der invars_by_NAsgespeicherten Reihenfolge umzustrukturieren. - Führe die k-Nearest-Neighbors-Imputation auf den umsortierten Daten durch und weise das Ergebnis
tao_impzu.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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")