Initialiser les valeurs manquantes et itérer sur les variables
Comme vous venez de le voir, exécuter impute_lm() ne remplit pas toujours toutes les valeurs manquantes. Pour être certain de toutes les imputer, vous devriez initialiser ces valeurs avec une méthode simple, comme l'imputation par hot-deck que vous avez vue au chapitre précédent, qui reprend 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 base et peut être biaisée. Une approche adéquate consiste à itérer sur les variables et à les imputer une à une aux endroits où elles étaient manquantes à l'origine.
Dans cet exercice, vous allez d'abord initialiser les valeurs manquantes avec une imputation hot-deck, puis effectuer cinq passages sur air_temp et humidity des données tao pour les imputer par régression linéaire. Allons-y !
Cette activité fait partie du cours
Traitement des données manquantes par imputation dans R
Instructions de l’exercice
- Initialisez les valeurs manquantes avec l'imputation
hotdeck(). - Créez un masque booléen indiquant où
humidityétait manquante à l'origine et assignez-le àmissing_humidity. - À l'intérieur de la boucle for, remettez
humiditydanstao_impàNAaux endroits où elle était manquante à l'origine 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éassignez le résultat àtao_imp.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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 + ___)
}