CommencerCommencer gratuitement

Imputation basée sur des modèles avec plusieurs types de variables

Bravo pour avoir écrit la fonction qui implémente l’imputation par régression logistique avec tirage dans la distribution conditionnelle. Vous avez codé des statistiques assez avancées ! Dans cet exercice, vous allez combiner ce que vous avez appris jusqu’ici sur l’imputation basée sur des modèles pour imputer différents types de variables dans les données tao.

Votre tâche consiste à itérer sur les variables comme vous l’avez fait au chapitre précédent et à imputer deux variables :

  • is_hot, une nouvelle variable binaire créée à partir de air_temp, qui vaut 1 si air_temp est supérieure ou égale à 26 degrés et 0 sinon ;
  • humidity, une variable continue que vous connaissez déjà.

Vous devrez utiliser la fonction de régression linéaire vue précédemment, ainsi que votre propre fonction pour la régression logistique. Allons-y !

Cet exercice fait partie du cours

Gérer les données manquantes avec des imputations en R

Afficher le cours

Instructions

  • Remplacez is_hot par NA aux endroits où elle était initialement manquante.
  • Imputez is_hot avec une régression logistique, en utilisant sea_surface_temp comme unique prédicteur ; utilisez votre fonction impute_logreg().
  • Remplacez humidity par NA aux endroits où elle était initialement manquante.
  • Imputez humidity avec une régression linéaire, en utilisant sea_surface_temp et air_temp comme prédicteurs.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Initialize missing values with hot-deck
tao_imp <- hotdeck(tao)

# Create boolean masks for where is_hot and humidity are missing
missing_is_hot <- tao_imp$is_hot_imp
missing_humidity <- tao_imp$humidity_imp

for (i in 1:3) {
  # Set is_hot to NA in places where it was originally missing and re-impute it
  ___ <- NA
  tao_imp <- ___(tao_imp, ___ ~ ___)
  # Set humidity to NA in places where it was originally missing and re-impute it
  ___ <- NA
  tao_imp <- ___(tao_imp, ___ ~ sea_surface_temp + ___)
}
Modifier et exécuter le code