Začněte nyníZačněte zdarma

Detekce konvergence

Skvělá práce s iterováním přes proměnné v předchozím cvičení! Ale kolik iterací je vlastně potřeba? Jakmile se imputované hodnoty s novou iterací přestanou měnit, můžeme zastavit.

Teď svůj kód rozšíříš tak, aby počítal rozdíly mezi imputovanými proměnnými v po sobě jdoucích iteracích. K tomu použiješ funkci Mean Absolute Percentage Change, která je pro tebe definovaná takto:

mapc <- function(a, b) {
  mean(abs(b - a) / a, na.rm = TRUE)
}

mapc() vrátí jediné číslo, které říká, o kolik se b liší od a. Použiješ ji ke sledování toho, jak moc se imputované proměnné mezi iteracemi mění. Na základě toho se rozhodneš, kolik iterací je skutečně potřeba!

Booleovské masky missing_air_temp a missing_humidity máš k dispozici, stejně jako hotdeck-inicializovaná data tao_imp.

Toto cvičení je součástí kurzu

Práce s chybějícími daty pomocí imputace v R

Zobrazit kurz

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

diff_air_temp <- ___
diff_humidity <- ___

for (i in 1:5) {
  # Assign the outcome of the previous iteration (or initialization) to prev_iter
  prev_iter <- ___
  # Impute air_temp and humidity at originally missing locations
  tao_imp$air_temp[missing_air_temp] <- NA
  tao_imp <- impute_lm(tao_imp, air_temp ~ year + latitude + sea_surface_temp + humidity)
  tao_imp$humidity[missing_humidity] <- NA
  tao_imp <- impute_lm(tao_imp, humidity ~ year + latitude + sea_surface_temp + air_temp)

  
  
}
Upravit a spustit kód