L’Analyse des correspondances multiples

add.png

\bullet Présentation:

Publié en 1963 par Jean-Paul Benzécri, l’analyse des correspondances multiples (notée ACM) est une approche multivariée permettant d’étudier les liaisons multiples d’un ensemble de variables qualitatives distinctes \mathbf{X} = (X ^1, \cdots, X ^P).

Le principe de l’ACM est de considérer non pas les variables mais leurs modalités comme des variables à part entière et de les projeter, selon la métrique du \chi ^2, dans un plan factoriel afin d’offrir une représentation synthétiquement simple et visuelle des interactions entre les différentes variables d’intérêt. En ce sens, l’ACM est à cataloguer dans les méthodes exploratoires de réduction du nombre de dimensions.

L’ACM est une bonne alternative à l’Analyse en Composantes principales (ACP) lorsque le jeu de données est un mixte de variables continues, ordinales et/ou qualitatives. Pour cela il faut au préalable transformer les variables continues en variables qualitatives ou modales selon un découpage arbitrairement choisi. De plus, l’ACM possède l’avantage de pouvoir détecter les liaisons non linéaires au sein du jeu de données à l’inverse de l’ACP qui, basée sur les coefficients de corrélation, se limite aux relations linéaires.

Enfin, la différence entre l’ACM et l’Analyse Factorielle des Correspondances (AFC) est de l’ordre de la nuance. Ainsi, nous parlons d’AFC lorsque nous appliquons la technique sur un tableau disjonctif complet et nous parlons d’ACM lorsqu’il s’agit du tableau de Burt.

\bullet L’Analyse des correspondances multiples:

Hypothèse préliminaire: Variables qualitatives.

Notons P_{mod} = \sum_{p = 1} ^P \sharp \lbrace \mbox{modalites de la variable p} \rbrace, le nombre total des modalités propres aux variables qualitatives et \mathbf{Z} la table disjonctive complète associée à \mathbf{X} et de taille n \times P_{mod}. Enfin, nous avons N = \sum_{i = 1} ^n \sum_{p = 1} ^{P_{mod}} Z_{i,p}.

Nous rappelons qu’une table disjonctive complète est un tableau d’indicatrices présentant en colonne nos diverses modalités de variables et codée en ligne: 1 si l’individu a choisi la modalité, 0 sinon.

