L’Analyse canonique des corrélations

add

\bullet Présentation:

L’Analyse canonique des corrélations, élaborée par Harold Hotelling en 1936, est une approche multivariée visant à comparer les interactions de deux matrices \mathbf{A} = (X ^1, \cdots, X ^{p'}) et \mathbf{B} = (X ^{p' +1}, \cdots, X ^P) continues. Les deux blocs peuvent être appariés ou non appariés, l’outil étant efficace dans les deux cas.

L’Analyse canonique des corrélations, comme son titre l’indique, se base sur les corrélations, autrement dit sur la présence ou l’absence d’une relation linéaire entre les variables des deux différents blocs.

L’outil appartient à la famille de l’analyse exploratoire et permet, par exemple, de comparer de champs thématiques de variables en élaborant une carte des variables et des observations afin d’avoir une représentation visuelle des interactions entre les deux blocs de données.

\bullet L’analyse canonique des corrélations:

Hypothèse préliminaire: \mathbf{A}, \mathbf{B} continues.

L’Analyse canonique des corrélations se déroule en quatre étapes qui sont les suivantes,

– Étape 1: calcul des matrices de covariances intra et inter groupes,

cov(\mathbf{A}), cov(\mathbf{B}), cov(\mathbf{A}, \mathbf{B})

– Étape 2: calcul des valeurs propres \lambda et vecteurs propres associés \mathbf{U}, \mathbf{V} sous contrainte de maximisation de,

max_{\mathbf{U}, \mathbf{V}} \frac{trace(\mathbf{U} ^t cov(\mathbf{A}, \mathbf{B}) \mathbf{U})}{\sqrt{trace(\mathbf{U} ^t cov(\mathbf{A}) \mathbf{U}) trace(\mathbf{V} ^t cov(\mathbf{B}) \mathbf{V})}}

– Étape 3: Calcul des axes factorielles après standardisation de \mathbf{A}, \mathbf{A},

\mathbf{C_A} = \mathbf{A}_{std} \mathbf{U}, \mathbf{C_B} = \mathbf{B}_{std} \mathbf{V}

– Étape 4: Projection des variables dans le plan factoriel,

Coord_{\mathbf{A}} = cor(\mathbf{A}, \mathbf{C_A}), Coord_{\mathbf{B}} = cor(\mathbf{B}, \mathbf{C_B})

La projection des observations est obtenue lors du calcul des matrices \mathbf{C_A}, \mathbf{C_B}.

Le choix du nombre d’axes se fait comme pour les autres méthodes de l’analyse exploratoire, à partir des valeurs propres \lambda et en fonction de leur distribution.

En termes d’interprétation, la lecture se fait à l’instar d’une Analyse en Composantes Principales (ACP),

– Plus une variable de l’un des deux blocs est proche du cercle de corrélation et plus elle interagit avec les variables de l’autre bloc.

– Plus les variables de différents blocs sont proches entre elles et plus leur corrélation est forte, soit que les variables de l’un des deux blocs peuvent s’écrire comme combinaison linéaire à partir des variables de l’autre bloc. Autrement dit, à partir des variables de l’un des deux blocs, nous pouvons prédire les valeurs des variables de l’autre bloc.

– Un angle de 180° entre deux blocs de variables impliquent une anti-corrélation entre eux.

– Un angle de 90° entre deux blocs de variables impliquent l’absence de corrélation entre eux.

\bullet Annexe théorique:

Nous présentons ici une esquisse de la démarche méthodologique de l’analyse canonique des corrélations.

Soit R ^n muni de la métrique D. L’idée est alors de chercher un couple de vecteurs normés (\epsilon_1, \eta_1) sous contrainte d’obtenir l’angle le plus petit et ensuite le couple (\epsilon_2, \eta_2) D-orthogonal, respectivement, à \epsilon_1, \eta_1. sous cette même contrainte. Nous en faisons de même pour les autres couples (\epsilon_p, \eta_p), p \in [3, P].

Les opérateurs utilisés sont alors de la forme,

O_1 = \mathbf{A} (\mathbf{A} ^t D \mathbf{A}) ^{-1} \mathbf{A} ^t D, O_2 = \mathbf{B} (\mathbf{B} ^t D \mathbf{B}) ^{-1} \mathbf{B} ^t D

, dont l’une des propriétés les plus intéressantes est que la restriction de O_2 O_1 est diagonalisable, de valeurs propres D-orthogonaux et de vecteurs propres \lambda réels positifs.

Cette propriété se démontre facilement par le fait que,

<\mathbf{A}, O_2 O_1 \mathbf{B}> = <O_2 \mathbf{A}, O_1 \mathbf{B}>

= <\mathbf{A}, O_1 \mathbf{B}>

= <O_1 \mathbf{A}, \mathbf{B}>

= <O_1 \mathbf{A}, O_2 \mathbf{B}>

= <O_2 O_1 \mathbf{A}, \mathbf{B}>

, étant donné que O_1, O_2 sont D-symétriques.

Dés lors, les vecteurs propres \epsilon_p, \eta_p, p \in [1, P], D-normés de O_1 O_2, O_2 O_1 sont associés aux mêmes valeurs propres. De plus, ils s’expriment comme combinaisons linéaires de \mathbf{A}, \mathbf{B},

\epsilon_p = \mathbf{A} a_p, \eta_p = \mathbf{B} b_p, \forall p \in [1,P]

, avec a_p, b_p nos facteurs canoniques obtenus par,

O_1 O_2 \epsilon_p = \lambda_p \epsilon_p, \forall p \in [1,P]

\Longleftrightarrow O_1 O_2 \mathbf{A} a_1 = \lambda_p \mathbf{A} a_p, \forall p \in [1,P]

\Longleftrightarrow \mathbf{A} (\mathbf{A} ^t D \mathbf{A}) ^{-1} \mathbf{A} ^t D \mathbf{B} (\mathbf{B} ^t D \mathbf{B}) ^{-1} \mathbf{B} ^t D \mathbf{A} a_p = \lambda_p \mathbf{A} a_p, \forall p \in [1,P]

En passant par la formule des matrices de covariance, nous en déduisons que les équations des facteurs canoniques sont de forme,

\mathbf{V_{1,1}} ^{-1} \mathbf{V_{1,2}} \mathbf{V_{2,2}} ^{-1} \mathbf{V_{2,1}} a_p = \lambda_p a_p, \forall p \in [1,P]

\mathbf{V_{2,2}} ^{-1} \mathbf{V_{2,1}} \mathbf{V_{1,1}} ^{-1} \mathbf{V_{1,2}} b_p = \lambda_p b_p, \forall p \in [1,P]

\bullet Exemple:

Soit le jeu de données suivant,

add

Nous avons donc \mathbf{A} = (X ^1, X ^2, X ^3, X ^4) et \mathbf{B} = (X ^5, X ^6, X ^7, X ^8), nos deux matrices ou blocs de données à comparer.

Dans un premier temps, déterminons les matrices de covariances intra et inter groupes. Nous avons,

Cov(\mathbf{X} ^1) = \begin{pmatrix} 9.0705355 & 0.7555145 & 1.5600932 & 10.4175026 \\ 0.7555145 & 11.9613546 & 1.7490082 & -1.9441531 \\ 1.5600932 & 1.7490082 & 2.1295090 & 0.4300301 \\ 10.4175026 & -1.9441531 & 0.4300301 & 13.7338166 \\ \end{pmatrix}

Cov(\mathbf{X} ^2) = \begin{pmatrix} 9.088271 & 2.6069842 & 5.0946792 & -10.1751933 \\ 2.606984 & 10.9457223 & 0.3020457 & 1.1275066 \\ 5.094679 & 0.3020457 & 15.7377368 & 0.6925294 \\ -10.175193 & 1.1275066 & 0.6925294 & 19.1206608 \\ \end{pmatrix}

Cov(\mathbf{X} ^1, \mathbf{X} ^2) = \begin{pmatrix} 9.0690971 & 2.8200495 & 5.393049 & -9.926482 \\ 0.7331316 & 30.687814 & 4.098546 & 1.701438 \\ 1.4270587 & 0.9324708 & 5.439073 & 1.117790 \\ 10.5149496 & 0.8331533 & 3.361065 & -14.197508 \\ \end{pmatrix}

Pour le calcul des valeurs propres et vecteurs propres associés utiles à la suite des calculs, nous procédons à une analyse généralisée des valeurs propres en cherchant les matrices de vecteurs propres \mathbf{U}, \mathbf{V} maximisant,

