L’Analyse canonique des corrélations

add

Harold Hotelling

\bullet Historique :

\begin{tabular}{|l|c|c|} \hline Bloc & 20/01/2017-V1 & 01/03/2024-V2 \\ \hline Historique &  & Cr\'eation \\ \hline Sommaire &  & Cr\'eation \\ \hline Pr\'esentation & Cr\'eation & MAJ \\ \hline L'Analyse canonique des corr\'elations & Cr\'eation & MAJ \\ \hline Annexe th\'eorique & Cr\'eation &  \\ \hline Exemple & Cr\'eation & MAJ \\ \hline Appli... info... & Cr\'eation & Devient Appli... sous R \\ \hline Application sous SAS &  & Cr\'eation \\ \hline Bibliographie & Cr\'eation &  \\ \hline \end{tabular}

\bullet Sommaire :

  • Présentation
  • L’Analyse canonique des corrélations
  • Annexe théorique
  • Exemple
  • Application sous R
  • Application sous SAS
  • Bibliographie

\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 ^Q) 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 des champs thématiques d’information en élaborant une carte des variables et des observations permettant une représentation visuelle synthétique des interactions entre 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 sept étapes,

Étape 1 : Centrer-réduire les P variables de \mathbf{A} et \mathbf{B}  (quoi que non obligatoire mais fortement recommandé).

Étape 2 : Procéder à la décomposition de Gram-Schimdt (QR) de \mathbf{A} et \mathbf{B}. On rappelle qu’une décomposition QR revient à écrire,

\mathbf{A} = \mathbf{Q_A} \cdot \mathbf{R_A}

\mathbf{B} = \mathbf{Q_B} \cdot \mathbf{R_B}

, où \mathbf{Q_A}, \mathbf{Q_B} matrices orthogonales et \mathbf{R_A}, \mathbf{R_B} matrices triangulaires supérieures. On utilisera ensuite la matrice \mathbf{QR_A}, respectivement \mathbf{QR_B}, dont le triangle supérieur contient \mathbf{R_A}, respectivement \mathbf{R_B}, et le reste de la matrice la forme compacte de \mathbf{Q_A}, respectivement \mathbf{Q_B}.

Étape 3 : Extraire la matrice \mathbf{Q_A} de \mathbf{QR_A}, et \mathbf{Q_B} de \mathbf{QR_B}. Puis faire le produit,

\mathbf{Q_A} ^t \cdot \mathbf{Q_B}

Étape 4 : Extraire du produit réalisé précédemment les valeurs propres \lambda, parts de variance expliquée, et les vecteurs propres associés \mathbf{U} et \mathbf{V} qui serviront à boucler les calculs.

Étape 5 : Calculer les coefficients de corrélation canonique,

\mathbf{\alpha_A} = \mathbf{R_A} ^{-1} \cdot \mathbf{U}

\mathbf{\alpha_B} = \mathbf{R_B} ^{-1} \cdot \mathbf{V}

Étape 6 : Calculer les axes factoriels, soit la projection des observations,

\mathbf{F_A} = \mathbf{A} \cdot \mathbf{\alpha_A}

\mathbf{F_B} = \mathbf{B} \cdot \mathbf{\alpha_B}

Étape 7 : Projection des variables dans le plan factoriel,

\mathbf{Coord_{A}} = cor(\mathbf{A}, \mathbf{F_B})

\mathbf{Coord_{B}} = cor(\mathbf{B}, \mathbf{F_A})

Le choix du nombre d’axes se fait comme pour les autres méthodes d’analyse exploratoire, à partir des valeurs propres \lambda et en fonction de leur distribution. Etant donné que l’interprétation est menée analoguement à celle d’une Analyse en Composantes Principales (ACP), alors :

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

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

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

\bullet Annexe théorique :

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

Soit \mathbb{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 sous cette même contrainte. On en fait 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-orthogonales 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} et \mathbf{B} :

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