Finalement l’ACM peut être vue comme une ACP soit de la table de Burt (= \mathbf{Z}' \mathbf{Z}) soit de la table disjonctive complète des données. Nous verrons ici la méthode appliquée à la seconde forme citée.

L’algorithme:

– La première étape consiste à déterminer les trois matrices \mathbf{D_c}, \mathbf{D_l}, \mathbf{P} de la manière suivante,

\mathbf{D_c} = \frac{1}{N} \cdot \begin{pmatrix} \sum_{j = 1}^{p_{mod}} Z_{1,j} & 0 & \ldots & 0 \\ 0 & \sum_{j = 1}^ {p_{mod}} Z_{2,j} & \ldots & 0 \\ \vdots & \ddots & \ddots & \vdots \\ 0 & \cdots & 0 & \sum_{j = 1} ^{p_{mod}} Z_{p,j} \\ \end{pmatrix}

\mathbf{D_l} = \frac{1}{N} \cdot \begin{pmatrix} \sum_{i = 1} ^{p_{mod}} Z_{i,1} & 0 & \ldots & 0 \\ 0 & \sum_{i = 1} ^{p_{mod}} Z_{i,2} & \ddots & 0 \\ \vdots & \ddots & \ddots & \vdots \\ 0 & \cdots & 0 & \sum_{i = 1} ^{p_{mod}} Z_{i,n} \\ \end{pmatrix}

Et,

\mathbf{P} = \frac{\mathbf{Z}}{N}

– La seconde étape nous amène au calcul de,

\mathbf{T} = \mathbf{D_l} ^{- \frac{1}{2}} \cdot [\mathbf{P} - diag(\mathbf{D_l}) \times diag(\mathbf{D_c}) ^T] \cdot \mathbf{D_c} ^{- \frac{1}{2}}

– La troisième étape consiste à effectuer la décomposition en valeurs singulières de \mathbf{T} afin d’obtenir les valeurs propres et les matrices unitaires associées. Notons \lambda le vecteur des valeurs propres, \mathbf{V} la matrice de taille P_{mod} \times P_{mod} contenant les vecteurs « d’entrée » et \mathbf{U} la matrice de taille n \times n contenant ceux de « sortie ».

Les parts (en pourcentage) d’inertie:

A l’instar de l’ACP, les parts d’inertie expliquée sont données par la puissance au carré du vecteur \lambda (dans le cas de la table de Burt, l’élévation au carré n’est pas nécessaire), nous les obtenons au travers de la formule,

\frac{\lambda_{p_{mod}}}{\sum_{p_{mod} = 1} ^{P_{mod}} \lambda_{p_{mod}}}

Il est important de prendre en compte que les parts d’inertie ne sont pas comparables aux parts de variance de l’ACP. En effet, vu la nature des données ces dernières sont générales très faibles sur les premiers axes factoriels.

Les axes factoriels:

En notant \mathbf{D_{\lambda}} la matrice nulle dont la diagonale contient les éléments de \lambda, les axes factoriels de l’ACM sont déterminés par la formule:

\mathbf{Proj_{Vars}} = \mathbf{D_c} ^{-1} \times \mathbf{B} \times \mathbf{D_{\lambda}} avec \mathbf{B} = \sqrt{\mathbf{D_c}} \times \mathbf{V}

Les profils-lignes (qui sont ici identiques aux profils-colonnes) ne sont pas directement interprétables. Le nuage des modalités a cependant deux propriétés intéressantes: le centre de gravité des différentes modalités d’une même variable est l’origine des axes et la présence de fortes liaisons multiples entraîne une forme parabolique du nuage de points dite en « fer à cheval » ou effet Guttman.

Projection des individus:

La projection des individus se fait à partir des différents axes factoriels qui contiennent les pondérations à appliquer à chaque variable prise par l’observation i \in [1, n] (l’absence de réponse à une modalité équivaut donc à un coefficient nul). A l’inverse de l’ACP, la carte des individus est superposables avec celle des modalités des variables et permet un gain essentiel dans l’analyse des résultats.

Choix du nombre d’axes factoriels:

La détermination du nombre d’axes factoriels pour une ACM est encore plus délicat que pour une ACP étant donné la particularité des parts d’inertie soulevée plus haut. Deux critères existent et sont les mêmes que ceux pour l’ACP.

Le premier est le critère de Kaiser qui, cette fois-ci, se résume à prendre les axes associés aux valeurs propres supérieures à \frac{1}{P}.

Le second consiste à ranger par ordre décroissant les valeurs propres et observer la présence d’un coude à partir duquel retenir les axes factoriels associés aux valeurs propres se situant au dessus.

Un troisième critère peut être envisagé, retenir les axes regroupant le plus de modalités de variables qui contribuent à leur construction.

Interprétation:

– La proximité entre modalités d’une même variable est signe de ressemblance, c’est à dire qu’elle regroupe des effectifs semblables.
– La proximité entre modalités de variables différentes est signe d’association, c’est-à-dire qu’elle concerne les mêmes individus ou des individus semblables.

\bullet Annexe théorique:

Cette partie de l’article présente la démonstration des propriétés des valeurs propres.

Avec m_p, p \in[1,P] le nombre de modalités prises par la variable X ^p, notons que,

Rg(\mathbf{X}) =\sum_{p = 1} ^P m_p - P + 1

, si n > \sum_{p = 1} ^P m_p. Le nombre de valeurs propres non trivialement égales à 0 ou 1 est \sum_{p = 1} ^P m_p - P = q et de somme,

\sum_{p = 1} ^q \lambda_p = \frac{1}{P} \sum_{p = 1} ^P m_p - 1

, qui est la formule de l’inertie pour l’ACM et qui est une quantité qui ne dépend pas des liaisons entre les variables et n’a donc aucune valeur statistique contrairement à la somme des carrés des valeurs propres.

Nous retrouvons alors le fameux seuil de Kaiser puisque,

\overline{\lambda_p, p \in [1,q]} = \frac{1}{P}

En notant \mathbf{A}_p = X ^p ([X ^p] ' X ^p) (X ^p) ' et \lambda ^2 la valeur propre du carré de la matrice à diagonaliser nous avons,

1 + \sum_{p = 1} ^q \lambda_p ^2 = trace((\frac{1}{P} \sum_{p = 1} ^P \mathbf{A_p}) ^2)

\Rightarrow \sum_{p = 1} ^q \lambda_p ^2 = \frac{1}{P ^2} \sum_{p = 1} ^P trace (\mathbf{A_p} ^2) + \frac{1}{P ^2} \sum \sum _{p_1 \neq p_2} trace(\mathbf{A_{p_1}} \mathbf{A_{p_2}}) - 1

\Rightarrow \sum_{p = 1} ^q \lambda_p ^2 = \frac{1}{P} \sum_p m_p + \frac{1}{P ^2} \sum \sum_{p_1 \neq p_2} (1 + \phi_{p_1, p_2} ^2) - 1, puisque \mathbf{A_p} ^2 = \mathbf{A_p}

\Rightarrow \sum_{p = 1} ^q \lambda_p ^2 = \frac{1}{P ^2} \sum_{p = 1} ^q (m_p - 1) + \frac{1}{P ^2} \sum \sum_{p_1 \neq p_2} \phi_{p_1, p_2} ^2

, où \phi_{p_1, p_2} ^2 est le coefficient \phi ^2 de Pearson du croisement de X ^{p_1}, X ^{p_2}.

Si les P variables X ^1 \dots, X ^P sont indépendantes deux à deux alors \phi_{p_1,p_2} ^2 = 0 et,

\sum_{p = 1} ^q \lambda_p ^2 = \frac{1}{P ^2} \sum_{p = 1} ^q (m_p - 1) = \frac{q}{P ^2}

Nous avons donc,

\frac{1}{q} \sum_{p = 1} ^q \lambda_p ^2 = \frac{1}{P ^2} = (\frac{1}{q} \sum_{p = 1} ^q \lambda_p ^2) ^2

La moyenne des carrés ne peut être égale au carré de la moyenne que si toutes les valeurs propres sont égales. La cas de l’indépendance correspond donc à \lambda_p = \frac{1}{P}, \forall p.

\bullet Exemple:

Soit la matrice \mathbf{X} ci-dessous,

add

Nous transformons cette table de données en sa version disjonctif \mathbf{Z},

addNous obtenons une table de dimension 20 \times 17 avec N = 120.

Nous démarrons l’algorithme en calculant les éléments diagonaux des matrices diagonales \mathbf{D_c} et \mathbf{D_l},

diagonal(\mathbf{D_c}) = \frac{1}{120} \times ( 10, 10, 6, 7, 7, 6, 7, 7, 6, 7, 7, 6, 7, 7, 6, 7, 7)

diagonal(\mathbf{D_l}) = \frac{1}{120} \times ( 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6)

Ensuite, nous avons \mathbf{P} = \frac{\mathbf{Z}}{120} =

\begin{pmatrix} Statut = A & Statut = B & X1 = 1m & X1 = 2m & X1 = 3m & X2 = 1m & \ldots \\ 0.00833 & 0 & 0.00833 & 0 & 0 & 0.00833 & \ldots \\ 0.00833 & 0 & 0 & 0.00833 & 0 & 0.00833 & \ldots \\ 0.00833 & 0 & 0 & 0.00833 & 0 & 0 & \ldots \\ 0.00833 & 0 & 0 & 0.00833 & 0 & 0 & \ldots \\ 0.00833 & 0 & 0 & 0.00833 & 0 & 0 & \ldots \\ 0 & 0.00833 & 0 & 0.00833 & 0 & 0 & \ldots \\ 0.00833 & 0 & 0.00833 & 0 & 0 & 0 & \ldots \\ 0.00833 & 0 & 0.00833 & 0 & 0 & 0 & \ldots \\ 0 & 0.00833 & 0 & 0 & 0.00833 & 0 & \ldots \\ 0 & 0.00833 & 0 & 0.0083 & 0 & 0 & \ldots \\ 0.00833 & 0 & 0.00833 & 0 & 0 & 0 & \ldots \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \end{pmatrix}

Par conséquent,

\mathbf{T} = \mathbf{D_l} ^{- \frac{1}{2}} \cdot [\mathbf{P} - diag(\mathbf{D_l}) \times diag(\mathbf{D_c}) '] \cdot \mathbf{D_c} ^{- \frac{1}{2}} =

\begin{pmatrix} 0.06454972 & -0.06454972 & 0.1166667 & -0.05400617 & -0.05400617 & 0.1166667 & \ldots \\ 0.06454972 & -0.06454972 & -0.05000000 & 0.10029718 & -0.05400617 & 0.1166667 & \ldots \\ 0.06454972 & -0.06454972 & -0.05000000 & 0.10029718 & -0.05400617 & -0.05000000 & \ldots \\ 0.06454972 & -0.06454972 & -0.05000000 & 0.10029718 & -0.05400617 & -0.05000000 & \ldots \\ 0.06454972 & -0.06454972 & -0.05000000 & 0.10029718 & -0.05400617 & -0.05000000 & \ldots \\ -0.06454972 & 0.06454972 & -0.05000000 & 0.10029718 & -0.05400617 & -0.05000000 & \ldots \\ 0.06454972 & -0.06454972 & 0.1166667 & -0.05400617 & -0.05400617 & -0.050000000 & \ldots \\ 0.06454972 & -0.06454972 & 0.1166667 & -0.05400617 & -0.05400617 & -0.050000000 & \ldots \\ -0.06454972 & 0.06454972 & -0.05000000 & -0.05400617 & 0.10029718 & -0.05000000 & \ldots \\ -0.06454972 & 0.06454972 & -0.05000000 & 0.1002978 & -0.05400617 & -0.05000000 & \ldots \\ 0.06454972 & -0.06454972 & 0.1166667 & -0.05400617 & -0.05400617 & -0.05000000 & \ldots \\ 0.06454972 & -0.06454972 & 0.1166667 & -0.05400617 & -0.05400617 & -0.05000000 & \ldots \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \end{pmatrix}

Enfin, le développement en valeur singulière nous donne le vecteur de valeurs propres,

\lambda = (0.7750741, 0.6408922, 0.4940134, 0.4413302, 0.3741645, 0.3415523, 0.2375906, 0.2073736, 0.1549059, 0.05406519, <0.0001, \cdots)

, les deux matrices unitaires \mathbf{V} = ,

add

, et \mathbf{U} =

add

Comme nous cherchons à projeter les variables dans le plan, nous utilisons la formule,

\mathbf{Proj_{Vars} }= \mathbf{D_c} ^{-1} \times \mathbf{B} \times \mathbf{D_{\lambda}}

, avec \mathbf{B} = \sqrt{\mathbf{D_c}} \times \mathbf{V} =

\begin{pmatrix} -0.097057842 & -0.032167816 & -0.027817926 & 0.023256564 & -0.000285677 & -0.000285677 & \ldots \\ 0.097057842 & 0.032167816 & 0.027817926 & -0.039273302 & 0.023256564 & 0.000285677 & \ldots \\ -0.085239926 & 0.046907719 & -0.005529298 & -0.008163652 & 0.048930999 & 0.016088706 & \ldots \\ 0.008221251 & -0.106219415 & 0.062385087 & -0.011006838 & -0.044708427 & 0.021445251 & \ldots \\ 0.077018674 & 0.059311696 & -0.056855789 & 0.019170490 & -0.004222573 & -0.037533958 & \ldots \\ -0.004787117 & -0.006723343 & -0.069333659 & -0.138081302 & -0.025052597 & 0.064638203 & \ldots \\ -0.019116720 & 0.06500761 & 0.045552261 & 0.050161988 & -0.102197016 & -0.125433576 & \ldots \\ 0.023903837 & -0.058284418 & 0.023781399 & 0.087919314 & 0.127249613 & 0.060795374 & \ldots \\ 0.041101859 & -0.050230090 & 0.055421724 & -0.077990359 & 0.065982049 & -0.085740691 & \ldots \\ -0.086870689 & -0.002099338 & -0.037463129 & -0.024796613 & -0.028540269 & -0.013123151 & \ldots \\ 0.045768830 & 0.052329428 & -0.017958595 & 0.102786972 & -0.037441780 & 0.098863842 & \ldots \\ -0.085239925 & 0.046907719 & -0.005529298 & -0.008163652 & 0.048930999 & 0.016088706 & \ldots \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \end{pmatrix}

La matrice \mathbf{Proj_{Vars}} contient les 17 axes factorielles de l’ACM. Nous avons alors les coordonnées des différentes modalités de nos variables Dim_1 et Dim_2:

\mathbf{Proj_{Vars}} = \begin{tabular} {|l|c|c|} \hline & Dim 1 & Dim 2 \\ \hline Statut = A & -0.9027 & -0.2474 \\ \hline Statut = B & 0.9027 & 0.2474 \\ \hline X1 = 1m & -1.3213 & 0.6013 \\ \hline X1 = 2m & 0.1092 & -1.1670 \\ \hline X1 = 3m & 1.0233 & 0.6516 \\ \hline X2 = 1m & -0.0742 & -0.0862 \\ \hline X2 = 2m & -0.2540 & 0.7142 \\ \hline X2 = 3m & 0.3176 & -0.6403 \\ \hline X3 = 1m & 0.6371 & -0.6438 \\ \hline X3 = 2m & -1.1542 & - 0.0231 \\ \hline X3 = 3m & 0.6081 & 0.5749 \\ \hline X4 = 1m & -1.3213 & 0.6013 \\ \hline X4 = 2m & 0.2942 & -0.8917 \\ \hline X4 = 3m & 0.8383 & 0.3763 \\ \hline X5 = 1m & -0.3022 & -1.2489 \\ \hline X5 = 2m & -0.5016 & 0.5163 \\ \hline X5 = 3m & 0.7606 & 0.5542 \\ \hline \end{tabular}

Nous concluons cet exemple avec la projection de l’ensemble des modalités des différentes variables dans le plan factoriel associé aux dimensions 1-2:

add

La part d’inertie totale restituée par les deux composantes retenues est de:

100 \times \frac{\lambda_1 ^2 + \lambda_2 ^2}{\sum_{k = 1} ^{17} \lambda_k ^2} = 100 \times \frac{0.7750741 ^2 + 0.6408922 ^2}{1.833333} = 100 \times 0.5517178 = 55\%

La première interprétation que nous pouvons faire est la grande similarité entre les effectifs des individus ayant choisi la modalité « B » de la variable « Statut » et les modalités « 3 » des variables X ^3, X ^4, X ^5 et X ^1. Logiquement le groupe des individus ayant choisi la modalité « A » de la variable Statut est opposé à celui des individus ayant choisi la modalité « B ». Nous constatons également que la modalité « 2 » de la variable X ^3 contient des effectifs communs à ceux de la modalité « A » de la variable « Statut ». Remarquons que la ligne frontière entre les effectifs ayant choisi la modalité « A » et ceux ayant choisi la modalité « B » est tracée par les trois modalités de la variable  X ^2  marquant la non influence de cette variable sur les deux statuts.

\bullet Application informatique:

Procédure SAS: http://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/viewer.htm#statug_corresp_sect005.htm

Package et fonction R: http://rpackages.ianhowson.com/cran/ade4/man/dudi.acm.html

\bullet Bibliographie:

– Histoire et préhistoire de l’analyse des données de Jean-Paul Benzécri

– Data mining et statistique décisionnelle de Stéphane Tufféry

– Histoire et préhistoire de l’analyse des données de Jean-Paul Benzécri

– Probabilité, analyse des données Statistique de Gilbert Saporta

– Comprendre et utiliser les statistiques dans les sciences de la vie de Bruno Falissard

– Analyses factorielles simples et multiples de Brigitte Escofier et Jérôme Pagès