Gérer les données manquantes en ACP

missMDA impute les données manquantes de sorte que les valeurs imputées n'auront pas d'effet (i.e. pas de poids) dans le calcul des dimensions de l'analyse factorielle. Ainsi missMDA renvoie un jeu de données imputé qui pourra être analysé par n'importe quelle méthode d'analyse de données, y compris l'ACP.

Vidéo pour gérer les données manquantes en ACP

Voici la vidéo, n'hésitez pas à la visualiser en plein écran:

Etapes et lignes de code

  1. estimer le nombre de dimensions nécessaires pour utiliser la formule de reconstitution grâce à la fonction estim_ncpPCA
  2. compléter le jeu de donées avec la fonction imputePCA utilisant le nombre de dimensions estimé précédemment (par défaut, 2 dimensions sont utilisées)
  3. réaliser l'ACP sur le tableau complété en utilisant la fonction PCA de FactoMineR

Exemple library(missMDA)
data(orange)
nb = estim_ncpPCA(orange,ncp.max=5)
res.comp = imputePCA(orange,ncp=2)
res.pca = PCA(res.comp$completeObs)

Imputation multiple en ACP

missMDA permet de faire de l'imputation multiple pour des jeux de données quantitatifs en utilisant le modèle d'ACP.

Voir cette vidéo.

Etapes pour générer 1000 jeux de données avec missMDA

  1. estimer le nombre de dimensions nécessaires pour utiliser la formule de reconstitution grâce à la fonction estim_ncpPCA
  2. générer les 1000 tableaux imputés

Exemple library(missMDA)
data(orange)
nb = estim_ncpPCA(orange,ncp.max=5)
res.comp = MIPCA(orange, ncp = nbdim$ncp, nboot = 1000)

Visualiser l'incertitude due aux données manquantes

missMDA permet de visualiser l'incertitude de prédiction des valeurs manquantes grâce à l'imputation multiple.

Exemple library(missMDA)
data(orange)
nb = estim_ncpPCA(orange,ncp.max=5)
res.comp = MIPCA(orange, ncp = nbdim$ncp, nboot = 1000)
plot(res.comp)

Ce billet donne plus d'information sur la visualisation.