CommencezCommencez gratuitement

Détecter la convergence

Excellent travail d'itération sur les variables dans le dernier exercice ! Mais de combien d'itérations a-t-on besoin ? Lorsque les valeurs imputées ne changent plus à la nouvelle itération, vous pouvez arrêter.

Vous allez maintenant étendre votre code pour calculer les écarts entre les variables imputées d'une itération à l'autre. Pour ce faire, vous utiliserez la fonction de variation absolue moyenne en pourcentage (Mean Absolute Percentage Change), définie pour vous comme suit :

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

mapc() renvoie un seul nombre qui indique dans quelle mesure b diffère de a. Vous l'utiliserez pour vérifier l'ampleur des changements des variables imputées au fil des itérations. À partir de cela, vous déciderez combien d'itérations sont nécessaires !

Les masques booléens missing_air_temp et missing_humidity sont à votre disposition, tout comme l'objet tao_imp initialisé par hotdeck.

Cette activité fait partie du cours

Traitement des données manquantes par imputation dans R

Voir le cours

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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)

  
  
}
Modifier et exécuter le code