Analyse Correspondances Multiples

Marie-Pierre Etienne

ENSAI - CREST

https://marieetienne.github.io/MAF/

2024-12-19

Introduction

Objectif

Le but de l’analyse des correspondances multiples (ACM) est de généraliser l’AFC en étudiant les liaisons entre plusieurs variables qualitatives.

  • C’est l’équivalent de l’ACP pour des variables qualitatives.

Les données décrivent

  • \(n\) individus
  • au travers de \(p\) variables qualitatives
  • ayant respectivement \(m_1, \ldots, m_p\) modalités.

On note \(m\) le nombre total de modalités de sorte que :

\[ m=\sum_{j=1}^p m_j. \]

Exemple : Position sur les OGM

ogm_dta <- read_delim("ogm.csv", delim = ";", 
                  escape_double = FALSE, locale = locale(encoding = "WINDOWS-1252"), 
                  trim_ws = TRUE)
ogm_dta <- ogm_dta |> mutate(across(where(is.character), as.factor))
summary(ogm_dta[,1:15]) 
summary(ogm_dta[,16:21]) 
        Concerné               Position Culture               Position Al H
 Beaucoup   :36   Favorable            :45      Favorable            :37   
 Moyen      :53   Pas Favorable du Tout:33      Pas Favorable du Tout:50   
 Pas du Tout:15   Plutôt Défavorable   :54      Plutôt Défavorable   :47   
 Un Peu     :31   Très Favorable       : 3      Très Favorable       : 1   
               Position Al A Manif     Media Actif Info Active
 Favorable            :44    Non:122   Non:78      Non:82     
 Pas Favorable du Tout:44    Oui: 13   Oui:57      Oui:53     
 Plutôt Défavorable   :39                                     
 Très Favorable       : 8                                     
 Produits Phytosanitaires Famine   Amélioration Agr Futur Progrès Danger  
 Non:56                   Non:67   Non:93           Non:54        Non:39  
 Oui:79                   Oui:68   Oui:42           Oui:81        Oui:96  
                                                                          
                                                                          
 Menace   Risque Eco Procédé Inutile
 Non:48   Non:67     Non:123        
 Oui:87   Oui:68     Oui: 12        
                                    
                                    
 Grds Parents Sexe         Age                    CSP     Relation
 Non:49       F:71   [26; 40]:24   Etudiant         :69   Non:79  
 Oui:86       H:64   [41; 60]:24   Cadre            :17   Oui:56  
                     < 25    :73   Retraité         :14           
                     > 60    :14   Autre            : 9           
                                   Fonction Publique: 9           
                                   Technicien       : 6           
                                   (Other)          :11           
       Parti Politique
 Centre        :32    
 Extrême gauche: 9    
 PS            :47    
 UMP           :40    
 Verts         : 7    
                      
                      

Lien avec l’AFC

L’AFC fait le lien entre les modalités de deux variables qualitatives.

Dans l’AFC, on ne prête plus attention aux individus (ici un répondant) et on s’intéresse au tableau de contingence uniquement (défini à partir du tableau disjonctif complet)

La distance entre deux profils est mesurée à l’aide de la distance du \(\chi^2\).

Représentation des variables qualitatives

Dans les données initiales, pour chaquae individu, et pour chaque variable qualitative, on note la modalité observée.

Pour manipuler les données, on recode souvent ces données initiales sous forme du tableau disjonctif complet \(Z\).

Dans ce tableau, une colonne représente une modalité, pour une des variables et on note \(1\) si l’individu possède cette variable \(0\) sinon

Questions :

  • Quelles sont les dimensions de \(Z\) ?
  • \(\sum_{k=1}^m Z_{ik} = ??\)
  • \(\sum_{i=1}^n Z_{ik} = ??\)

Notation :

\[ Z = \begin{pmatrix}Z_1 \ldots Z_p\end{pmatrix} \] \(Z_j\) est donc un tableau à \(n\) lignes et \(m_j\) colonnes.

Tableau de Burt

On définit le tableau de Burt \(B\) par :

\[ B = Z^\top Z = \begin{pmatrix} B_1 & B_{12}& \ldots &B_{1p} \\ B_{21} & B_{2}& \ldots & \vdots \\ \vdots & & \ddots & \vdots \\ B_{p1} & \ldots & & B_p \end{pmatrix}, \]