\frac{trace(\mathbf{U} ^t Cov(\mathbf{X} ^1, \mathbf{X} ^2) \mathbf{V}}{\sqrt{trace(\mathbf{U} ^t Cov(\mathbf{X} ^1) \mathbf{U}) trace(\mathbf{V} ^t Cov(\mathbf{X} ^2) \mathbf{V})}}

, nous obtenons ainsi,

\lambda = (0.9998629, 0.9601233, 0.7838923, 0.1796847)

, et,

\mathbf{U} = \begin{pmatrix} -0.367335712 & 0.107257361 & 1.6836411 & -0.46348891 \\ -0.002049065 & -0.006283649 & -0.1220621 & 0.35582619 \\ 0.018911484 & -0.715591159 & -0.8823932 & -0.04856284 \\ 0.028178637 & 0.015844425 & -1.3322262 & 0.38089724 \\ \end{pmatrix}

\mathbf{V} = \begin{pmatrix} -0.312924231 & 0.198063333 & 0.02560371 & -0.9986287 \\ -0.017179811 & -0.075302950 & 0.27342204 & 0.3231552 \\ -0.012493456 & -0.280402012 & -0.07303302 & 0.3362131 \\ 0.005666279 & 0.005595241 & 0.06737516 & -0.6371241 \\ \end{pmatrix}

Maintenant, calculons les projections après avoir centré-réduit les matrices \mathbf{A}, \mathbf{B},

\mathbf{C_{A}} = \mathbf{A}_{std} \times \mathbf{U} = \begin{pmatrix} -4.59656 & 1.90864 & -1.88593 & -4.83459 \\ -3.39866 & 2.81934 & -0.89523 & -4.24669 \\ -2.46286 & -4.96866 & -0.20843 & -3.65529 \\ \cdots & \cdots & \cdots & \cdots \\ 2.49024 & -0.76976 & -1.98593 & 4.45721 \\ 3.49184 & 3.33654 & 0.95347 & 2.82211 \\ 4.45324 & 3.41034 & 1.87687 & 3.67941 \\ \end{pmatrix} \times \begin{pmatrix} -0.367335712 & 0.107257361 & 1.6836411 & -0.46348891 \\ -0.002049065 & -0.006283649 & -0.1220621 & 0.35582619 \\ 0.018911484 & -0.715591159 & -0.8823932 & -0.04856284 \\ 0.028178637 & 0.015844425 & -1.3322262 & 0.38089724 \\ \end{pmatrix}

= \begin{pmatrix} 1.5126718 & 0.7679454 & 0.1329695 & 1.0597074 \\ 1.1060761 & 0.1910853 & 0.3812384 & 1.0043620 \\ 0.8079347 & -0.1417038 & 1.5135031 & -2.0086365 \\ -0.8251356 & 1.7636694 & 0.1009881 & 0.3660795 \\ -1.1919596 & -0.2840201 & 0.8707159 & 0.5974264 \\ -1.5036469 & -0.8285601 & 0.5234408 & 0.459787\\ \end{pmatrix}

, et,

\mathbf{C_{B}} = \mathbf{B}_{std} \times \mathbf{V} = \begin{pmatrix} -4.31367 & -5.02602 & -4.44019 & 2.20902 \\ -3.56947 & 3.10378 & -3.54319 & 2.62262 \\ -2.53027 & 2.96958 & -2.54469 & 4.18262 \\ \cdots & \cdots & \cdots & \cdots \\ 2.67113 & 2.55528 & -4.47639 & -4.04638 \\ 3.49323 & 1.31998 & 3.53491 & -3.08198 \\ 4.41173 & 2.99278 & 4.55261 & -4.71448\\ \end{pmatrix} \times \begin{pmatrix} -0.312924231 & 0.198063333 & 0.02560371 & -0.9986287 \\ -0.017179811 & -0.075302950 & 0.27342204 & 0.3231552 \\ -0.012493456 & -0.280402012 & -0.07303302 & 0.3362131 \\ 0.005666279 & 0.005595241 & 0.06737516 & -0.6371241 \\ \end{pmatrix}

= \begin{pmatrix} 1.5041882 & 0.78149248 & -1.01155701 & -0.21669955 \\ 1.1227785 & 0.06748688 & 1.19271948 & 1.70537668 \\ 0.7962578 & 0.01216711 & 1.21481539 & -0.03397062 \\ \cdots & \cdots & \dots & \cdots \\ -0.8467629 & 1.56918108 & 0.82135948 & -0.76868958 \\ -1.1774199 & -0.41595791 & -0.01546278 & 0.09020532 \\ -1.5155440 & -0.65450287 & 0.28111896 & 1.09580804 \\ \end{pmatrix}

Nous pouvons désormais calculer les corrélations entre \mathbf{A}, \mathbf{B} et \mathbf{C_A}, \mathbf{C_B},

cor(\mathbf{B}, \mathbf{C_A}) = \begin{pmatrix} -0.9983231 & 0.03766023 & -0.02915787 & -0.002240457 \\ -0.3025849 & -0.11210117 & 0.73769532 & 0.017213797 \\ -0.4516889 & -0.82836922 & -0.17580138 & -0.006344769 \\ 0.7464322 & -0.48029888 & 0.23043986 & -0.058506989 \\ \end{pmatrix}

cor(\mathbf{A}, \mathbf{C_B}) = \begin{pmatrix} -0.99942865 & 0.005357258 & -0.01972378 & -0.002567494 \\ -0.09359495 & -0.354372038 & 0.19463497 & 0.160046597 \\ -0.35921736 & -0.895262927 & -0.02084901 & -0.004969892 \\ -0.92477377 & 0.269298886 & -0.19023740 & -0.015025710 \\ \end{pmatrix}

Nous pouvons désormais projeter nos variables dans le plan en deux dimensions (choix motivé par simplicité de lecture étant donné qu’il s’agit d’un exemple),

addb.png

– Les variables A ^2, B ^2 ne sont pas assez proches du cercle de corrélation pour être interprétées.

– Deux groupes sont à relever, le premier concerne les variables B ^1, A ^1, A ^4 soit que la possibilité de prédire B ^1 à partir d’une combinaison linéaire des variables A ^1, A ^4. Le second concerne les variables A ^3, B ^3, soit un lien très fort entre elles.

– Les deux groupes décrits ci-dessus sont indépendants étant donné qu’ils forment un angle de 90°.

– Enfin, la variable B ^4 est anti-corrélée (angle de 180°) au premier groupe décrit et indépendante au second (angle de 90°).

\bullet Application informatique:

Procédure SAS: https://support.sas.com/documentation/cdl/en/statug/63033/HTML/default/statug_cancorr_sect005.htm

Package et fonction Rhttps://cran.r-project.org/web/packages/CCA/index.html

\bullet Bibliographie:

– Relations Between Two sets of Variates de Harold Hotelling.

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

– Data mining et statistique décisionnelle. L’intelligence des données de Stéphane Tufféry.

– 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.

– La présentation powerpoint: http://iml.univ-mrs.fr/~reboul/canonique.pptx.pdf

La classification ascendante hiérarchique des variables

add

\bullet Présentation:

La classification ascendante hiérarchique des variables, élaborée par Michael R. Anderberg en 1973, comprends un large panel d’outils de classification agissant directement sur un ensemble de variables (X ^1, \cdots, X ^P) continues.

Elle permet de s’affranchir de méthodologies un peu plus longues comme celles basées sur l’Analyse en Composantes Principales (ACP) ou encore celles basées sur l’Analyse des Correspondances Multiples qui requièrent, dans un premier temps, la construction des axes factoriels puis l’application d’une Classification Ascendante Hiérarchique pour arriver à un résultat similaire.

L’idée de la classification ascendante hiérarchique des variables est de lancer une série itérative d’ACP, via une rotation oblique et non orthogonale, sur les groupes et sous-groupes de variables conçus au fur et à mesure en fonction de leurs corrélations et, à chaque itération, de redistribuer les variables dans les différents groupes pour optimiser la classification finale. La principale force de cet outil, et qui en donne l’une des propriétés fondamentales, est que la rotation oblique amène la création de variables latentes très faiblement corrélées entre elles.

\bullet La classification de variables

Hypothèse préliminaire: (X ^1, \cdots, X ^P) continues.

L’Algorithme général, que nous retrouvons souvent dans la littérature sous l’appellation varclus, consiste à appliquer les étapes qui sont les suivantes,

Étape 0: Notons E l’ensemble de départ contenant toutes les variables explicatives X ^1, \cdots, X ^P et « ACP quartimax » la version de l’Analyse en Composantes Principales basée sur la rotation oblique.

Étape 1:

–  Exécuter une ACP quartimax sur E et sortir les deux valeurs propres les plus grandes si elles sont supérieures à 1. Si ce n’est pas le cas l’algorithme s’arrête.

– Pour chaque variable, récupérer le coefficient associé aux deux premières composantes et déterminer une première version du groupe d’attribution en fonction de la valeur absolue maximale. Nous obtenons alors G_1 ', G_2 ' les deux sous-groupes issus de notre première séparation de E.

– Réattribuer, si c’est possible, les variables misent dans G_2 ' (soit celui dont les coefficients étaient plus grands sur la seconde composante que sur la première) à G_1 ' (donc associé à la première composante). Pour cela il faut appliquer, pour chacune des variables parcourues une à une X ^p, p \in G_2 ', la procédure suivante,

  • Lancer une ACP quartimax sur G_1 ' pour obtenir la valeur propre \lambda_{G_1 '}.
  • Lancer une nouvelle ACP quartimax sur le groupe composé des variables de G_1 ' et de la variable en cours de test X ^p, nous retenons \lambda_p valeur propre associée.

