Canonical correlation
Machine learning and data mining 

Machine learning venues


In statistics, canonicalcorrelation analysis (CCA) is a way of making sense of crosscovariance matrices. If we have two vectors X = (X_{1}, ..., X_{n}) and Y = (Y_{1}, ..., Y_{m}) of random variables, and there are correlations among the variables, then canonicalcorrelation analysis will find linear combinations of the X_{i} and Y_{j} which have maximum correlation with each other.^{[1]} T. R. Knapp notes "virtually all of the commonly encountered parametric tests of significance can be treated as special cases of canonicalcorrelation analysis, which is the general procedure for investigating the relationships between two sets of variables."^{[2]} The method was first introduced by Harold Hotelling in 1936.^{[3]}
Definition
Given two column vectors and of random variables with finite second moments, one may define the crosscovariance to be the matrix whose entry is the covariance . In practice, we would estimate the covariance matrix based on sampled data from and (i.e. from a pair of data matrices).
Canonicalcorrelation analysis seeks vectors and such that the random variables and maximize the correlation . The random variables and are the first pair of canonical variables. Then one seeks vectors maximizing the same correlation subject to the constraint that they are to be uncorrelated with the first pair of canonical variables; this gives the second pair of canonical variables. This procedure may be continued up to times.
Computation
Derivation
Let and . The parameter to maximize is
The first step is to define a change of basis and define
And thus we have
By the CauchySchwarz inequality, we have
There is equality if the vectors and are collinear. In addition, the maximum of correlation is attained if is the eigenvector with the maximum eigenvalue for the matrix (see Rayleigh quotient). The subsequent pairs are found by using eigenvalues of decreasing magnitudes. Orthogonality is guaranteed by the symmetry of the correlation matrices.
Solution
The solution is therefore:
 is an eigenvector of
 is proportional to
Reciprocally, there is also:
 is an eigenvector of
 is proportional to
Reversing the change of coordinates, we have that
 is an eigenvector of
 is an eigenvector of
 is proportional to
 is proportional to
The canonical variables are defined by:
Implementation
CCA can be computed using singular value decomposition on a correlation matrix.^{[4]} It is available as a function in^{[5]}
 MATLAB as canoncorr
 R as cancor or in FactoMineR or in CCP
 SAS as proc cancorr
 ScikitLearn, Python as Cross decomposition
 SPSS ; as macro CanCorr shipped with the main software
Hypothesis testing
Each row can be tested for significance with the following method. Since the correlations are sorted, saying that row is zero implies all further correlations are also zero. If we have independent observations in a sample and is the estimated correlation for . For the th row, the test statistic is:
which is asymptotically distributed as a chisquared with degrees of freedom for large .^{[6]} Since all the correlations from to are logically zero (and estimated that way also) the product for the terms after this point is irrelevant.
Practical uses
A typical use for canonical correlation in the experimental context is to take two sets of variables and see what is common amongst the two sets. For example, in psychological testing, you could take two well established multidimensional personality tests such as the Minnesota Multiphasic Personality Inventory (MMPI2) and the NEO. By seeing how the MMPI2 factors relate to the NEO factors, you could gain insight into what dimensions were common between the tests and how much variance was shared. For example, you might find that an extraversion or neuroticism dimension accounted for a substantial amount of shared variance between the two tests.
One can also use canonicalcorrelation analysis to produce a model equation which relates two sets of variables, for example a set of performance measures and a set of explanatory variables, or a set of outputs and set of inputs. Constraint restrictions can be imposed on such a model to ensure it reflects theoretical requirements or intuitively obvious conditions. This type of model is known as a maximum correlation model.^{[7]}
Visualization of the results of canonical correlation is usually through bar plots of the coefficients of the two sets of variables for the pairs of canonical variates showing significant correlation. Some authors suggest that they are best visualized by plotting them as heliographs, a circular format with ray like bars, with each half representing the two sets of variables.^{[8]}
Examples
Let with zero expected value, i.e., . If , i.e., and are perfectly correlated, then, e.g., and , so that the first (and only in this example) pair of canonical variables is and . If , i.e., and are perfectly anticorrelated, then, e.g., and , so that the first (and only in this example) pair of canonical variables is and . We notice that in both cases , which illustrates that the canonicalcorrelation analysis treats correlated and anticorrelated variables similarly.
Connection to principal angles
Assuming that and have zero expected values, i.e., , their covariance matrices and can be viewed as Gram matrices in an inner product for the entries of and , correspondingly. In this interpretation, the random variables, entries of and of are treated as elements of a vector space with an inner product given by the covariance , see Covariance#Relationship to inner products.
The definition of the canonical variables and is then equivalent to the definition of principal vectors for the pair of subspaces spanned by the entries of and with respect to this inner product. The canonical correlations is equal to the cosine of principal angles.
See also
 Generalized Canonical Correlation
 Discriminant Correlation Analysis (DCA)
 Multilinear subspace learning
 RV coefficient
 Principal angles
 Principal component analysis
 Regularized canonical correlation analysis
 Singular value decomposition
 Partial least squares regression