Comme vu pour l’AFC sur l’onglet Table de contingence

  • Les blocs diagonaux \(B_j\) représentent les effectifs de chaque modalité de la variable \(j\) (\(j=1, \ldots,p\)).
  • Les blocs non diagonaux \(B_{j\ell}\) comptent les individus croisant les modalités des variables \(j\) et \(\ell\).

La somme des valeurs dans chaque ligne ou colonne correspond à l’effectif total des individus.

Questions :

  • Quelles sont les dimensions de \(B\) ?
  • \(\sum_{k=1}^K B_{ik} = ??\)
  • \(\sum_{i=1}^I B_{ik} = ??\)

\[\bf{Z} = \overset{{\begin{matrix} \class{orange}{a_1} & \class{orange}{a_2} & \class{rouge}{b_1} & \class{rouge}{b_2} & \class{rouge}{b_3}& \class{vert}{c_1} & \class{vert}{c_2} & \class{vert}{c_3}\end{matrix}}}{ \begin{pmatrix} \class{orange}{1} & \class{orange}{0} & \class{rouge}{0} & \class{rouge}{1} & \class{rouge}{0} & \class{vert}{0} & \class{vert}{0} & \class{vert}{1}\\ \class{orange}{1} & \class{orange}{0} & \class{rouge}{0} & \class{rouge}{1} & \class{rouge}{0}& \class{vert}{0} & \class{vert}{1} & \class{vert}{0}\\ \class{orange}{0} & \class{orange}{1} & \class{rouge}{0} & \class{rouge}{1} & \class{rouge}{0} & \class{vert}{0} & \class{vert}{1} & \class{vert}{0}\\ \class{orange}{0} & \class{orange}{1} & \class{rouge}{1} & \class{rouge}{0} & \class{rouge}{0} & \class{vert}{1} & \class{vert}{0} & \class{vert}{0}\\ \class{orange}{1} & \class{orange}{0} & \class{rouge}{1} & \class{rouge}{0} & \class{rouge}{0}& \class{vert}{0} & \class{vert}{0} & \class{vert}{1}\\ \class{orange}{1} & \class{orange}{0} & \class{rouge}{0} & \class{rouge}{0} & \class{rouge}{1}& \class{vert}{1} & \class{vert}{0} & \class{vert}{0}\\ \end{pmatrix}}\]

\[\bf{B} = ??\]

\[\bf{B} = \begin{pmatrix} \class{orange}{4} & \class{orange}{0} & {1} & {2}& {1} & {1} & {1}& {2}\\ \class{orange}{0} & \class{orange}{2} & {1} & {1}& {0} & {1} & {1}& {0}\\ {1} & {1} & \class{rouge}{2} & \class{rouge}{0}& \class{rouge}{0} & {1} & {0}& {1}\\ {2} & {1} & \class{rouge}{0} & \class{rouge}{3}& \class{rouge}{0} & {0} & {2}& {1}\\ {1} & {0} & \class{rouge}{0} & \class{rouge}{0}& \class{rouge}{1} & {1} & {0}& {0}\\ {1} & {1} & {1} & {0}& {1} & \class{vert}{2} & \class{vert}{0}& \class{vert}{0}\\ {1} & {1} & {0} & {2}& {0} & \class{vert}{0} & \class{vert}{2}& \class{vert}{0}\\ {2} & {0} & {1} & {1}& {0} & \class{vert}{0} & \class{vert}{0}& \class{vert}{2}\\ \end{pmatrix} \]

A la manière d’une AFC sur le tableau de Burt

Intuition

On veut généraliser ce qu’on a fait dans l’AFC, c’est à dire

  • définir des distances entre des profils lignes (remarque ici profil ligne et profil colonne sont identiques)
  • faire abstraction des individus, pour ne regarder que les liens entre les différentes modalités.

On a besoin de définir une “AFC” sur le tableau de Burt

  • le poids associé à chaque ligne sera la fréquence de la modalité considérée
  • la distance pondère les colonnes, avec \(1/f_{+j}\)

