Analyse canonique des corrélations
L'analyse canonique des corrélations[i 1], (ACC) parfois aussi nommé analyse des corrélations canoniques, (canonical-correlation analysis en anglais, CCA) permet de comparer deux groupes de variables quantitatives appliqués tous deux sur les mêmes individus. Le but de l'analyse canonique est de comparer ces deux groupes de variables pour savoir s'ils décrivent un même phénomène, auquel cas on pourra se passer d'un des deux groupes de variables.
Un exemple parlant est celui des analyses médicales effectuées sur les mêmes échantillons par deux laboratoires différents[b 1]. L'analyse canonique généralise des méthodes aussi diverses que la régression linéaire multiple, l'analyse discriminante et l'analyse factorielle des correspondances[b 1].
Histoire
modifierLa méthode a été introduite pour la première fois par Harold Hotelling en 1936[i 2], bien que, dans le contexte des angles entre sous-espaces (en), le concept mathématique ait été publié par Camille Jordan dès 1875[i 3].
Définition mathématique
modifier
Soient deux vecteurs colonnes X et Y de dimensions respectives n et m : et de variables aléatoires ayant un moment d'ordre deux fini. On peut définir la covariance croisée comme la matrice de taille n × m dont l'élément (i,j) est la covariance de xi et yj. En pratique, cette covariance est souvent estimée à partir d'un échantillon de X et Y, c'est-à-dire d'après deux matrices dont chaque colonne est une réalisation de X et Y.
L'analyse canonique des corrélations recherche deux vecteurs a et b de dimensions respectives n et m qui maximisent la corrélation entre les produits scalaires (a·X) et (b·Y). En d'autres termes :
Pour avoir une solution unique, on peut rajouter une contrainte sur les variances tel que :
Les variables aléatoires U = a·X et V = b·Y sont la première paire de variables canoniques. On peut alors répéter la procédure pour obtenir une seconde paire de variables non corrélée à la première et ainsi de suite :