, avec a_p, b_p 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, on en déduit que les équations des facteurs canoniques sont de la 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 les deux groupes de 4 variables \mathbf{A} = (X ^1, X ^2, X ^3, X ^4) et \mathbf{B} = (X ^5, X ^6, X ^7, X ^8) suivants à comparer,

\begin{tabular}{|l|c|c|c|c|c|c|c|c|} \hline  & Th\`eme A &  &  &  & Th\`eme B &  &  &  \\ \hline Obs & X1 & X2 & X3 & X4 & X5 & X6 & X7 & X8 \\ \hline 1 & 0.8970 & 8.1472 & 3.1101 & 1.9593 & 11.1682 & 1.5761 & 1.0898 & 16.8407 \\ \hline 2 & 2.0949 & 9.0579 & 4.1008 & 2.5472 & 11.9124 & 9.7059 & 1.9868 & 17.2543 \\ \hline 3 & 3.0307 & 1.2699 & 4.7876 & 3.1386 & 12.9516 & 9.5717 & 2.9853 & 18.8143 \\ \hline 4 & 4.0135 & 9.1338 & 7.0677 & 4.1493 & 13.9288 & 4.8538 & 10.0080 & 19.2435 \\ \hline 5 & 5.0515 & 6.3236 & 6.0858 & 5.2575 & 14.8826 & 8.0028 & 8.9052 & 20.9293 \\ \hline 6 & 6.0261 & 0.9754 & 4.9309 & 9.3500 & 15.9808 & 1.4189 & 8.0411 & 11.3517 \\ \hline 7 & 6.9059 & 2.7850 & 4.0449 & 10.1966 & 16.9726 & 4.2176 & 2.0826 & 9.8308 \\ \hline 8 & 7.9838 & 5.4688 & 3.0101 & 11.2511 & 18.1530 & 9.1574 & 1.0536 & 10.5853 \\ \hline 9 & 8.9854 & 9.5751 & 5.9495 & 9.6160 & 18.9751 & 7.9221 & 9.0649 & 11.5497 \\ \hline 10 & 9.9468 & 9.6489 & 6.8729 & 10.4733 & 19.8936 & 9.5949 & 10.0826 & 9.9172 \\ \hline \end{tabular}

Dans un premier temps on va centrer-réduire les deux thèmes de variables. On notera alors les résultats : \mathbf{A ^{cr}} et \mathbf{B ^{cr}}. Puis on calcule leur décomposition QR :

\mathbf{QR_{A ^{cr}}} = \begin{pmatrix} 3.00000000 & 0.21759927 & 1.06491659 & 2.80009515 \\ 0.37615774 & -2.99209802 & -0.96494042 & 0.65989484 \\ 0.27258503 & -0.50032988 & -2.63340894 & 0.61876066 \\ 0.16381045 & 0.26765167 & 0.55958501 & -0.58407295 \\ 0.04892643 & 0.00459501 & 0.31129245 & 0.02498593 \\ -0.05894060 & -0.50424060 & 0.09257364 & 0.51289105 \\ -0.15631532 & -0.32215985 & -0.24793084 & 0.09738383 \\ -0.27561540 & -0.05397737 & -0.66483734 & -0.35472036 \\ -0.38647074 & 0.35104294 & -0.08177545 & -0.25037189 \\ -0.49287681 & 0.36605358 & 0.09107962 & -0.05505912 \end{pmatrix}

\mathbf{QR_{B ^{cr}}} = \begin{pmatrix} 3.00000000 & 0.78414575 & 1.27798665 & -2.31564421 \\ 0.39467702 & -2.89570638 & 0.27454714 & -0.86930029 \\ 0.27977246 & 0.46064059 & 2.70025443 & 1.31740440 \\ 0.17172326 & -0.09001052 & -0.50981743 & -1.07077288 \\ 0.06626140 & 0.18189009 & -0.37801954 & 0.76021958 \\ -0.05516679 & -0.57074204 & -0.12874938 & -0.48598472 \\ -0.16483032 & -0.33766905 & 0.46379668 & -0.10907971 \\ -0.29534738 & 0.10766435 & 0.58173240 & 0.21215493 \\ -0.38624715 & -0.07023214 & -0.08890041 & -0.02991029 \\ -0.48780588 & 0.04968263 & -0.13809329 & -0.29999082 \end{pmatrix}

On en récupère ensuite les parties orthogonales  : 

\mathbf{Q_{A ^{cr}}} = \begin{pmatrix} -0.50873922 & -0.22143911 & 0.36617086 & -0.067650293 \\ -0.37615774 & -0.29980258 & 0.19069853 & 0.021919854 \\ -0.27258503 & 0.46032231 & -0.22466453 & 0.664002218 \\ -0.16381045 & -0.29169428 & -0.49845102 & -0.421148280 \\ -0.04892643 & -0.01177599 & -0.29905101 & 0.145130929 \\ 0.05894060 & 0.51289137 & -0.14715197 & -0.474762323 \\ 0.15631532 & 0.34510240 & 0.18426237 & -0.237538439 \\ 0.27561540 & 0.09442971 & 0.59363436 & -0.002307111 \\ 0.38647074 & -0.29432026 & 0.01601666 & 0.233412899 \\ 0.49287681 & -0.29371357 & -0.18146425 & 0.138940544 \end{pmatrix}

\mathbf{Q_{B ^{cr}}} = \begin{pmatrix} -0.47696336 & 0.39546340 & -0.22897067 & -0.04307950 \\ -0.39467702 & -0.43085398 & -0.10016317 & 0.51995038 \\ -0.27977246 & -0.38573029 & -0.06592148 & -0.05622359 \\ -0.17172326 & 0.13599018 & 0.48547881 & -0.12670740 \\ -0.06626140 & -0.16414831 & 0.36313315 & -0.62168370 \\ 0.05516679 & 0.55597089 & 0.15177980 & 0.31659754 \\ 0.16483032 & 0.29353501 & -0.42967771 & -0.09806097 \\ 0.29534738 & -0.18674490 & -0.53867641 & -0.28565083 \\ 0.38624715 & -0.03318722 & 0.15056112 & 0.03512305 \\ 0.48780588 & -0.18029478 & 0.21245656 & 0.35973503 \end{pmatrix}

, dont le produit donne : 

\mathbf{Q_{A_{Centree}}} ^t \cdot \mathbf{Q_{B_{Centree}}} = \begin{pmatrix} 0.998865348 & -0.02272531 & 0.03105505 & 0.008312673 \\ 0.002140924 & 0.25784600 & -0.32351841 & -0.142374523 \\ 0.033601254 & 0.02421072 & -0.89614264 & 0.046137795 \\ -0.007544680 & -0.73946389 & -0.08632419 & -0.128060297 \end{pmatrix}

Pour le calcul des valeurs propres et vecteurs propres associés utiles à la suite des calculs, on procède au développement en valeurs singulières du résultat obtenu précédemment,

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

, et,

\mathbf{U} = \begin{pmatrix} -0.999565116 & -0.005652164 & 0.02516855 & 0.01428904 \\ 0.021190713 & -0.370474760 & 0.25077816 & 0.89409715 \\ -0.002620383 & -0.928754822 & -0.11203192 & -0.35335034 \\ -0.020338804 & 0.011444889 & -0.96121054 & 0.27482656 \\ \end{pmatrix}

\mathbf{V} = \begin{pmatrix} -0.998456718 & -0.039299583 & 0.03720534 & 0.01246952 \\ 0.043166351 & -0.131594409 & 0.98503178 & 0.10262539 \\ -0.033802871 & 0.990485852 & 0.13141908 & 0.02289473 \\ -0.008843937 & 0.008731014 & 0.10515314 & -0.99437838 \\ \end{pmatrix}

Il va falloir les parties triangulaires pour la suite  : 

\mathbf{R_{A ^{cr}}} = \begin{pmatrix} 3.00000000 & 0.21759927 & 1.06491659 & 2.80009515 \\ 0.37615774 & -2.99209802 & -0.96494042 & 0.65989484 \\ 0.27258503 & -0.50032988 & -2.63340894 & 0.61876066 \\ 0.16381045 & 0.26765167 & 0.55958501 & -0.58407295 \end{pmatrix}

\mathbf{R_{B ^{cr}}} = \begin{pmatrix} 3.00000000 & 0.78414575 & 1.27798665 & -2.31564421 \\ 0.39467702 & -2.89570638 & 0.27454714 & -0.86930029 \\ 0.27977246 & 0.46064059 & 2.70025443 & 1.31740440 \\ 0.17172326 & -0.09001052 & -0.50981743 & -1.07077288 \end{pmatrix}

Maintenant, on va calculer les coefficients finaux par les deux produits matriciels suivant :  

\mathbf{\alpha}_A = \mathbf{R_{A ^{cr}}} ^{-1} \cdot \mathbf{U} = \begin{pmatrix} -0.368772357 & -0.107676843 & -1.6902258 & 0.46530261 \\ -0.002362243 & 0.007244041 & 0.1407180 & -0.41021056 \\ 0.009199074 & 0.348083514 & 0.4292207 & 0.02362232 \\ 0.034809225 & -0.019572704 & 1.6457063 & -0.47052445 \end{pmatrix}

\mathbf{\alpha}_B = \mathbf{R_{B ^{cr}}} ^{-1} \cdot \mathbf{V} = \begin{pmatrix} -0.314455056 & -0.199032259 & -0.02572896 & 1.0035140 \\ -0.018946079 & 0.083044897 & -0.30153274 & -0.3563790 \\ -0.016520854 & 0.370792558 & 0.09657598 & -0.4445949 \\ 0.008259013 & -0.008155469 & -0.09820418 & 0.9286547 \end{pmatrix}

Ensuite, les projections des observations relatives à \mathbf{A} et \mathbf{B},

\mathbf{C_A} = \mathbf{A} ^{cr} \cdot \alpha_A = \begin{pmatrix} 0.50422394 & -0.25598181 & -0.04432316 & -0.3532358 \\ 0.36869204 & -0.06369509 & -0.12707948 & -0.3347873 \\ 0.26931157 & 0.04723462 & -0.50450105 & 0.6695455 \\ 0.16746792 & 0.56710358 & 0.38337478 & -0.2027573 \\ 0.04650865 & 0.28404051 & -0.11018761 & 0.1343264 \\ -0.03801347 & -0.05909908 & 0.60293597 & 0.3809396 \\ -0.14460997 & -0.30257301 & 0.29816212 & 0.1804000 \\ -0.27504519 & -0.58788978 & -0.03366269 & -0.1220265 \\ -0.39731986 & 0.09467337 & -0.29023862 & -0.1991421 \\ -0.50121564 & 0.27618669 & -0.17448026 & -0.1532625 \end{pmatrix}

, et,

\mathbf{C_B} = \mathbf{B} ^{cr} \cdot \alpha_B = \begin{pmatrix} 0.50139606 & -0.260497494 & 0.33718567 & 0.07223318 \\ 0.37425950 & -0.022495625 & -0.39757316 & -0.56845889 \\ 0.26541928 & -0.004055705 & -0.40493846 & 0.01132354 \\ 0.16207169 & 0.468597112 & 0.17803802 & 0.14892491 \\ 0.05232624 & 0.378449242 & -0.18181153 & 0.60883024 \\ -0.03901276 & 0.077780358 & 0.60293841 & -0.25359736 \\ -0.13655108 & -0.471537785 & 0.22849961 & 0.11985230 \\ -0.28225429 & -0.523060360 & -0.27378649 & 0.25622986 \\ -0.39247331 & 0.138652635 & 0.00515426 & -0.03006844 \\ -0.50518134 & 0.218167622 & -0.09370632 & -0.36526935 \end{pmatrix}

On peut désormais calculer les coordonnées des variables de \mathbf{A} et de \mathbf{B},

cor(\mathbf{A}, \mathbf{C_B}) = \begin{pmatrix}  & Fact1 & Fact2 & Fact3 & Fact4 \\ X^1 & -0.99942865 & 0.005357258 & -0.01972378 & -0.002567494 \\ X ^2 & -0.09359495 & -0.354372038 & 0.19463497 & 0.160046597 \\ X ^3 & -0.35921736 & -0.895262927 & -0.02084901 & -0.004969892 \\ X ^4 & -0.92477377 & 0.269298886 & -0.19023740 & -0.015025710 \\ \end{pmatrix}

cor(\mathbf{B}, \mathbf{C_A}) = \begin{pmatrix}  & Fact1 & Fact2 & Fact3 & Fact4 \\ X ^5 & -0.9983231 & 0.03766023 & -0.02915787 & -0.002240457 \\ X ^6 & -0.3025849 & -0.11210117 & 0.73769532 & 0.017213797 \\ X ^7 & -0.4516889 & -0.82836922 & -0.17580138 & -0.006344769 \\ X ^8 & 0.7464322 & -0.48029888 & 0.23043986 & -0.058506989 \\ \end{pmatrix}

, que l’on projette dans le plan en deux dimensions (choix motivé par simplicité de lecture étant donné qu’il s’agit d’un exemple),

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

– Deux groupes sont à relever, le premier concerne les variables X ^1, X ^4, X ^5 soit la possibilité de prédire X ^5 à partir d’une combinaison linéaire des variables X ^1, X ^4. Le second concerne les variables X ^3, X ^7, soit un lien direct 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 X ^8 est anti-corrélée (angle de 180°) au premier groupe décrit et indépendante au second (angle de 90°).

\bullet Application sous R :

Soit l’exemple suivant :

E = data.frame(X1 = c(0.8970, 2.0949, 3.0307, 4.0135, 5.0515, 6.0261, 6.9059, 7.9838, 8.9854, 9.9468), X2 = c(8.1472, 9.0579, 1.2699, 9.1338, 6.3236, 0.9754, 2.7850, 5.4688, 9.5751, 9.6489), X3 = c(3.1101, 4.1008, 4.7876, 7.0677, 6.0858, 4.9309, 4.0449, 3.0101, 5.9495, 6.8729), X4 = c(1.9593, 2.5472, 3.1386, 4.1493, 5.2575, 9.3500, 10.1966, 11.2511, 9.6160, 10.4733), X5 = c(11.1682, 11.9124, 12.9516, 13.9288, 14.8826, 15.9808, 16.9726, 18.1530, 18.9751, 19.8936), X6 = c(1.5761, 9.7059, 9.5717, 4.8538, 8.0028, 1.4189, 4.2176, 9.1574, 7.9221, 9.5949), X7 = c(1.0898, 1.9868, 2.9853, 10.0080, 8.9052, 8.0411, 2.0826, 1.0536, 9.0649, 10.0826), X8 = c(16.8407, 17.2543, 18.8143, 19.2435, 20.9293, 11.3517, 9.8308, 10.5853, 11.5497, 9.9172))

Package et fonction R : https://www.rdocumentation.org/packages/stats/versions/3.6.2/topics/cancor

La fonction cancor du package candisc permet de réaliser l’analyse canonique des corrélations. Après chargement de la librairie, on procède de la manière suivante :

cancor(x = E[,c(« X1 », « X2 », « X3 », « X4 »)], y = E[,c(« X5 », « X6 », « X7 », « X8 »)], xcenter = TRUE, xscale = TRUE, ycenter = TRUE, yscale = TRUE)

Parmi les éléments à insérer les plus importants il faut relever :

–  La première matrice de données thématiques : x = E[,c("XA1", "XA2", "XA3", "XA4")] ;

–  La première matrice de données thématiques : y = E[,c("XB1", "XB2", "XB3", "XB4")] ;

– Le fait de centrer-réduire le premier jeu de données : xcenter = TRUE, xscale = TRUE ;

– Le fait de centrer le second jeu de données : ycenter = TRUE, yscale = TRUE.

On obtient alors les résultats suivants :

, qui ne sont pas forcément les plus utiles, toutefois,

– On retrouve dans la colonne CanR les valeurs propres, qui sont les mêmes que celles obtenues lors des calculs manuels (cf partie « Exemple ») ;

– L’application de la fonction summary() sur l’objet créé permet d’afficher les coefficients canoniques, qui diffèrent de ceux obtenus par les calculs manuels (cf partie « Exemple ») non pas par l’algorithme utilisé mais par la façon de centrer-réduire les données ;

– Les coordonnées de projection des variables selon le plan voulu : \$scores, qui sont les mêmes que celles obtenues lors des calculs manuels (cf partie « Exemple »).

\bullet Application sous SAS :

Soit l’exemple suivant :

data E;
input Obs X1 X2 X4 X5 X6 X7 X8;
cards;
0.8970 8.1472 3.1101 1.9593 11.1682 1.5761 1.0898 16.8407
2.0949 9.0579 4.1008 2.5472 11.9124 9.7059 1.9868 17.2543
3.0307 1.2699 4.7876 3.1386 12.9516 9.5717 2.9853 18.8143
4.0135 9.1338 7.0677 4.1493 13.9288 4.8538 10.0080 19.2435
5.0515 6.3236 6.0858 5.2575 14.8826 8.0028 8.9052 20.9293
6.0261 0.9754 4.9309 9.3500 15.9808 1.4189 8.0411 11.3517
6.9059 2.7850 4.0449 10.1966 16.9726 4.2176 2.0826 9.8308
7.9838 5.4688 3.0101 11.2511 18.1530 9.1574 1.0536 10.5853
8.9854 9.5751 5.9495 9.6160 18.9751 7.9221 9.0649 11.5497
9.9468 9.6489 6.8729 10.4733 19.8936 9.5949 10.0826 9.9172
;
run;

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

La procédure CANCOR de SAS permet de réaliser l’analyse canonique des corrélations. On procède de la manière suivante :

proc cancorr data = E;
var X1 X2 X3 X4;
with X5 X6 X7 X8;
ods exclude MultStat StdCanCoefV StdCanCoefW;
run;

Parmi les éléments à insérer les plus importants il faut relever :

– La base de données où trouver les variables : data = E ;

–  Les variables du premier thème : var X1 X2 X3 X4 ;

–  Les variable du second thème : with X5 X6 X7 X8 ;

– L’ODS exclude est utilisé pour supprimer les sorties sans intérêt.

On obtient alors les résultats suivants :

On vérifie,

– Le premier tableau (coupé en deux pour la mise en page) contient les valeurs propres, qui sont les mêmes que celles obtenues lors des calculs manuels (cf partie « Exemple ») ;

– Les deuxième et troisième tableaux (« Coefficients canoniques bruts. pour le/la Variables VAR/WITH ») contiennent les composantes \mathbf{\alpha_A} et \mathbf{\alpha_B} associée aux valeurs propres du premier tableau, qui diffèrent de celles obtenues lors des calculs manuels (cf partie « Exemple ») non pas par l’algorithme utilisé mais par la méthode pour centrer-réduire les données ;

– Les quatrième et cinquième tableaux (« Corrélation entre le(la) Variables VAR/WITH et leurs composantes canoniques ») contiennent les coordonnées des variables dans le plan factoriel, qui sont les mêmes que celles obtenues lors des calculs manuels (cf partie « Exemple »).

\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