Les points

  • On considère \(X = \frac{1}{p} \Delta^{-1} B\), où \(\Delta\) est une matrice diagonale qui contient les effectifs de chaque modalité, c’est c’est-à -dire \[Diag(\Delta)= Diag (B).\]

  • Ceci revient à diviser chaque ligne \(i\) par l’effectif dans la modalité \(j\).

  • \(X_{ij} = \frac{k_{ik}}{k_{i+}}.\)

\[\bf{\Delta^{-1}} = \begin{pmatrix} \class{orange}{1/4} & \class{orange}{0} & {0} & {0}& {0} & {0} & {0}& {0}\\ \class{orange}{0} & \class{orange}{1/2} & {0} & {0}& {0} & {0} & {0}& {0}\\ {0} & {0} & \class{rouge}{1/2} & \class{rouge}{0}& \class{rouge}{0} & {0}& {0}& {0}\\ {0} & {0} & \class{rouge}{0} & \class{rouge}{1/3}& \class{rouge}{0} & {0} & {0}& {0}\\ {0} & {0} & \class{rouge}{0} & \class{rouge}{0}& \class{rouge}{1} &{0} & {0}& {0}\\ {0} & {0} & {0} & {0}& {0} & \class{vert}{1/2} & \class{vert}{0}& \class{vert}{0}\\ {0} & {0} & {0} & {0}& {0} & \class{vert}{0} & \class{vert}{1/2}& \class{vert}{0}\\ {0} & {0} & {0} &{0}& {0} & \class{vert}{0} & \class{vert}{0}& \class{vert}{1/2}\\ \end{pmatrix} \] \[\bf{B} = \begin{pmatrix} \class{orange}{4} & \class{orange}{0} & {1} & {2}& {1} & {1} & {1}& {2}\\ \class{orange}{0} & \class{orange}{2} & {1} & {1}& {0} & {1} & {1}& {0}\\ {1} & {1} & \class{rouge}{2} & \class{rouge}{0}& \class{rouge}{0} & {1} & {0}& {1}\\ {2} & {1} & \class{rouge}{0} & \class{rouge}{3}& \class{rouge}{0} & {0} & {2}& {1}\\ {1} & {0} & \class{rouge}{0} & \class{rouge}{0}& \class{rouge}{1} & {1} & {0}& {0}\\ {1} & {1} & {1} & {0}& {1} & \class{vert}{2} & \class{vert}{0}& \class{vert}{0}\\ {1} & {1} & {0} & {2}& {0} & \class{vert}{0} & \class{vert}{2}& \class{vert}{0}\\ {2} & {0} & {1} & {1}& {0} & \class{vert}{0} & \class{vert}{0}& \class{vert}{2}\\ \end{pmatrix} \]

\[\bf{\frac{1}{p} \Delta^{-1} B} = \bf{X} = \frac{1}{3} \begin{pmatrix} 1& 0& 1/4 & 1/2 & 1/4 & 1/4 & 1/4 & 1/2 \\ 0 & 1 & 1/2 & 0.5 & 0& 1/2 & 1/2 & 0 \\ 1/2 & 1/2 & 1 & 0.0 & 0& 1/2 & 0 & 1/2 \\ 2/3 & 1/3 & 0& 1 & 0& 0& 2/3 & 1/3 \\ 1 & 0 & 0& 0.0 & 1 & 1 & 0 & 0 \\ 1/2 & 1/2 & 1/2 & 0.0 & 1/2 & 1 & 0 & 0 \\ 1/2 & 1/2 & 0& 1 & 0& 0& 1 & 0 \\ 1 & 0 & 1/2 & 1/2 & 0& 0& 0 & 1 \\ \end{pmatrix}\]

Poids de chaque ligne (ici un profil ligne)

  • On associe à chaque profil ligne le poids \({f_{i+}}\),

Dans le formalisme vu en ACP, ceci correspond à la matrice \(W = \frac{1}{np} \Delta\)

Metrique

  • On veut utiliser la métrique du \(\chi^2\), telle que la distance entre deux profils \(i_1\) et \(i_2\)