Dérivation
modifierSoit la matrice de covariance croisée associée à une paire de variables aléatoires vectorielles et . La fonction objectif à maximiser est :
On introduit un changement de base en posant :
où et sont obtenues par décomposition spectrale (ou par diagonalisation) :
On obtient alors :
D’après l’inégalité de Cauchy-Schwarz :
L’égalité est atteinte si les vecteurs et sont colinéaires. Le maximum de est atteint lorsque est le vecteur propre associé à la plus grande valeur propre de la matrice :
ce qui correspond au quotient de Rayleigh. Les paires suivantes sont obtenues en considérant les valeurs propres décroissantes. L’orthogonalité des solutions découle de la symétrie des matrices considérées.
De manière équivalente, et peuvent être interprétés comme les vecteurs singuliers gauche et droit associés à la plus grande valeur singulière de la matrice de corrélation (voir décomposition en valeurs singulières).
Solution
modifierLa solution s’écrit :
- est un vecteur propre de ;
- est proportionnel à .
Réciproquement :
- est un vecteur propre de ;
- est proportionnel à .
En revenant aux coordonnées initiales :
- est un vecteur propre de ;
- est proportionnel à* ;
et
- est un vecteur propre de ;
- est proportionnel à.
Les variables canoniques sont donc définies par :
Tests d’hypothèses
modifierChaque ligne peut être testée pour sa significativité par la méthode suivante. Les corrélations étant ordonnées, dire que la ligne est nulle implique que toutes les corrélations suivantes sont également nulles. Si l’on dispose de observations indépendantes dans un échantillon et que est la corrélation estimée pour , alors, pour la -ème ligne, la statistique de test est :
qui suit asymptotiquement une loi du chi carré avec degrés de liberté pour grand[b 2]. Comme toutes les corrélations de à sont logiquement nulles (et estimées comme telles), le produit des termes au-delà de ce point est sans importance.
On remarque que, dans le cas d’un petit échantillon avec , les plus grandes corrélations sont nécessairement égales à 1, rendant le test dénué de sens[i 5].
Applications pratiques
modifierUne utilisation typique de la corrélation canonique dans un contexte expérimental consiste à considérer deux ensembles de variables et à identifier ce qu’ils ont en commun[i 6]. Par exemple, en psychologie, on peut considérer deux tests de personnalité multidimensionnels bien établis, tels que le Minnesota Multiphasic Personality Inventory (MMPI-2) et le NEO Personality Inventory. En examinant les relations entre les facteurs du MMPI-2 et ceux du NEO, il est possible d’identifier les dimensions communes aux deux tests et la part de variance partagée. On peut ainsi constater, par exemple, qu’une dimension d’extraversion ou de névrosisme explique une part importante de la variance commune.
L’analyse de corrélation canonique peut également être utilisée pour construire une équation de modèle reliant deux ensembles de variables, par exemple un ensemble de mesures de performance et un ensemble de variables explicatives, ou encore un ensemble de sorties et un ensemble d’entrées. Des contraintes peuvent être imposées afin de respecter des exigences théoriques ou des conditions intuitives. Ce type de modèle est appelé modèle à corrélation maximale[i 7].
La visualisation des résultats de corrélation canonique se fait généralement au moyen de diagrammes en barres représentant les coefficients des deux ensembles de variables pour les paires de variables canoniques présentant une corrélation significative. Certains auteurs proposent de les représenter sous forme d’héliographes, un format circulaire avec des barres radiales, chaque moitié représentant l’un des deux ensembles de variables[b 3].
Un autre exemple est l'appariement statistique[i 8], par exemple pour de l'imputation.
Exemples
modifierSoit d'espérance nulle, c’est-à-dire .
Si , c’est-à-dire si et sont parfaitement corrélées, alors, par exemple, et , et la première (et unique dans cet exemple) paire de variables canoniques est et . Si , c’est-à-dire si et sont parfaitement anticorrélées, alors, par exemple, et , et la première (et unique dans cet exemple) paire de variables canoniques est et .
On remarque que, dans les deux cas, , ce qui montre que l’analyse de corrélation canonique traite de manière similaire les variables corrélées et anticorrélées.
Lien avec les angles principaux
modifierSupposons que et aient une espérance mathématique nulle, c’est-à-dire . Leurs matrices de covariance et peuvent être vues comme des matrices de Gram pour un produit scalaire sur les composantes de et . Dans cette interprétation, les variables aléatoires et sont considérées comme des éléments d’un espace vectoriel muni du produit scalaire défini par la covariance ; voir Covariance#Propriétés.
La définition des variables canoniques et est alors équivalente à celle des vecteurs principaux pour la paire de sous-espaces engendrés par les composantes de et relativement à ce produit scalaire. Les corrélations canoniques sont égales au cosinus des angles principaux.
Transformation de blanchiment et analyse de corrélation canonique probabiliste
modifierL’ACC peut également être interprétée comme une transformation de blanchiment (en) particulière dans laquelle les vecteurs aléatoires et sont transformés simultanément de sorte que la corrélation croisée entre les vecteurs blanchis et soit diagonale[i 9].
Les corrélations canoniques sont alors interprétées comme des coefficients de régression reliant et , et peuvent également être négatives. Cette interprétation en termes de régression permet aussi de construire un modèle probabiliste génératif à variables latentes pour l’ACC, dans lequel des variables cachées non corrélées représentent la variabilité partagée et non partagée[i 10].
Implémentation
modifierL’ACC peut être calculée à l’aide de la décomposition en valeurs singulières appliquée à une matrice de corrélation[i 11]. Elle est disponible sous forme de fonction dans[i 12] :
- MATLAB via la fonction canoncorr[1] ( également dans Octave[2])
- R via la fonction standard cancor[3] ainsi que plusieurs autres paquets, dont candisc[4],CCA[5] et vegan[6]. Le paquet CCP[7] permet les tests d’hypothèses statistiques en analyse de corrélation canonique
- SAS via proc cancorr[8]
- Python dans la bibliothèque scikit-learn (module cross decomposition[9]) ainsi que dans statsmodels (fonction CanCorr[10]). La bibliothèque CCA-Zoo[i 13] implémente des extensions de l’ACC, telles que l’ACC probabiliste, parcimonieuse, multi-vues et profonde
- SPSS via la macro CanCorr fournie avec le logiciel
- Julia dans le paquet MultivariateStats.jl[11]
Le calcul de l’ACC à l’aide de la décomposition en valeurs singulières sur une matrice de corrélation est lié au cosinus des angles entre sous-espaces (en). La fonction cosinus est mal conditionnée pour les petits angles, ce qui conduit à des calculs très imprécis des vecteurs principaux fortement corrélés en arithmétique à précision finie. Pour remédier à ce problème, des algorithmes alternatifs[i 14] sont disponibles dans :
Généralisation
modifierIl existe plusieurs type de généralisation :
- Analyse canonique généralisée qui va relier plus de deux groupes de variables;
- Analyse canonique à noyaux qui utilise l'astuce du noyau pour rendre l'ACC non linéaire[i 8].
Notes et références
modifierNotes
modifier- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Canonical correlation » (voir la liste des auteurs).
Références
modifierOuvrages spécialisés
modifier- 1 2 Saporta 2006, p. 189-190
- ↑ Kanti V. Mardia, J. T. Kent and J. M. Bibby, Multivariate Analysis, Academic Press,
- ↑ (en) A. Degani, M. Shafto et L. Olson, « Canonical Correlation Analysis: Use of Composite Heliographs for Representing Multiple Patterns », dans Diagrammatic Representation and Inference, vol. 4045, coll. « Lecture Notes in Computer Science », (ISBN 978-3-540-35623-3, DOI 10.1007/11783183_11, CiteSeerx 10.1.1.538.5217, lire en ligne), p. 93
Articles publiés sur internet
modifier- ↑ [PDF]Frédéric Bertran, « Analyse canonique », (consulté le )
- ↑ (en) H. Hotelling, « Relations Between Two Sets of Variates », Biometrika, vol. 28, nos 3–4, , p. 321–377 (DOI 10.1093/biomet/28.3-4.321, JSTOR 2333955)
- ↑ C. Jordan, « Essai sur la géométrie à dimensions », Bull. Soc. Math. France, vol. 3, , p. 103 (lire en ligne)
- 1 2 [PDF](en) (en) Ignacio Gonzalez, Sébastien Déjean, Pascal G. P. Martin, Alain Baccini, « CCA: An R Package to Extend Canonical Correlation Analysis », (consulté le )
- ↑ (en) Yang Song, Peter J. Schreier, David Ramírez et Tanuj Hasija, Canonical correlation analysis of high-dimensional data with very small sample support (arXiv 1604.02047)
- ↑ (en) Sieranoja, Sahidullah, Md, Kinnunen, T., Komulainen, J. et Hadid, A., 2018 IEEE 3rd International Conference on Signal and Image Processing (ICSIP), (ISBN 978-1-5386-6396-7, DOI 10.1109/SIPROCESS.2018.8600424, S2CID 51682024, lire en ligne), « Audiovisual Synchrony Detection with Optimized Audio Features », p. 377–381
- ↑ (en) C. Tofallis, « Model Building with Multiple Dependent Variables and Constraints », Journal of the Royal Statistical Society, Series D, vol. 48, no 3, , p. 371–378 (DOI 10.1111/1467-9884.00195, arXiv 1109.0725, S2CID 8942357)
- 1 2 (en) Hugues Annoye, Alessandro Beretta et Cédric Heuchenne, « Statistical matching using kernel canonical correlation analysis and super-organizing map », Expert Systems with Applications, vol. 246, , p. 123-134 (ISSN 0957-4174, DOI 10.1016/j.eswa.2023.123134, lire en ligne, consulté le )
- ↑ (en) T. Jendoubi et K. Strimmer, « A whitening approach to probabilistic canonical correlation analysis for omics data integration », BMC Bioinformatics, vol. 20, no 1, , p. 15 (PMID 30626338, PMCID 6327589, DOI 10.1186/s12859-018-2572-9
, arXiv 1802.03490) - ↑ (en) Takoua Jendoubi et Korbinian Strimmer, « A whitening approach to probabilistic canonical correlation analysis for omics data integration », BMC Bioinformatics, vol. 20, no 1, , p. 15 (ISSN 1471-2105, PMID 30626338, PMCID 6327589, DOI 10.1186/s12859-018-2572-9
) - ↑ (en) D. Hsu, S. M. Kakade et T. Zhang, « A spectral algorithm for learning Hidden Markov Models », Journal of Computer and System Sciences, vol. 78, no 5, , p. 14-60 (DOI 10.1016/j.jcss.2011.12.025, arXiv 0811.4413, S2CID 220740158, lire en ligne)
- ↑ (en) S. Y. Huang, M. H. Lee et C. K. Hsiao, « Nonlinear measures of association with kernel canonical correlation analysis and applications », Journal of Statistical Planning and Inference, vol. 139, no 7, , p. 21-62 (DOI 10.1016/j.jspi.2008.10.011, lire en ligne [archive du ], consulté le )
- ↑ (en) James Chapman et Hao-Ting Wang, « CCA-Zoo: A collection of Regularized, Deep Learning based, Kernel, and Probabilistic CCA methods in a scikit-learn style framework », Journal of Open Source Software, vol. 6, no 68, , p. 3823 (ISSN 2475-9066, DOI 10.21105/joss.03823
, Bibcode 2021JOSS....6.3823C) - ↑ (en) Andrew V. Knyazev et Merico E. Argentati, « Principal Angles between Subspaces in an A -Based Scalar Product: Algorithms and Perturbation Estimates », SIAM Journal on Scientific Computing, vol. 23, no 6, , p. 2008–2040 (ISSN 1064-8275 et 1095-7197, DOI 10.1137/S1064827500377332, lire en ligne, consulté le )
Autres références
modifier- ↑ (en) « Canonical correlation - MATLAB canoncorr - MathWorks United Kingdom » [archive du ], sur www.mathworks.co.uk (consulté le )
- ↑ « Octave Forge / statistics / [35a15c] /inst/canoncorr.m », sur sourceforge.net (consulté le )
- ↑ « R: Canonical Correlations », sur stat.ethz.ch (consulté le )
- ↑ (en) Michael Friendly et John Fox, candisc: Visualizing Generalized Canonical Discriminant and Canonical Correlation Analysis, (lire en ligne)
- ↑ (en) Ignacio González et Sébastien Déjean, CCA: Canonical Correlation Analysis, (lire en ligne)
- ↑ (en) Jari Oksanen, Gavin L. Simpson, F. Guillaume Blanchet et Roeland Kindt, vegan: Community Ecology Package, (lire en ligne)
- ↑ https://cran.r-project.org/web/packages/CCP/index.html
- ↑ https://go.documentation.sas.com/doc/en/pgmsascdc/9.4_3.5/statug/statug_cancorr_toc.htm
- ↑ (en) « 1.8. Cross decomposition », sur scikit-learn (consulté le )
- ↑ https://devdocs.io/statsmodels/generated/statsmodels.multivariate.cancorr.cancorr
- ↑ JuliaStats/MultivariateStats.jl, Julia Statistics, (lire en ligne)
- ↑ (en) « subspace_angles — SciPy v1.17.0 Manual », sur docs.scipy.org (consulté le )
- ↑ (en) « subspacea.m » [archive du ], sur www.mathworks.com (consulté le )
Voir aussi
modifierBibliographie
modifier- (fr) Gilbert Saporta, Probabilités, Analyse des données et Statistiques, Paris, Editions Technip, , 622 p. (ISBN 978-2-7108-0814-5, lire en ligne).
