LoslegenKostenlos loslegen

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

Kurs anzeigen

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_NAs zu.
  • Verwende select(), um die tao-Variablen entsprechend der in vars_by_NAs gespeicherten Reihenfolge umzustrukturieren.
  • Führe die k-Nearest-Neighbors-Imputation auf den umsortierten Daten durch und weise das Ergebnis tao_imp zu.

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")
Code bearbeiten und ausführen