\[d(x_{i_1}, x_{i_2})^2 =\sum_{k=1}^{m} \frac{1}{f_{+k}} \left(\frac{f_{i_1k}}{f_{i_1+}} -\frac{f_{i_2k}}{f_{i_2+}}\right)^2\]

Dans le formalisme matriciel de l’ACP ceci revient à définir la métrique

\(M = D_{1/f_{+ j}} = np\Delta^{-1}\)

Inertie

On est conduit à trouver les valeurs propres de

\[(X M^{1/2})^\top W (X M^{1/2})\]

ou de manière équivalente celles de la matrice

\[VM = X^\top W X M = \Delta^{-1} \frac{1}{p} B^\top \frac{1}{np} \Delta \Delta^{-1} \frac{1}{p} B np \Delta^{-1} = \left ( \frac{1}{p} \Delta^{-1} B \right )^2\]

On peut montrer que l’inertie du nuage des profils-lignes est donnée par :

\[ I = \frac{m-p}{p^2} + \frac{n}{p^2} \sum_{j_1=1}^p \sum_{j_2 \neq j_1} \mathcal{X}^2_{j_1,j_2}, \]

\(\mathcal{\chi}^2_{j_1,j_2}\) est le coefficient de liaison entre les variables \(j_1\) et \(j_2\).

Interprétation de l’inertie

L’inertie I obtenue par l’AFC de \(B\) mesure la liaison globale entre tous les couples de variables. Cette interprétation de l’inertie justifie de faire l’AFC sur le tableau B.

Lorsque els variables sont strictement indépendantes \[I = \frac{m-p}{p^2}\]

Bilan de l’AFC sur le tableau de Burt

  • Comme en ACP, on a le triplet \((X, W, M)\)
  • permet de généraliser l’AFC à plus que 2 modalités
  • MAIS Perte de l’information sur les individus

A la manière de l’AFC sur le tableau disjonctif complet

Intuition

On veut garder l’information sur les individus

  • on va travailler à partir du tableau disjonctif complet \(Z\)

  • on veut garder la même métrique pour les variables que lors de l’AFC sur le tableau de Burt

Les points

On effectue l’AFC à partir du tableau \(Z\), qui conserve toutes les informations relatives à chaque individu.

  • On considère \(X = \frac{1}{p} Z\).

\[\bf{X} = \frac{1}{p}\bf{Z} = \frac{1}{3} \overset{{\begin{matrix} \class{orange}{a_1} & \class{orange}{a_2} & \class{rouge}{b_1} & \class{rouge}{b_2} & \class{rouge}{b_3}& \class{vert}{c_1} & \class{vert}{c_2} & \class{vert}{c_3}\end{matrix}}}{ \begin{pmatrix} \class{orange}{1} & \class{orange}{0} & \class{rouge}{0} & \class{rouge}{1} & \class{rouge}{0} & \class{vert}{0} & \class{vert}{0} & \class{vert}{1}\\ \class{orange}{1} & \class{orange}{0} & \class{rouge}{0} & \class{rouge}{1} & \class{rouge}{0}& \class{vert}{0} & \class{vert}{1} & \class{vert}{0}\\ \class{orange}{0} & \class{orange}{1} & \class{rouge}{0} & \class{rouge}{1} & \class{rouge}{0} & \class{vert}{0} & \class{vert}{1} & \class{vert}{0}\\ \class{orange}{0} & \class{orange}{1} & \class{rouge}{1} & \class{rouge}{0} & \class{rouge}{0} & \class{vert}{1} & \class{vert}{0} & \class{vert}{0}\\ \class{orange}{1} & \class{orange}{0} & \class{rouge}{1} & \class{rouge}{0} & \class{rouge}{0}& \class{vert}{0} & \class{vert}{0} & \class{vert}{1}\\ \class{orange}{1} & \class{orange}{0} & \class{rouge}{0} & \class{rouge}{0} & \class{rouge}{1}& \class{vert}{1} & \class{vert}{0} & \class{vert}{0}\\ \end{pmatrix}}\]

Poids de chaque ligne

  • On associe à chaque “profil ligne” le poids \(1/n\),

Dans le formalisme vu en ACP, ceci correspond à la matrice \(W = \frac{1}{n} I_n\)

Metrique

  • On utilise la métrique de l’AFC

