Initialiser les valeurs manquantes et itérer sur les variables
Comme vous venez de le voir, exécuter impute_lm() peut ne pas renseigner toutes les valeurs manquantes. Pour vous assurer de toutes les imputer, vous devez initialiser ces valeurs avec une méthode simple, comme l’imputation hot-deck que vous avez apprise au chapitre précédent, qui propage simplement la dernière valeur observée.
De plus, une seule imputation est généralement insuffisante. Elle repose sur des valeurs initialisées de façon rudimentaire et peut être biaisée. Une bonne approche consiste à itérer sur les variables, en les imputant une par une aux endroits où elles étaient initialement manquantes.
Dans cet exercice, vous allez d’abord initialiser les valeurs manquantes avec une imputation hot-deck, puis boucler cinq fois sur air_temp et humidity du jeu de données tao pour les imputer par régression linéaire. Allons-y !
Cet exercice fait partie du cours
Gérer les données manquantes avec des imputations en R
Instructions
- Initialisez les valeurs manquantes avec l’imputation
hotdeck(). - Créez un masque booléen indiquant où
humidityétait initialement manquante et assignez-le àmissing_humidity. - À l’intérieur de la boucle for, mettez
humiditydetao_impàNAaux endroits où elle était initialement manquante, en utilisant le masque booléen que vous avez créé. - À l’intérieur de la boucle for, imputez
humiditydanstao_imppar régression linéaire en utilisantyear,latitude,sea_surface_tempetair_tempcomme prédicteurs, puis réaffectez le résultat àtao_imp.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Initialize missing values with hot-deck
tao_imp <- ___(tao)
# Create boolean masks for where air_temp and humidity are missing
missing_air_temp <- tao_imp$air_temp_imp
missing_humidity <- ___
for (i in 1:5) {
# Set air_temp to NA in places where it was originally missing and re-impute it
tao_imp$air_temp[missing_air_temp] <- NA
tao_imp <- impute_lm(tao_imp, air_temp ~ year + latitude + sea_surface_temp + humidity)
# Set humidity to NA in places where it was originally missing and re-impute it
tao_imp$humidity[___] <- ___
tao_imp <- ___(___, ___ ~ year + latitude + sea_surface_temp + ___)
}