– Nous laissons alors dans G_2 ' la variable X ^p dont la valeur propre \lambda_p était la moins contributive et réaffectons les autres variables au groupe G_1 '. Cette manipulation se justifie par le fait que l’algorithme varclus est de type classification ascendante hiérarchique. A noter, que si \lambda_p < \lambda_{G_1' } alors la variable associée reste dans G_2 '. Cette manipulation terminée, nous obtenons nos groupes G_1, G_2 finaux.

Étape i > 1: Réitérer l’étape une sur les sous-groupes G_1 et G_2 tant que la seconde valeur propre est supérieure à 1, sinon le groupe n’est pas divisé et l’algorithme s’arrête.

L’objectif de l’algorithme est la recherche, par étapes et divisons successives, de la ré-affectation des différentes variables aux groupes ou sous-groupes permettant de maximiser la variance expliquée.

La puissance de l’approche, comparée à celles basées sur les méthodologies ACP+CAH ou ACM+CAH, est que nous substituons la distance euclidienne par le coefficient de corrélation (de Pearson, Spearman ou Kendal) et gagnons en puissance si les liens entre nos variables sont exclusivement linéaire.

\bullet Annexe théorique:

Cette partie de l’article présente la démonstration de l’inertie totale du nuage de points de l’ACP.

Sa définition générale et mathématique en un point a est,

I_a = \sum_{i = 1} ^n p_i (e_i - a) ' \mathbf{M} (e_i - a)

Où,

\mathbf{M} = \begin{pmatrix} \frac{1}{s_1 ^2} & & & & & 0 \\ & \frac{1}{s_2 ^2} & & & & \\ & & . & & \\ & & & & . & \\ 0 & & & & & \frac{1}{s_P ^2} \\ \end{pmatrix}

En notant i_G l’inertie totale (au centre de gravité G), nous avons par la relation de Huyghens,

I_a = I_G + (G - a) ' \mathbf{M} (G - a) = I_G + || G - a || ^2

A noter que si G = 0,

I_G = \sum_{i = 1} ^n p_i e_i ' \mathbf{M} e_i

Nous avons alors,

2 I_g = \sum_{i = 1} ^n \sum_{j = 1} ^n p_i p_j (e_i - e_j)' \mathbf{M} (e_i - e_j) = \sum_{i = 1} ^n \sum_{j = 1} ^n p_i p_j || e_i - e_j || ^2

, soit la moyenne des carrés de toutes les distances entre les n individus.

Enfin, l’inertie totale peut également être définie comme la trace de la matrice \mathbf{M V}. Et comme p_i e_i ' \mathbf{M} e_i est un scalaire nous avons par propriété de commutativité sous la trace,

I_g = trace(\sum_{i = 1} ^n p_i e_i ' \mathbf{M} e_i)

= trace(\sum_{i = 1} ^n \mathbf{M} e_i ' p_i e_i)

= trace(\mathbf{M} \mathbf{X} ' \mathbf{D} \mathbf{X})

= trace(\mathbf{M} \mathbf{V})

\bullet Exemple:

Soit le jeu de données suivants,

add

Nous débutons l’algorithme par une ACP quartimax sur l’ensemble complet de variables explicatives. Nous obtenons deux valeurs propres supérieures à 1:

\lambda_1 = 2.072474087, \lambda_2 = 1.07269809

Nous pouvons donc lancer une première itération, ou première division. Lors de la manipulation précédente, nous obtenons également les coefficients suivants associés à nos deux premières composantes,

\begin{tabular} {|l|c|c|} \hline & Composante 1 & Composante 2 \\ \hline X1 & 0.79661 & 0.53644 \\ \hline X2 & -0.25751 & 0.64743 \\ \hline X3 & 0.08645 & 0.55907 \\ \hline X4 & 0.089118 & -0.02693 \\ \hline X5 & 0.29312 & 0.73244 \\ \hline \end{tabular}

Nous déterminons ainsi deux groupes,

– celui des variables dont la plus forte contribution est celle pour le premier axe factoriel et qui sont: X ^1, X ^4,

– et celui des variables dont la plus forte contribution est celle pour le second axe factoriel et qui sont: X ^2, X^3, X ^5.

Avant de passer à la seconde étape, nous devons filtrer la variable qui apporterait le moins d’information au premier groupe si nous l’y avions incluse. Nous lançons donc une nouvelle ACP quartimax sur le premier groupe X ^1, X ^4 et nous obtenons comme valeur propre:

\lambda_1 = 1.6229470

Maintenant, regardons celles obtenues après l’apport de chaque variable,

– Valeur propre obtenue suite à l’ACP quartimax sur X ^1, X ^4, X ^2:

\lambda_{X^1, X^2,X^4} = 1.6407263

– Valeur propre obtenue suite à l’ACP quartimax sur X ^1, X ^4, X ^3:

\lambda_{X1,X^3,X^4} = 1.7163887

– Valeur propre obtenue suite à l’ACP quartimax sur X ^1, X ^4, X ^5:

\lambda_{X^1,X^4,X^5} = 1.9245231

Étant donné que nous cherchons à classer nos variables une par une, il en ressort que la variable qui apporte le moins à la restitution de la variance est X ^2. Notre première division finalisée sera donc X ^2 pour le groupe 1 versus X^1, X^3, X^4, X^5 pour le groupe 2.

Maintenant, relançons une nouvelle ACP quartimax sur le sous-ensemble X^1, X^3, X^4, X^5 soit le groupe 2. Nous obtenons les deux valeurs propres suivantes,

\lambda_{2,1} = 2.034982 > 1, \lambda_{2,2} = 0.9987 < 1

Seule la première valeur propre \lambda_{2,1} est supérieur à 1, la seconde \lambda_{2,2} ne l’étant pas, nous stoppons là l’algorithme. Il ne nous reste plus qu’à calculer les parts de variance expliquée afin de déterminer la longueur des branches de liaisons.

La première valeur propre était \lambda_1 = 2.072474087. Il nous faut désormais celles associées aux deux groupes construits dont nous savons déjà que l’une d’elle est \lambda_{2,1} = 0.2034982. Mais il nous faut encore celle de l’autre groupe (qui n’est pas \lambda_{2,2} car associée à la seconde composante quand nous voulons celle de ce groupe sur la première composante). Mais étant donné que le groupe en question est celui basé sur l’unique variable X ^2, forcément sa valeur propre est 1. Nous en déduisons que,

\lambda_2 = 2.034982 + 1 = 3.034982

Enfin, pour déterminer la longueur des branches, il nous faut les parts de variances restituées suivantes,

br_1 = \frac{2.072474087}{2.072474087+3.034982} = \frac{2.072474087}{5.107456087} = 0.40577

br_2 = \frac{3.034982}{2.072474087+3.034982} = \frac{3.034982}{5.107456087} = 0.59423

Nous avons ainsi tous les éléments pour la construction du dendrogramme qui est le suivant,

add

\bullet Application informatique:

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

Package et fonction R: https://www.rdocumentation.org/packages/ClustOfVar/versions/0.8/topics/ClustOfVar-package

\bullet Bibliographie:

– Cluster analysis for applications de Michael R. Anderberg.

– What are the sensory differences among coffees? Multi-panel analysis of variance and flash analysis de Pascal Schlich.

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

– Classification de variables. Classification autour de variables latentes de Ricco Rakotomalala.

Le positionnement multidimensionnel

\bullet Présentation:

Le positionnement multidimensionnel ou échelonnement multidimensionnel, élaboré par Joseph Bernard Kruskal en 1964, est un outil de la famille de l’analyse exploratoire permettant d’étudier les similarités ou dissimilarités au sein d’une matrice \mathbf{X} = (X ^1, \cdots, X ^P) de P variables continues.

Le positionnement multidimensionnel, connu sous l’appellation MDS également, se concentre exclusivement sur la projection des observations dans un plan visuellement interprétable.

Elle peut être vue comme une généralisation voir une extension de l’Analyse en Composantes Principales (ACP) ou de l’Analyse des Correspondances Multiples (ACM) car basée sur le même procédé mais permettant la gestion de relations non linéaires. Cette propriété provient du fait qu’elle travaille directement sur la matrice de similarité/dissimilarité issue de \mathbf{X} qui peut être paramétrée selon un large panel de fonctions de lien.

\bullet Le positionnement multidimensionnel:

Hypothèse préliminaire: Aucune.

L’Algorithme MDS et assez simple voir classique d’utilisation et se déroule selon les étapes suivantes,

– Étape 1: Construction de la matrice de similarité/dissimilarité \mathbf{D_X} de taille n \times n selon une fonction lien fixée et qui peut être linéaire ou non linéaire.

– Étape 2: Élévation au carré de \mathbf{D_X}. A noter que nous aurons besoin de la version symétrique de cette matrice, qui l’est bien évidemment par construction mais dont la représentation se résume souvent aux éléments triangulaires inférieurs exclusivement.

– Etape 3: Sortie des valeurs propres \lambda et des vecteurs propres \mathbf{V} associés à \mathbf{D_X} ^2.

– Etape 4: Calcul des projections des observations en multipliant les facteurs par la racine carré de leur valeur propre associées,

\mathbf{Proj} = (V ^1 \sqrt{\lambda_1}, \cdots, V ^n \sqrt{\lambda_n})

L’Interprétation se fait comme pour une ACP ou une ACM. A savoir que plus les observations sont proches et plus elles décrivent un profil commun. Enfin, les observations ou groupes observations s’opposent en fonction de leur coordonnée sur les axes retenus.

\bullet Annexe théorique:

La partie suivante de l’article présente la notion de valeurs propres et de vecteurs propres.

Soit E un espace vectoriel sur un corps commutatif K et donc munit des opérateurs fondamentaux: l’addition, la soustraction, la multiplication et la division. Par propriété, les éléments de E sont alors des vecteurs tandis que ceux de K sont des scalaires. Et soit f un endomorphisme de forme,

f: E \rightarrow E

Une valeur propre est alors: Un scalaire noté \lambda associé àf tel que,

\exists x \ne 0, f(x) = \lambda x

Les valeurs propres d’une matrice carrée \mathbf{A} de taille P \times P sont les valeurs propres de l’endomorphisme de K ^P de la matrice \mathbf{A} dans la base canonique et dont la propriété fondamentale est que les coordonnées de tout vecteur de l’espace dans cette base sont données par les composantes mêmes qui les constituent.

Si E de dimension finie P, les valeurs propres de f sont:

– les racines du polynôme caractéristique commun de forme,

det(\mathbf{X} \cdot Id - f) = det (\mathbf{X} \cdot Id - \mathbf{A})

– toutes les valeurs spectrales de f ou \mathbf{A}.

Les valeurs propres \lambda se déterminent en recherchant le vecteur,

\lambda, det(\mathbf{A} - \lambda Id) = 0

Lors de la manipulation de l’objet ci-dessus, \lambda est identique d’une élément à l’autre de la diagonale, c’est lors de sa résolution que les différentes valeurs possibles de \lambda forment alors le vecteur \lambda_1, \dots, \lambda_P. Il s’agit là de la principale explication pour laquelle, si tous les vecteurs de \mathbf{A} sont indépendants et donc peuvent être vue comme distribués aléatoirement les uns par rapport aux autres, alors \lambda_1 \approx \lambda_2 \approx \cdots \lambda_P.

Un vecteur propre est alors: un vecteur x non nul de E, dit vecteur propre de f et associé à \lambda s’il est de la forme,

f(x) = \lambda x

Les vecteurs propres (associés à une valeur propre \lambda) d’une matrice carrée \mathbf{A} sont les vecteurs propres (associés à la valeur propre \lambda) de l’endomorphisme de K ^P représenté par \mathbf{A}. L’ensemble des vecteurs propres associés à une matrice porte le nom de spectre. Deux propriétés fondamentales sont à considérer,

– un même vecteur propre ne peut être associé à deux valeurs propres différentes,

– une famille de P vecteurs propres associés chacun à une unique valeur propre constitue une famille libre, autrement dit, la seule combinaison linéaire des P vecteurs propres qui donnent le vecteur nul est celle pour laquelle \lambda = 0.

Les vecteurs propres x se déterminent en recherchant le vecteur,

(x ^1, \dots, x ^P), \lambda_p, p \in [1, P],( \mathbf{A} - \lambda Id) \mathbf{X} = 0

La résolution se fait alors valeur propre par valeur propre, consituant ainsi de manière itérative la construction de nos vecteurs propres. La propriété d’affectation unique d’une valeur propre à un vecteur propre provient de cette méthode de calcul, puisque chaque valeur propre sera unique, nous en déduisons que le vecteur propre calculé le sera également.

D’Un point de vue pratique, une valeur propre peut être vue comme une mesure de l’information contenue dans le vecteur propre qui lui est associé. Plus elle est grande, par rapport aux autres valeurs propres, et plus le vecteur propre étire le nuage de point et donc restitue la variance de l’échantillon. A contrario, si les vecteurs de \mathbf{A} sont indépendants, les valeurs propres seront alors très proches et donc les vecteurs propres également, d’où l’absence d’information ou plutôt de discrimination induit par les axes.

\bullet Exemple:

Soit le jeu de données suivant,

add

Nous nous limitons à la recherche de deux axes factoriels afin de simplifier la lecture des résultats finaux.

Dans un premier temps, calculons la matrice de distance selon la norme euclidienne,

\mathbf{D_X} = \begin{pmatrix} Obs & 1 & 2 & 3 & \cdots & 18 & 19 & 20 \\ 1 & 0 & 2.399264 & 7.883224 & \cdots & 21.421600 & 23.647763 & 24.357353 \\ 2 & 2.399264 & 0 & 7.958839 & \cdots & 19.718820 & 21.653041 & 22.264297 \\ 3 & 7.883224 & 7.958839 & 0 & \cdots & 20.082169 & 21.165185 & 22.325087 \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ 18 & 21.421600 & 19.718820 & 20.082169 & \cdots & 0 & 8.294253 & 9.414303 \\ 19 & 23.647763 & 21.653041 & 21.165185 & \cdots & 8.294253 & 0& 2.783625 \\ 20 & 24.357353 & 22.264297 & 22.325087 & \cdots & 9.414303 & 2.783625 & 0 \\ \end{pmatrix}

, que nous élevons au carré,

\mathbf{D_X} ^2 = \begin{pmatrix} Obs & 1 & 2 & 3 & \cdots & 18 & 19 & 20 \\ 1 & 0 & 5.75647 & 62.14522 & \cdots & 458.88495 & 559.216688 & 593.280624 \\ 2 & 5.75647 & 0 & 63.34313 & \cdots & 388.83187 & 468.854192 & 495.69612 \\ 3 & 62.14522 & 63.34313 & 0 & \cdots & 388.83187 & 468.854192 & 495.69612 \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ 18 & 458.88495 & 388.83187 & 403.29352 & \cdots & 0 & 68.794629 & 88.629093 \\ 19 & 559.21669 & 468.85419 & 447.96507 & \cdots & 68.79463 & 0& 7.748568 \\ 20 & 593.28062 & 495.69891 & 498.40953 & \cdots & 88.62909 & 7.748568 & 0 \\ \end{pmatrix}

Maintenant, nous pouvons extraire directement les valeurs propres et vecteurs propres associés à nos deux axes d’intérêt,

\lambda = (1232.0742, 603.0851)

, et,

\mathbf{V} = \begin{pmatrix} -0.33694356 &-0.2318659 \\ -0.28077941 & -0.2464647 \\ -0.25183323 & -0.2319835 \\ -0.23399253 & -0.1517208 \\ -0.19099322 & -0.1269469 \\ -0.26124237 & 0.2349641 \\ -0.21332495 & 0.2355275 \\ -0.16415724 & 0.2476648 \\ -0.14203587 & 0.1697586 \\ -0.09004166 & 0.1638683 \\ 0.07253286 & 0.2232178 \\ 0.08083402 & 0.2673542 \\ 0.14760548 & 0.2670581 \\ 0.20451644 & 0.2378346 \\ 0.22376925 & 0.3204969 \\ 0.19139369 & -0.0885641 \\ 0.20316062 & -0.1760915 \\ 0.25231958 & -0.1902502 \\ 0.32202642 & -0.2158966 \\ 0.33651525 & -0.3021356 \end{pmatrix}

Nous réajustons \mathbf{V} par \sqrt{\lambda} en calculant V ^1 \times \sqrt{\lambda_1} et V ^2 \times \sqrt{\lambda_2} et obtenons,

\mathbf{V} ^* = \begin{pmatrix} -11.827027 & -5.694113 \\ -9.855614 & -6.052628 \\ -8.839577 & -5.697002 \\ -8.213352 & -3.725929 \\ -6.704037 & -3.117535 \\ -9.169846 & 5.770199 \\ -7.487901 & 5.770199 \\ -7.487901 & 5.784036 \\ -5.762069 & 6.082101 \\ -4.985589 & 4.168897 \\ -3.160545 & 4.024244 \\ 2.545970 & 5.481737 \\ 2.837348 & 6.565629 \\ 5.181087 & 6.558358 \\ 7.178714 & 5.840693 \\ 7.854505 & 7.870695 \\ 6.718093 & -2.174939 \\ 7.131123 & -4.324418 \\ 8.856648 & -4.672125 \\ 11.303422 & -5.301944 \\ 11.811993 & -7.419784 \\ \end{pmatrix}

Nous avons donc pour chaque observation les coordonnées sur les deux axes factoriels retenus. Nous pouvons alors tracer la carte des individus dans le repère construit,

add

\bullet Application informatique:

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

Package et fonction R: https://stat.ethz.ch/R-manual/R-devel/library/stats/html/cmdscale.html

\bullet Bibliographie:

Multidimensional scaling by optimizing goodness of fit to a nonmetric hypothesis de Joseph Bernard Kruskal.

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

L’Analyse d’Hill et Smith

add.png

\bullet Présentation:

Publié en 1976 par Mark Oliver Hill et Anthony John Edwin Smith, l’analyse d’Hill et Smith est une approche multivariée permettant d’étudier les relations multvariées d’un ensemble de variables mixtes continues, ordinales et/ou qualitatives distinctes \mathbf{X} = (X ^1, \cdots, X ^p).

L’objectif de l’analyse d’hill et Smith est de synthétiser l’information en réduisant le nombre de dimensions afin d’avoir une lecture visuelle et simple des interactions se produisant entre les diverses variables du jeu de données.

L’Outil repose sur une approche mixte ACP (Analyse en Composantes Principales), ACM (Analyse des Correspondances Multiples), puisant dans la force des deux approches pour déterminer les différentes relations entre les différentes variables malgré que leur format diverge.

\bullet L’Analyse d’Hill et Smith:

Hypothèse préliminaire: Aucune.

L’Algorithme:

L’Analyse d’Hill et Smith se base donc sur la possibilité de mixer les deux formats principaux de variables: continue et qualitative et de produire des axes factoriels synthétisant les corrélations et liaisons au sein d’un jeu de données. La méthodologie est une sorte de mélange d’ACM et d’ACP, ainsi la première permettra de transformer les variables qualitatives en variables continues et la seconde permettra de construire le lien entre les deux formats de variables.

L’algorithme se déroule ainsi,

– Étape 1: Séparer les variables continues, donnant la matrice \mathbf{A} de taille n \times P_c, et les variables qualitatives, donnant la matrice \mathbf{B} de taille n \times P_q.

– Étape 2: Standardiser \mathbf{A} selon le vecteur de pondération en ligne et de taille 1 \times n,

W_l = (\frac{1}{n}, \cdots, \frac{1}{n})

, à noter que W_l est fixé ainsi par défaut, mais peut être égal aux poids individuels s’ils existent.

– Étape 3: Déterminer la matrice disjonctive complète associée à \mathbf{B} et que nous noterons \mathbf{B} ^D et appliquer la transformation,

\frac{B_{i,j} ^D}{\sum_{i = 1} ^n B_{i,j} ^D} - 1, \forall i \in [1,n], j \in [1, P_q ^* = \sharp \lbrace \mbox{Modalites au sein de } \mathbf{B} \rbrace]

, nous obtenons alors \mathbf{B}_T ^D.

– Étape 4: Reformer la matrice complète (\mathbf{A}, \mathbf{B}_T ^D) et appliquer en premier la pondération en ligne \sqrt{W_l} puis la racine carré de la pondération en colonne,

W_c = (1, \cdots, 1, \frac{\sum_{i = 1} ^n (B_T ^D)_i ^1}{n}, \cdots, \frac{\sum_{i = 1} ^n (B_T ^D)_i ^{P_q ^*}}{n})

, de taille 1 \times (P_c + P_q ^*). Notons, que dans le vecteur W_c, les variables continues ont un poids unitaire contrairement aux variables qualitatives.

L’Application de ces deux pondérations successives nous donne la matrice (\mathbf{A}, \mathbf{B}_T ^D)_P.

– Étape 5: Faire le produit croisé,

(\mathbf{A}, \mathbf{B}_T ^D)_P ^t (\mathbf{A}, \mathbf{B}_T ^D)_P

– Étape 6: Sortir les valeurs propres \lambda et les vecteurs propres associés \mathbf{V}_{HS}.

– Étape 7: Appliquer à \mathbf{V}_{HS} la première pondération en colonne \frac{1}{\sqrt{W_c}} puis la seconde \sqrt{\lambda} pour obtenir les composantes factorielles \mathbf{CF}_{HS}.

Les parts d’information restituée sur chacun des axes factorielles sont décrites au travers du vecteur \lambda. Nos composantes factorielles \mathbf{CF}_{HS} nous donnent les coordonnées de nos différentes variables projetées sur le plan factoriel.

L’Interprétation:

– Pour les modalités des variables qualitatives, la lecture est la même que pour une ACM. La présence d’un groupe en terme de proximité de deux ou plusieurs modalités de variables qualitatives impliquent un lien entre elles et donc que les individus qui ont choisis l’une des modalités du groupe ont également choisis les autres modalités de ce même groupe.

– Pour les variables quantitatives, la lecture est la même que pour une ACP centrée-réduite. Ainsi, un groupe de variables en terme de proximité sur le cercle de corrélation implique une corrélation soit un lien linéaire croissant. Deux groupes de variables opposés sur le cercle de corrélation implique une anti-corrélation soit un lien linéaire décroissant. Deux groupes de variables dont l’angle formé est de 90° implique une indépendance et donc l’absence de corrélation ou d’anti-corrélation entre eux.

– Pour le mixte entre variable(s) continue(s) et variable(s) qualitative(s), il faudra mixer les deux interprétations. Ainsi, si une ou plus variables qualitatives sont au sein d’un groupe de variables continues, cela implique que plus les variables continues croient et plus les individus ont choisis cette ou ces modalité(s).

\bullet Annexe théorique:

Nous présentons ici une esquisse des démonstrations des six propositions justifiant l’aspect théorique de l’analyse de Hill et Smith.

Proposition 1: l’ACP, qui se base sur la matrice des corrélations, est une approche sur la recherche des variables les plus corrélées entre elles.

Démonstration: Soit \mathbf{A} une matrice centrée-réduite (standardisée) de taille n \times P. Nous avons,

 \rho ^2 = \sum_{p = 1} ^P \frac{(Y ^t A ^p) ^2}{\frac{(Y ^t Y)}{P}}

, avec Y vecteur arbitraire des scores et de taille 1 \times n.

Posons \lambda = P \rho ^2, nous obtenons alors les valeurs stationnaires de \rho ^2 lorsque,

\lambda Y = (\sum_{p = 1} ^P (A ^p (A ^p) ^t) Y

, soit la formule d’une composante principale.

Proposition 2: Les composantes principales sont la résultante de la somme de leur propre estimateur des moindres carrés.

Démonstration: L’estimateur des moindres carrés de Y dans la régression linéaire sur la variable A ^p est,

Y_p = (A ^p) ^t Y A ^p = A ^p (A ^p) ^t Y

En utilisant la proposition 1, nous constatons que la composante principale satisfait la relation,

\lambda Y = \sum_{p = 1} ^P Y_p

Proposition 3: Si les A ^p, p \in [1,P] varient entre eux sous contrainte linéaire, alors leur détermination et celle de Y revient à maximiser \rho ^2 sous formulation d’une problème de valeurs propres extraites depuis une matrice carré symétrique.

Démonstration: Soit Y fixe et égal, par exemple, à A ^p. Assumons que Y est standardisé et supposons que A ^p peut s’écrire selon la combinaison linéaire,

A ^p = \theta_1 \zeta_1 + \cdots + \theta_K \zeta_K

, avec (\zeta_1, \cdots, \zeta_K) orthonormal.

Nous avons alors,

\rho_p ^2 = \frac{((A ^p) ^t Y) ^2}{(A ^p) ^t A ^p} = \frac{(\sum_{k = 1} ^K \theta_k \zeta^t Y) ^2}{\sum_{k = 1} ^K \theta_k ^2}

, dont le coefficient de corrélation au carré est maximisé quand,

\theta_k \propto \zeta_k ^t Y

Notons alors \mathbf{C} = (\mathbf{A}, \zeta_1, \cdots, \zeta_K), le coefficient de corrélation au carré est alors maximisé quand,

\theta = \mathbf{C} ^t Y

Par la proposition 2, nous avons que pour \theta  fixé, la moyenne au carré des corrélations est maximisée lorsque \lambda Y est la somme des estimateurs des moindres carrés de Y. Par conséquent, le maximum global de \rho ^2 est obtenu quand,

\theta = \mathbf{C} ^t Y; \lambda Y = \mathbf{C} \theta

, de forme,

\lambda Y = \mathbf{C} \mathbf{C} ^t Y

Proposition 4: Pour \mathbf{B} matrice de variables qualitatives, l’approche revient à un modèle additif sur les modalités des variables, ramenant le problème à une analyse des correspondances.

Démonstration: Pour une classification à un facteur, l’estimation de Y est un simple moyenne des \theta selon la correspondance à Y. D’où les valeurs stationnaires obtenues pour \rho ^2 lorsque,

\theta_r = moyenne de Y pour la modalité r,

P \rho ^2 Y_i = somme des \theta_r, r \in [1,R] pour les caractéristiques modales de l’individu i.

D’où, le triplet (\rho,Y,\frac{\theta}{\rho}) est solution au problème d’analyse des correspondances définie par (0,I) la matrice d’incidence individuel (en ligne) et des catégories (en colonne).

Proposition 5: Les propositions 1, 2, 3, 4 implique que la combinaison de \mathbf{A} et \mathbf{B} et l’étude de leur lien multivariée revient à une analyse multivariée.

Démonstration: La proposition 2 peut être appliquée directement, utilisant un modèle de classification à un facteur pour variables qualitatives et un modèle linéaire pour variables continues.

Proposition 6: La proposition 2 fournit un algorithme itératif direct et pratique pour calculer les solutions de la proposition 5.

Démonstration: Soit,

Y ^* = \sum_{p = 1} ^P Y_p

Selon les notations de la proposition 3, nous pouvons réécrire le problème sous l’itération,

Y ^* = \mathbf{C} \mathbf{C} ^t Y

, dont la convergence peut être obtenue rapidement par la méthode décrite par Clint et Jennings ou celle de Hill.

\bullet Exemple:

Soit le jeu de données suivants,

add

Appliquons l’analyse d’Hill et Smith afin d’obtenir une représentation synthétique des liaisons entre nos neuf variables.

Dans un premier temps, nous séparons les variables continues des variables qualitatives et nous transformons les deux matrices indépendamment,

– pour la matrice restreinte aux variables continues (X ^1, X ^2, X ^3, X ^4, X ^5), nous définissons tout d’abord le vecteur des pondérations des observations,

W_l = (\frac{1}{20}, \cdots, \frac{1}{20}) et de taille 1 \times 20

, et obtenons après standardisation pondérée selon W_l,

\mathbf{A} = (X_s ^1, X_s ^2, X_s ^3, X ^4, X ^5) = \begin{pmatrix} -1.66667688 & 0.53699601 & -0.7559172 & -1.59438477 & -0.24569927 \\ -1.45850552 & 0.82019342 & -0.4080684 & -1.48730298 & 0.02327323 \\ -1.29588196 & -1.60161550 & -1.669232 & -1.37958370 & 0.20543383 \\ \vdots & \vdots & \vdots & \vdots & \vdots \\ 1.33207517 & 0.85113461 & -1.4779835 & -0.02322048 & 1.40414742 \\ 1.47493991 & 0.46699740 & 1.3348975 & 0.15243809 & 1.62667035 \\ 1.63455708 & 0.98718255 & 1.6922264 & -0.14491013 & 1.74313248 \\ \end{pmatrix}

– pour la matrice restreinte aux variables qualitatives (X ^6, X ^7, X ^8, X ^9), nous construisons d’abord la matrice disjonctive complète,

\mathbf{B} ^D = (X ^6 = "A", X ^6 = "B", X ^7 = "A", \cdots, X ^9 = "A", X ^9 = "B", X ^9 = "C")

= \begin{pmatrix} 0 & 1 & 1 & \cdots & 1 & 0 & 0 \\ 0 & 1 & 1& \cdots & 1 & 0 & 0 \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ 0 & 1 & 0 & \cdots & 0 & 0 & 1 \\ 0 & 1 & 0 & \cdots & 0 & 0 & 1 \\ 0 & 1 & 0 & \cdots & 0 & 0 & 1 \\ \end{pmatrix}

, nous déterminons le vecteur des transformations,

W_c = (\frac{\sharp \lbrace X ^6 = "A" \rbrace}{20}, \frac{\sharp \lbrace X ^6 = "B" \rbrace}{20}, \frac{\sharp \lbrace X ^7 = "A" \rbrace}{20}, \cdots, \frac{\sharp \lbrace X ^9 = "A" \rbrace}{20}, \frac{\sharp \lbrace X ^9 = "A" \rbrace}{20}, \frac{\sharp \lbrace X ^9 = "A" \rbrace}{20})

= (\frac{10}{20}, \frac{10}{20}, \frac{6}{20}, \cdots, \frac{7}{20}, \frac{6}{20}, \frac{7}{20})

, et enfin nous pouvons calculer la matrice standardiser des variables qualitatives,

\mathbf{B}_T ^D = \begin{pmatrix} \frac{0}{\frac{10}{20}} - 1 & \frac{1}{\frac{10}{20}} - 1  & \frac{1}{\frac{6}{20}} - 1 & \cdots & \frac{1}{\frac{7}{20}} - 1 & \frac{0}{\frac{6}{20}} - 1 & \frac{0}{\frac{7}{20}} - 1 \\ \frac{0}{\frac{10}{20}} - 1 & \frac{1}{\frac{10}{20}} - 1  & \frac{1}{\frac{6}{20}} - 1 & \cdots & \frac{1}{\frac{7}{20}} - 1 & \frac{0}{\frac{6}{20}} - 1 & \frac{0}{\frac{7}{20}} - 1 \\ \frac{0}{\frac{10}{20}} - 1 & \frac{1}{\frac{10}{20}} - 1  & \frac{1}{\frac{6}{20}} - 1 & \cdots & \frac{1}{\frac{7}{20}} - 1 & \frac{0}{\frac{6}{20}} - 1 & \frac{0}{\frac{7}{20}} - 1 \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ \frac{0}{\frac{10}{20}} - 1 & \frac{1}{\frac{10}{20}} - 1  & \frac{0}{\frac{6}{20}} - 1 & \cdots & \frac{0}{\frac{7}{20}} - 1 & \frac{0}{\frac{6}{20}} - 1 & \frac{1}{\frac{10}{20}} - 1 \\ \frac{0}{\frac{10}{20}} - 1 & \frac{1}{\frac{10}{20}} - 1  & \frac{0}{\frac{6}{20}} - 1 & \cdots & \frac{0}{\frac{7}{20}} - 1 & \frac{0}{\frac{6}{20}} - 1 & \frac{1}{\frac{10}{20}} - 1 \\ \frac{0}{\frac{10}{20}} - 1 & \frac{1}{\frac{10}{20}} - 1  & \frac{0}{\frac{6}{20}} - 1 & \cdots & \frac{0}{\frac{7}{20}} - 1 & \frac{0}{\frac{6}{20}} - 1 & \frac{1}{\frac{10}{20}} - 1 \\ \end{pmatrix}

= \begin{pmatrix} -1 & 1 & 2.333333 & \cdots & 1.857143 & -1 & -1 \\ -1 & 1 & 2.333333 & \cdots & 1.857143 & -1 & -1 \\ 2.333333 & -1 & -1 & \cdots & 1.857143 & -1 & -1 \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ -1 & 1 & -1 & \cdots & -1 & -1 & 1.857143 \\ -1 & 1 & -1 & \cdots & -1 & -1 & 1.857143 \\ -1 & 1 & -1 & \cdots & -1 & -1 & 1.857143 \\ \end{pmatrix}

Maintenant nous reformons notre matrice complète (\mathbf{A}, \mathbf{B}_T ^D) et nous lui appliquons la pondération en ligne \sqrt{W_l} = (\sqrt{\frac{1}{20}}, \cdots, \sqrt{\frac{1}{20}}) de taille 1 \times 20, nous obtenons,

(\mathbf{A}, \mathbf{B}_T ^D)_{\sqrt{W_c}} = \begin{pmatrix} -0.37268028 & 0.120075959 & -0.16902823 & \cdots & 0.4152698 & -0.2236068 & -0.2236068 \\ -0.32613175 & 0.183400823 & -0.09124687 & \cdots & 0.4152698 & -0.2236068 & -0.2236068 \\ -0.28976801 & -0.358132113 & -0.03732516 & \cdots & 0.4152698 & -0.2236068 & -0.2236068 \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ 0.29786106 & 0.190319484 & -0.33048717 & \cdots & -0.2236068 & -0.2236068 & 0.4152698 \\ 0.32980659 & 0.104423793 & 0.29849215 & \cdots & -0.2236068 & -0.2236068 & 0.4152698 \\ 0.36549807 & 0.220740729 & 0.37839333 & \cdots & -0.2236068 & -0.2236068 & 0.4152698 \\ \end{pmatrix}

Nous appliquons une nouvelle pondération en colonne: \sqrt{W_c} = (\sqrt{1}, \sqrt{1}, \sqrt{1}, \sqrt{1}, \sqrt{1}, \sqrt{\frac{10}{20}}, \sqrt{\frac{10}{20}}, \sqrt{\frac{6}{20}}, \sqrt{\cdots, \frac{7}{20}}, \sqrt{\frac{6}{20}}, \sqrt{\frac{7}{20}}), de taille 1 \times 15 et dont les premiers éléments correspondent à des poids unitaires associés aux variables continues. Nous obtenons alors,

(\mathbf{A}, \mathbf{B})_{\sqrt{W_c}, \sqrt{W_l}} = (\mathbf{A}, \mathbf{B})_P = \begin{pmatrix} -0.37268028 & 0.120075959 & -0.16902823 & \cdots & 0.2456769 & -0.1224745 & -0.1322876 \\ -0.32613175 & 0.183400823 & -0.09124687 & \cdots & 0.2456769 & -0.1224745 & -0.1322876 \\ -0.28976801 & -0.358132113 & -0.03732516 & \cdots & 0.2456769 & -0.1224745 & -0.1322876 \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ 0.29786106 & 0.190319484 & -0.33048717 & \cdots & -0.1322876 & -0.1224745 & 0.2456769 \\ 0.32980659 & 0.104423793 & 0.29849215 & \cdots & -0.1322876 & -0.1224745 & 0.2456769 \\ 0.36549807 & 0.220740729 & 0.37839333 & \cdots & -0.1322876 & -0.1224745 & 0.2456769 \\ \end{pmatrix}

Maintenant nous pouvons faire le produit croisé,

(\mathbf{A}, \mathbf{B})_P ^t \times (\mathbf{A}, \mathbf{B})_P  = \begin{pmatrix} 1 & 0.130828486 & 0.26407954 & \cdots & -0.66671271 & 0.0003475779 & 0.666390918 \\ 0.1308284856 & 1 & 0.10607370 & \cdots & -0.19052973 & 0.1994050956  & 0.005916488 \\ 0.2640795394 & 0.106073704 & 1 & \cdots & -0.08051511 & -0.3103825387 & 0.367873498 \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ -0.6667127122 & -0.190529734 & -0.08051511 & \cdots & 0.65 & -0.3240370349 & -0.35 \\ 0.0003475779 & 0.199405096 & -0.31038254 & \cdots & -32403703 & 0.7 & -0.324037035 \\ 0.6663909176 & 0.005916488 & 0.36787350  & \cdots & -0.35 & -0.3240370349 & 0.65 \\ \end{pmatrix}

Nous pouvons ainsi extraire les vecteurs propres,

\mathbf{V}_{HS} = \begin{pmatrix} -0.46521443 & 0.06264258 & 0.05431917 & \cdots & 0 & 0 & 0 \\ -0.11428424 & -0.05132924 & -0.82637677 & \cdots &  0 & 0 & 0 \\ -0.18002968 & 0.18564043 & 0.01720829 & \cdots & 0 & 0 & 0 \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ 0.33623486 & 0.18304311 & 0.05532521 & \cdots & 0.2870376 & 0.1386134 & -0.4922145 \\ -0.02431857 & -0.42243290 & -0.18784324 & \cdots & 0.2657452 & 0.128331 & -0.4557021 \\ -0.31372024 & 0.20805376 & 0.11858383 & \cdots & 0.2870376 & 0.1386134 & -0.4922145 \\ \end{pmatrix}

, et les valeurs propres associées,

\lambda = (4.079046, 3.102799, 1.170648, 0.9732852, 0.7077521, 0.3976803, 0.2601413, 0.1877866, 0.08289118, 0.03216202, 0.0058086, 0, 0, 0, 0)

Afin d’obtenir nos composantes principales, nous devons encore recourir à quelques opérations. Dans un premier dernier temps, nous devons appliquer les pondérations,

\frac{1}{\sqrt{W_c}} = (\frac{1}{\sqrt{1}}, \frac{1}{\sqrt{1}}, \frac{1}{\sqrt{1}}, \frac{1}{\sqrt{1}}, \frac{1}{\sqrt{1}}, \frac{1}{\sqrt{\frac{10}{20}}}, \frac{1}{\sqrt{\frac{10}{20}}}, \frac{1}{\sqrt{\frac{6}{20}}}\frac{1}{\sqrt{\frac{7}{20}}}, \frac{1}{\sqrt{\frac{7}{20}}}, \frac{1}{\sqrt{\frac{7}{20}}}, \frac{1}{\sqrt{\frac{13}{20}}}, \frac{1}{\sqrt{\frac{7}{20}}}, \frac{1}{\sqrt{\frac{6}{20}}}, \frac{1}{\sqrt{\frac{7}{20}}})

, à \mathbf{V}_{HS},

(\mathbf{V}_{HS})_P = \begin{pmatrix} -0.46521443 & 0.06264258 & 0.05431917 & \cdots & 0 & 0 & 0 \\ -0.11428424 & -0.05132924 & -0.82637677 & \cdots & 0 & 0 & 0 \\ -0.18002968 & 0.18564043 & 0.01720829 & \cdots & 0 & 0 & 0 \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ 0.56834065 & 0.30939932 & 0.09351668 & \cdots & -0.4851821 & 0.232994 & -0.8319944 \\ -0.04439944 & -0.77125342 & -0.34295326 & \cdots & 0.4851821 & 0.2342994 & -0.8319944 \\ -0.53028398 & 0.35167504 & 0.20044326 & \cdots & 0.4851821 & 0.2342994 & -0.8319944 \\ \end{pmatrix}

Calculons maintenant le dernier vecteur des pondérations, basé sur la racine carré de \lambda,

\sqrt{\lambda} = (2.01966491, 1.76147627, 1.08196471, 0.98655217, 0.84128003, 0.63061902, 0.51004050, 0.43334352, 0.28790828, 0.17933773, 0.07621424)

, que nous appliquons dans un second dernier temps à la matrice (\mathbf{V}_{HS})_P, ce qui nous donne nos composantes factorielles,

CF_{HS} = \begin{pmatrix} -0.93957726 & 0.11034342 & 0.058771422 & \cdots & 0 & 0 & 0 \\ -0.09614505 & -0.3236920 & -0.421485623 & \cdots & 0 & 0 & 0 \\ -0.05183204 & 0.03329233 & 0.001311517 & \cdots & 0 & 0 & 0 \\ \vdots & \vdots & \vdots & \vdots & \vdots  \vdots & \vdots \\ & 0.47813364 & 0.19511310 & 0.047697294 & \cdots & 0.3059651 & 0.0195022 & -0.3605394 \\ -0.01278297 & -0.13831484 & -0.026137924 & \cdots & 0.08701146 & 0.001785695 & -1.680350 \\ -0.93408265 & 0.38049998 & 0.197747732 & \cdots & 0.5249499 & 0.2311485 & -0.6999402 \\ \end{pmatrix}

Si nous retenons les deux premières composantes factorielles, c’est:

100 \times (\frac{4.079046}{\sum \lambda} + \frac{3.102799}{\sum \lambda}) = 100 \times (0.3708223968 + 0.2820726045) = 65.2895 \%

, de l’information qui est restituée, ce qui nous permet d’obtenir un plan d’assez bonne qualité.

Ci-dessous la projection des variables,

add.png

En terme d’interprétation, nous constatons trois cas de figures:

– Les modalités X ^6 = "A", X ^7 = "B", X ^9 = "B" sont liées entre elles mais aussi avec la variable continue X ^4 mettant en évidence que plus un individu a une forte valeur pour cette caractéristique et plus il a de chance d’avoir répondu aux trois modalités évoquées.

– Les modalités X ^7 = "C", X ^8 = "B", X ^9 = "C" sont liées entre elles mais aussi avec les variables continues X ^3, X ^5 (même si la relation entre elles est faible vue leur distance avec le cercle de corrélation). Ainsi, plus un individu a de fortes valeurs pour ces deux informations et plus il a de chance d’avoir répondu aux trois modalités évoquées. A noter une relation à modérer avec la variable continue X ^1. Enfin, ce groupe est indépendant au premier groupe évoqué.

– Les modalités X ^6 = "B", X ^7 = "A", X ^9 = "A" sont liées entre elles mais ne présentent aucun lien avec les variables continues. La modalité X ^8 = "A", quand a elle, est anti-corrélé avec le second groupe évoqué.

\bullet Application informatique:

Procédure SAS: https://support.sas.com/documentation/cdl/en/statug/63347/HTML/default/viewer.htm#statug_prinqual_sect004.htm

Package et fonction R: pbil.univ-lyon1.fr/ADE-4/ade4-html/dudi.hillsmith.html

\bullet Bibliographie:

– Principal component analysis of taxonomic data with multi-state discrete characters de M. O. Hill et J. E. Smith

– La page web: https://pbil.univ-lyon1.fr/R/pdf/thema2B.pdf

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

L’Analyse en composantes principales

Karl_Pearson

\bullet Présentation:

Publié en 1901 par Karl Pearson, l’analyse en composantes principales (ACP) est une approche multivariée permettant d’étudier la multicolinéarité d’un ensemble de variables continues ou ordinales distinctes \mathbf{X} = (X ^1, \cdots, X ^p).

L’objectif de l’ACP est de synthétiser l’information en réduisant le nombre de dimensions afin d’avoir une lecture visuelle et simple des interactions se produisant entre les diverses variables du jeu de données.

Dans le cas de variables continues, nous lui privilégierons sa version centrée-réduite (ou normée) qui présente l’immense avantage de délimiter la projection à l’intérieur du cercle trigonométrique. Cette propriété offre un net gain sur la lisibilité et l’interprétation des résultats. Nous parlerons d’ACP non normée lorsque les données sont seulement centrées, elle dispose alors des même propriétés de lecture que l’ACP des rangs.

Dans le cas de variables ordinales, l’ACP travaille sur le jeu de données en l’état sans transformation. Il en résulte une lecture des résultats plus prudente. Cette approche porte le nom d’ACP des rangs et peut être une alternative dans le cas de fortes présences d’outliers. Le passage aux rangs des données permet notamment de gagner en robustesse.

Il est très important de prendre en compte que l’ACP ne permet de déceler que les relations linéaires entre les différentes variables. En présence de relations quadratiques ou sinusoïdales l’ACP ne sera d’aucune utilité, il convient alors de s’orienter vers d’autres méthodes exploratoires comme l’analyse des correspondances multiples (ACM) après avoir transformé le jeu de données en variables qualitatives.

Enfin, l’ACP se base sur la notion de projection afin de déterminer un nouvel espace maximisant la restitution de la variance. Les algorithmes les plus souvent utilisés sont ceux consistant en une succession de projections orthogonales (rotation varimax, quartimax, equamax). Une autre série d’algorithmes existe et se basant sur des rotations obliques qui ont pour objectif de répartir au mieux les variables sur les différents axes (rotation oblimin et promax) contrairement à la première série qui va chercher à orienter la projection dans la direction du premier axe.

\bullet L’Analyse en composantes principales:

Hypothèse préliminaire: Variables continues ou ordinales.

L’algorithme:

Trois versions de l’ACP existent, la première est l’ACP centrée-réduite ou normée, la seconde est l’ACP centrée ou non normée. Elles s’appliquent sur des données \mathbf{X} entièrement continues. La troisième est l’ACP des rangs et s’applique sur un jeu de données \mathbf{X} composé de variables ordinales (rangs). Ces trois versions se basent sur le même algorithme de calcul et ne diffèrent que légèrement.

– La première étape consiste à centrer-réduire, seulement centrer ou ne pas modifier les données en fonction du type de variables composant \mathbf{X}

– La seconde étape du calcul de l’ACP est l’élaboration de la matrice des corrélations \mathbf{T}. Dans le cas de l’ACP normée ou non normée, nous privilégierons le coefficient de corrélation de Pearson tandis que dans le cas de l’ACP des rangs se sera soit le coefficient de corrélation de Spearman soit celui de Kendall.

– La troisième étape de calcul consiste à extraire les valeurs propres \lambda_p, p \in [1, P] (qui porte également le nom de parts de variance) et les vecteurs propres v_p, p \in [1, P] (qui porte également le nom de composantes principales, de facteurs principaux ou axes factoriels) relatifs à la matrice \mathbf{T}. Nous comptons donc autant de valeurs propres, de composantes principales que de variables étudiées.

Mathématiquement, l’ACP se base sur l’idée de projection. En définissant une métrique \mathbf{M}, la projection de la variable j sur la composante p s’exprime par:

cos ^2 (\theta_{j,p}) = \frac{\Vert proj(\overline{X} ^{j,v_p}) \Vert_\mathbf{M} ^2}{\vert \overline{X} ^j \vert _\mathbf{M} ^2} = \frac{< \overline{X} ^j, v ^p > _\mathbf{M} ^2}{\vert \overline{X} ^j \vert _\mathbf{M} ^2} \in [0, 1]

, et représente le cosinus de l’angle formé entre deux variables centrées soit, par définition, leur coefficient de corrélation linéaire.

Les parts (en pourcentage) de variance:

Le vecteur \lambda = (\lambda_1, \cdots, \lambda_P) contient l’information de l’intensité des corrélations entre chacune des variables de \mathbf{X} sur les différentes composantes principales. Nous retrouvons la part variance de la p^{ieme} composante principale par la formule:

\frac{\lambda_p}{\sum_{p = 1} ^P \lambda_p}

Cette mesure permet de juger de la qualité de l’information conservée lors de l’étape de réduction des dimensions. En effet, moins il y a d’interactions au sein du jeu de données et moins les parts de variance seront importantes. A l’inverse, plus nous sommes en présence d’interactions et plus les parts de variance associées aux premières dimensions seront grandes.

Les composantes principales:

Soit la matrice \mathbf{V} = (v^1, \cdots, v^P) dans laquelle figure nos composantes principales et qui correspondent plus concrètement, en ligne, aux coordonnées de nos variables en fonction, en colonne, de l’axe considéré.

Nous pouvons alors écrire, \forall p \in [1,P] les équations obtenues de type:

E_p = v_1 ^p \cdot X ^1 + \ldots + v_P ^p \cdot X ^P

, et qui retranscrivent les oppositions entre les différentes variables sur l’axe p du plan factoriel construit par l’ACP. Cette visualisation est d’importance puisqu’elle permet ainsi de quantifier et observer les profils au travers de la relation linéaire liant les variables d’intérêt.

Projection des individus:

La projection des individus se fait également au travers des composantes principales. Il s’agit alors d’insérer le vecteur (X_i ^1, \cdots, X_i ^P) de l’observation i \in [1, n] au sein des composantes principales E_p, p \in [1,P] afin d’obtenir ses coordonnées dans le plan factoriel construit par l’ACP.

A noter qu’il ne faut pas superposée la carte des individus ainsi obtenues avec celle des variables, les deux échelles étant différentes.

Choix du nombre d’axes factoriels:

Le choix du nombre d’axes factoriels est la dernière étape à franchir pour boucler le travail effectué par l’ACP.

Deux critères existent. Le premier est celui de Kaiser qui consiste à conserver les axes factoriels dont les valeurs propres associées \lambda_p > 1, p \in [1,P]. Le second consiste à ranger par ordre décroissant les valeurs propres, à calculer la part d’inertie cumulée et retenir celles dont la somme est supérieure à 70 \%. Ce seuil est à réajuster en fonction du nombre de variables au sein de \mathbf{X}. En effet, sur un nombre faible de variables, il convient de fixer un seuil beaucoup plus haut.

Le choix du nombre d’axes factoriels n’est pas toujours évident puisqu’il s’agit de trouver un compromis entre inertie restituée, et donc qualité de représentation, et simplicité. Ainsi, sur un plan en deux dimensions et pour p' \leq p axes retenus, ce sont donc \frac{p' \cdot (p' - 1)}{2} combinaisons de deux axes qu’il faut observer et pour ceux ayant la chance d’avoir le logiciel graphique opportun, ce sont \frac{p' \cdot (p' - 1) \cdot (p' - 2)}{6} combinaisons de trois axes à considérer.

Interprétation:

– Plus une variable est proche du cercle de corrélation plus elle contribue à la formation de l’axe considéré et plus elle est informative (pour l’ACP centrée-réduite).
– Deux ou plusieurs variables sont fortement corrélées si elles contribuent fortement ensemble à la formation d’un même axe.
– Deux variables ou groupes de variables sont fortement corrélées, respectivement fortement anti-corrélées, si les deux variables ou groupes de variables tendent respectivement vers les bornes +1 et -1 du cercle de corrélation (pour l’ACP centrée-réduite).
– Un angle de 45 ^{\circ} entre deux variables ou groupes de variables implique qu’elles sont indépendantes (pour l’ACP centrée-réduite).

\bullet Annexe théorique:

Cette partie de l’article présente la démonstration de l’inertie totale du nuage de points.

Sa définition générale et mathématique en un point a est,

I_a = \sum_{i = 1} ^n p_i (e_i - a) ' \mathbf{M} (e_i - a)

.Où,

\mathbf{M} = \begin{pmatrix} \frac{1}{s_1 ^2} & & & & & 0 \\ & \frac{1}{s_2 ^2} & & & & \\ & & . & & \\ & & & & . & \\ 0 & & & & & \frac{1}{s_P ^2} \\ \end{pmatrix}

En notant i_G l’inertie totale (au centre de gravité G), nous avons par la relation de Huyghens,

I_a = I_G + (G - a) ' \mathbf{M} (G - a) = I_G + || G - a || ^2

A noter que si G = 0,

I_G = \sum_{i = 1} ^n p_i e_i ' \mathbf{M} e_i

Nous avons alors,

2 I_g = \sum_{i = 1} ^n \sum_{j = 1} ^n p_i p_j (e_i - e_j)' \mathbf{M} (e_i - e_j) = \sum_{i = 1} ^n \sum_{j = 1} ^n p_i p_j || e_i - e_j || ^2

, soit la moyenne des carrés de toutes les distances entre les n individus.

Enfin, l’inertie totale peut également être définie comme la trace de la matrice \mathbf{M V}. Et comme p_i e_i ' \mathbf{M} e_i est un scalaire nous avons par propriété de commutativité sous la trace,

I_g = trace(\sum_{i = 1} ^n p_i e_i ' \mathbf{M} e_i)

= trace(\sum_{i = 1} ^n \mathbf{M} e_i ' p_i e_i)

= trace(\mathbf{M} \mathbf{X} ' \mathbf{D} \mathbf{X})

= trace(\mathbf{M} \mathbf{V})

\bullet Exemple:

Soit la matrice de données \mathbf{X} suivante:

addNous calculons la matrice des corrélations de Pearson associée à \mathbf{X}:

add

En procédant par SVD, nous pouvons extraire les valeurs et vecteurs propres associés de cette matrice que nous rangeons directement par ordre décroissant:

\lambda = (2.0725, 1.0727, 0.8886, 0.8545, 0.1117)

Par souci de lisibilité nous nous restreignons aux deux premières composantes associées aux deux premières valeurs propres. Ainsi, la première composante représente:

\frac{2.0725}{2.0725 + 1.0727 + 0.8886 + 0.8545 + 0.1117} = 41 \%de la variance

, et la seconde composante 21 \% de la variance. 

Les deux composantes principales retenues, et qui expliquent 62 \% de la variance, sont:

addEnfin, nous pouvons présenter la projection des variables dans le cercle de corrélation associés aux composantes 1-2:

addUne analyse de la figure ci-dessus met en évidence la liaison entre les variables X ^3 et X ^5 (proximité), la modeste contribution de la variable X ^1 (proche du cercle de corrélation) et l’indépendance entre la variable X ^2 et les variables X ^2 et X ^3 (angle à 45 ^{\circ}).

\bullet Application informatique:

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

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

\bullet Bibliographie:

– On lines and planes of closest fit to systems of points in space de Karl Pearson

– Probabilité, analyse des données et statistique de Gilbert Saporta

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

– Data mining et statistique décisionnelle. L’intelligence des données de Stéphane Tufféry

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