\[d(x_{i_1}, x_{i_2})^2 =\sum_{k=1}^{m} \frac{1}{f_{+k}} \left(x_{i_1k} - x_{i_2k} \right)^2 =\sum_{k=1}^{m} \frac{1}{p^2f_{+k}} \left(z_{i_1k} - z_{i_2k} \right)^2 \]

Dans le formalisme matriciel de l’ACP ceci revient à définir la métrique

\(M = D_{1/f_{+ j}} = np\Delta^{-1}\)

Inertie

On est conduit à trouver les valeurs propres de

\[(X M^{1/2})^\top W (X M^{1/2})\]

ou de manière équivalente celles de la matrice

\[VM = X^\top W X M = \frac{1}{p} Z^\top \frac{1}{n} I_n \frac{1}{p} Z np\Delta^{-1} = \left ( \frac{1}{p} \Delta^{-1} B \right )\]

Comme dans le cas de l’ACP, L’inertie n’a pas d’intérêt en soi, on peut montrer qu’elle vaut toutefois :

\[ I = \frac{m-p}{p} \]

Coordonnées du centre de gravité : \[x_{\bullet j} = \sum_{i=1}^n w_i x_{ij} = \frac{1}{n} \sum_{i=1}^n \frac{z_{ij}}{p}= \frac{1}{n} \frac{k_{+j}}{p}\]

Relation entre AFC de \(B\) et \(Z\)

Valeurs propres

  • Notons \(\rho_1, \ldots, \rho_q\) : Valeurs propres non triviales (i.e différentes de \(0\) ou \(1\)) de \((\frac{B\Delta^{-1}}{p})^2\) (AFC de \(B\)).
  • et \(\lambda_1, \ldots, \lambda_q\) : Valeurs propres non triviales de \((\frac{B\Delta^{-1}}{p})\) (AFC de \(Z\)).

Propriété :

\[ \rho_k = \lambda_k^2, \]

et les valeurs propres sont les mêmes.

Ainsi les axes construits par les deux AFC sont les mêmes, et à un changement d’échelle près on peut représenter individus et modalités sur le même graphique.

Dans les sorties de Rce sont les valeurs propres \(\lambda_k\) qui sont fournies.

Relation de transition

On note

  • \(F_s(i)\) les coordonnées de l’individu \(i\) (tableau disjonctif complet) sur l’axe \(s\)
  • \(G_s(j)\) les coordonnées de la modalité \(j\) (tableaude Burt) sur l’axe \(s\)

Alors

\[F_s(i) = \frac{1}{\lambda_s} \sum_{j=1}^m \frac{x_{ij}}{p} G_s(j)\] \[G_s(j) = \frac{1}{\lambda_s} \sum_{i=1}^n \frac{x_{ij}}{k_{+j}} F_s(j)\]

Interprétation

Règles pour l’interprétation

  • On regarde l’éboulis des valaurs propres pour identifier le nombre d’axes pertinents.

Comme pour toutes les analyses factorielles, on interprète en

  • regardant les individus/variables qui contribuent le plus aux axes
  • lorsque l’on veut discuter de la position d’une variable ou d’un individu, on vérifie qu’il est bien représenté
  • poids des variables (en fonction du nombre de modalités)
  • Approche de test sur les différences entre modalités (dimdesc)

Exemple – sur la perception des OGM

Démarche d’analyse

  • Quelles Variables considérées pour la construction des axes
  • Quels sont les axes pertinents à regarder
  • Comprendre les axes par les contributions
  • Interpréter les positions des variables / des individus
  • Creuser le lien entre deux types de variables avec une AFC (comme un zoom sur la relation entre deux variables)
  • Représenter les modalités supplémentaires – quel procédé ?
  • Discuter Ellipse de confiance (revu dans le dernier TD)

Lien vers le Script R

A nous de jouer

Synthèse

  • L’AFC du tableau de Burt permet d’évaluer les liaisons globales entre les variables qualitatives.
  • L’AFC du tableau disjonctif complet permet de représenter les individus et modalités dans le même espace factoriel.

Applications

  • Études exploratoires pour des données qualitatives complexes.
  • Analyse de dépendances entre plusieurs variables qualitatives.