References
 ↑ Härdle, Wolfgang; Simar, Léopold (2007). "Canonical Correlation Analysis". Applied Multivariate Statistical Analysis. pp. 321–330. doi:10.1007/9783540722441_14. ISBN 9783540722434.
 ↑ Knapp, T. R. (1978). "Canonical correlation analysis: A general parametric significancetesting system". Psychological Bulletin. 85 (2): 410–416. doi:10.1037/00332909.85.2.410.
 ↑ Hotelling, H. (1936). "Relations Between Two Sets of Variates". Biometrika. 28 (3–4): 321–377. doi:10.1093/biomet/28.34.321. JSTOR 2333955.
 ↑ Hsu, D.; Kakade, S. M.; Zhang, T. (2012). "A spectral algorithm for learning Hidden Markov Models" (PDF). Journal of Computer and System Sciences. 78 (5): 1460. arXiv:0811.4413. doi:10.1016/j.jcss.2011.12.025.
 ↑ Huang, S. Y.; Lee, M. H.; Hsiao, C. K. (2009). "Nonlinear measures of association with kernel canonical correlation analysis and applications" (PDF). Journal of Statistical Planning and Inference. 139 (7): 2162. doi:10.1016/j.jspi.2008.10.011.
 ↑ Kanti V. Mardia, J. T. Kent and J. M. Bibby (1979). Multivariate Analysis. Academic Press.
 ↑ Tofallis, C. (1999). "Model Building with Multiple Dependent Variables and Constraints". Journal of the Royal Statistical Society: Series D (The Statistician). 48 (3): 371–378. arXiv:1109.0725. doi:10.1111/14679884.00195.
 ↑ Degani, A.; Shafto, M.; Olson, L. (2006). "Canonical Correlation Analysis: Use of Composite Heliographs for Representing Multiple Patterns". Diagrammatic Representation and Inference (PDF). Lecture Notes in Computer Science. 4045. p. 93. doi:10.1007/11783183_11. ISBN 9783540356233.
External links
 Hardoon, D. R.; Szedmak, S.; ShaweTaylor, J. (2004). "Canonical Correlation Analysis: An Overview with Application to Learning Methods". Neural Computation. 16 (12): 2639–2664. doi:10.1162/0899766042321814. PMID 15516276.
 A note on the ordinal canonicalcorrelation analysis of two sets of ranking scores (Also provides a FORTRAN program) in J. of Quantitative Economics 7(2), 2009, pp. 173–199
 RepresentationConstrained Canonical Correlation Analysis: A Hybridization of Canonical Correlation and Principal Component Analyses (Also provides a FORTRAN program) in J. of Applied Economic Sciences 4(1), 2009, pp. 115–124