Cette vidéo montre comment réaliser une Analyse des Correspondances Multiples (ACM) lorsqu’un jeu de données comporte des valeurs manquantes, en s’appuyant sur les packages R missMDA et FactoMineR. Le présentateur utilise le jeu de données VNF (1232 répondants, 14 questions) qui contient des réponses manquantes. Il commence par appliquer la fonction MCA de FactoMineR, qui crée automatiquement une modalité « NA » pour chaque donnée manquante, permettant de visualiser le schéma de manquants ; les premiers axes sont alors dominés par ces NA, rendant difficile l’interprétation de l’information observée. Il recommande donc de d’abord visualiser les manquants, puis d’estimer le nombre de composantes nécessaires à l’imputation avec la fonction estim_ncpMCA de missMDA (souvent 0, suggérant d’utiliser 2 à 4 composantes). Ensuite, il impute le tableau disjonctif via imputeMCA, obtenant un tableau complet où les valeurs manquantes sont remplacées par des degrés d’appartenance réels (tab.disj) et un jeu de données complet (completeObs). Enfin, il refait l’ACM sur ce tableau disjonctif imputé, ce qui élimine les NA des axes et met en évidence les relations entre les modalités observées. Il souligne toutefois que les pourcentages d’inertie peuvent être légèrement à la hausse, surtout avec de nombreuses valeurs manquantes, et conseille d’interpréter ces valeurs avec prudence.
Chapters
L'objectif de cette vidéo est de voir comment faire une analyse des correspondances multiples lorsque le jeu de données contient des données manquantes. Pour ce faire, nous allons utiliser les packages missMDA et FactoMineR. Alors je vais utiliser un jeu de données qui est disponible dans le package missMDA, qui est le jeu de données VNF. Le jeu de données VNF est une enquête à laquelle 1232 personnes ont répondu. Et il y avait 14 questions. Dans ce jeu de données, il y a des données manquantes parce que les individus n'ont pas tous répondu à toutes les questions. Il y a même pour certaines questions beaucoup de données manquantes. Et donc comment gérer ces données manquantes? Alors ce qu'on peut faire dans un premier temps, c'est utiliser la fonction MCA de FactoMineR et voir ce que ça donne. Donc je fais une ACM sur le jeu de données vnf. Je retrouve le graphe des variables de l'ACM. Pour voir le commentaire sur les sorties de l'ACM, je vous conseille d'aller voir la vidéo sur l'ACM. Donc le graphe des variables, le graphe des individus et le graphe des modalités. Alors sur le graphe des modalités, que voit-on? On voit qu'il y a des modalités avec point NA. En fait, à chaque fois qu'il y avait une donnée manquante pour une variable, une nouvelle modalité a été créée Cette modalité a été nommée NA et donc tous les individus qui prennent une valeur manquante pour la variable vont prendre cette nouvelle modalité NA. Et ce qu'on voit sur ce premier plan de l'ACM, c'est qu'il y a un regroupement de certaines modalités NA. Cela signifie que les individus qui n'ont pas répondu à la question 8.1 ou à la question 8.2 n'ont également pas répondu à la question 8.3, à la question 9, question 7, etc. On est en train de visualiser ici le dispositif de données manquantes et de voir quelles sont les données pour lesquelles les non-réponses étaient liées. Ces non-réponses définissent plutôt le premier axe et puis il y a un autre paquet de non-réponses qui définit plutôt le deuxième axe, donc les questions Q.30, Q.29, Q.40. Donc ce graphe est intéressant pour visualiser le dispositif de données manquantes mais par contre pour visualiser l'information de l'enquête, ce graphe n'est pas intéressant. L'information observée n'apparaît pas du tout sur les premiers axes. Alors on va la retrouver éventuellement sur les axes suivants mais perturbée par les données manquantes. Ça ne veut pas dire que l'ACM n'est pas intéressante, elle est intéressante pour étudier le dispositif mais après si on veut se focaliser sur les données observées, je vais avoir envie d'aller regarder uniquement les données observées et pas les données observées perturbées par les données manquantes. Donc pour ce faire, on va utiliser la librairie missMDA et dans un premier temps ce qu'il faut faire c'est estimer le nombre de composantes nécessaires pour imputer les données. Donc c'est la fonction estim_ncpMCA de MysMDA. Ici la fonction retourne qu'il faut 0 composante, c'est-à-dire qu'il faudrait imputer par les proportions. Cette fonction est une adaptation directe de la fonction d'ACP pour l'instant et il est assez difficile de trouver le nombre de composantes en ACM. Déjà quand les données sont complètes, la décroissance des valeurs propres est très linéaire, il n'y a pas de saut en ACM, il est difficile de trouver le nombre de composantes et quand il y a des données manquantes c'est encore plus difficile. Donc ici dans l'exemple, on conseille de prendre plutôt 2 ou 4 composantes. Alors une fois qu'on a le nombre de composantes, je peux compléter le jeu de données, imputer le jeu de données avec la fonction inputMCA sur le jeu de données VNF et je dis que je prends 2 composantes. Donc dans l'exemple VNF, il est difficile de trouver le nombre de composantes. Quand le jeu de données est plus structuré avec des axes très forts, on va réussir à trouver le nombre de composantes. Donc là j'ai complété le jeu de données. On peut voir les résultats. Dans complete, il y a 2 choses: un objet qui s'appelle tab.disj et un objet completeObs. tab.disj, on peut le visualiser, c'est le tableau disjonctif qui a été complété. En fait, en ACM, chaque variable qualitative est transformée en en autant d'indicatrices qu'il y a de modalités et donc on crée ainsi un tableau disjonctif et donc dans chaque colonne on a les valeurs 0 ou 1: 0 si la modalité n'est pas prise et 1 si la modalité est prise. Ça c'est pour les données observées et pour les données qui étaient manquantes, eh bien on a imputé ces valeurs, donc pas avec des 0 et des 1 mais avec des valeurs qui sont des réels et qui peuvent être vues comme des degrés d'appartenance de l'individu à la modalité. Donc on va par exemple pouvoir dire que pour cette variable, l'individu 1232 n'avait pas répondu, il a plutôt tendance à prendre la 2ème modalité. Et donc si j'impute la variable qualitative directement, je vais l'imputer par la 2ème modalité. C'est ce qui est fait dans le tableau completeObs où là on a une imputation par la 2ème modalité. Donc maintenant je peux réaliser l'ACM. MCA. Donc je vais utiliser l'ACM sur le tableau de données vnf mais en précisant que je veux utiliser le tableau de données disjonctif que je viens d'imputer. Donc là maintenant j'ai l'ACM qui est réalisée avec mes variables, le graphe des variables, le graphe des individus et puis le graphe des modalités observées. Là je n'ai plus de données manquantes et je vais beaucoup mieux visualiser les liaisons qu'il peut y avoir entre les modalités qui sont prises par chaque individu. Pour faire une ACM avec données manquantes, ce que je conseille de faire c'est d'abord de visualiser là où se trouvent les données manquantes en créant une modalité manquante, ce qui est fait par défaut avec la fonction MCA de FactoMineR. Ou avec la plupart des logiciels. Et puis si on veut visualiser ensuite les réponses observées, imputer le jeu de données et travailler sur le tableau disjonctif imputé. Donc là, pour pouvoir utiliser cette information, il faut utiliser la fonction MCA de FactoMineR. Les données sont imputées de telle sorte que la valeur imputée ne contribue pas à la construction des axes. Donc les axes qui sont construits ici sont construits uniquement avec les valeurs observées, ce qui est important puisqu'on cherche uniquement à visualiser l'information apportée par les données observées. On peut noter tout de même que les pourcentages d'inertie qui sont associés aux axes vont être un petit peu surestimés puisqu'on a imputé par les premières dimensions de l'ACM, qu'on va renforcer la structure qu'il y a sur le premier plan de l'ACM. Donc le graphe est intéressant pour voir les liaisons mais il faut interpréter avec prudence les pourcentages d'inertie ici. S'il y a peu de données manquantes, le pourcentage d'inertie est légèrement surestimé. S'il y a beaucoup de données manquantes, le pourcentage d'inertie peut être assez fortement surestimé.