In
statistics
Statistics (from German language, German: ', "description of a State (polity), state, a country") is the discipline that concerns the collection, organization, analysis, interpretation, and presentation of data. In applying statistics to a s ...
, canonical-correlation analysis (CCA), also called canonical variates analysis, is a way of inferring information from
cross-covariance matrices. If we have two vectors ''X'' = (''X''
1, ..., ''X''
''n'') and ''Y'' = (''Y''
1, ..., ''Y''
''m'') of
random variable
A random variable (also called random quantity, aleatory variable, or stochastic variable) is a Mathematics, mathematical formalization of a quantity or object which depends on randomness, random events. The term 'random variable' in its mathema ...
s, and there are
correlations among the variables, then canonical-correlation analysis will find
linear combinations of ''X'' and ''Y'' that have a maximum correlation with each other. T. R. Knapp notes that "virtually all of the commonly encountered
parametric tests of significance can be treated as special cases of canonical-correlation analysis, which is the general procedure for investigating the relationships between two sets of variables." The method was first introduced by
Harold Hotelling
Harold Hotelling (; September 29, 1895 – December 26, 1973) was an American mathematical statistician and an influential economic theorist, known for Hotelling's law, Hotelling's lemma, and Hotelling's rule in economics, as well as Hotelling ...
in 1936, although in the context of
angles between flats the mathematical concept was published by
Camille Jordan in 1875.
CCA is now a cornerstone of multivariate statistics and multi-view learning, and a great number of interpretations and extensions have been proposed, such as probabilistic CCA, sparse CCA, multi-view CCA, deep CCA, and DeepGeoCCA. Unfortunately, perhaps because of its popularity, the literature can be inconsistent with notation, we attempt to highlight such inconsistencies in this article to help the reader make best use of the existing literature and techniques available.
Like its sister method
PCA, CCA can be viewed in ''population'' form (corresponding to random vectors and their covariance matrices) or in ''sample'' form (corresponding to datasets and their sample covariance matrices). These two forms are almost exact analogues of each other, which is why their distinction is often overlooked, but they can behave very differently in high dimensional settings. We next give explicit mathematical definitions for the population problem and highlight the different objects in the so-called ''canonical decomposition'' - understanding the differences between these objects is crucial for interpretation of the technique.
Population CCA definition via correlations
Given two
column vectors and
of
random variable
A random variable (also called random quantity, aleatory variable, or stochastic variable) is a Mathematics, mathematical formalization of a quantity or object which depends on randomness, random events. The term 'random variable' in its mathema ...
s with
finite second moments, one may define the
cross-covariance
In probability and statistics, given two stochastic processes \left\ and \left\, the cross-covariance is a function that gives the covariance of one process with the other at pairs of time points. With the usual notation \operatorname E for th ...
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).
Canonical-correlation analysis seeks a sequence of vectors
(
) and
(
) such that the random variables
and
maximize the
correlation . The (scalar) 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.
:
The sets of vectors
are called ''canonical directions'' or ''weight vectors'' or simply ''weights''. The 'dual' sets of vectors
are called ''canonical loading vectors'' or simply ''loadings''; these are often more straightforward to interpret than the weights.
Computation
Derivation
Let
be the
cross-covariance matrix for any pair of (vector-shaped) random variables
and
. The target function to maximize is
:
The first step is to define a
change of basis and define
:
:
where
and
can be obtained from the eigen-decomposition (or by
diagonalization):
:
and
:
Thus
:
By the
Cauchy–Schwarz inequality
The Cauchy–Schwarz inequality (also called Cauchy–Bunyakovsky–Schwarz inequality) is an upper bound on the absolute value of the inner product between two vectors in an inner product space in terms of the product of the vector norms. It is ...
, ...can someone check the this, particularly the term to the right of "(d) leq"?
:
:
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.
Another way of viewing this computation is that
and
are the left and right
singular vectors of the correlation matrix of X and Y corresponding to the highest singular value.
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 proportional to
*
is an eigenvector of
*
is proportional to
.
The canonical variables are defined by:
:
:
Implementation
CCA can be computed using
singular value decomposition
In linear algebra, the singular value decomposition (SVD) is a Matrix decomposition, factorization of a real number, real or complex number, complex matrix (mathematics), matrix into a rotation, followed by a rescaling followed by another rota ...
on a correlation matrix. It is available as a function in
*
MATLAB a
canoncorralsoin
Octave
In music, an octave (: eighth) or perfect octave (sometimes called the diapason) is an interval between two notes, one having twice the frequency of vibration of the other. The octave relationship is a natural phenomenon that has been referr ...
)
*
R as the standard functio
cancorand several other packages, includin
candiscan
for statistical hypothesis testing in canonical correlation analysis.
*
SAS a
proc cancorr*
Python in the library
scikit-learn, a
cross decompositionand in statsmodels, a
CanCorr The CCA-Zoo library implements CCA extensions, such as probabilistic CCA, sparse CCA, multi-view CCA, and deep CCA.
*
SPSS as macro CanCorr shipped with the main software
*
Julia (programming language)
Julia is a high-level programming language, high-level, general-purpose programming language, general-purpose dynamic programming language, dynamic programming language, designed to be fast and productive, for e.g. data science, artificial intel ...
in th
MultivariateStats.jlpackage.
CCA computation using
singular value decomposition
In linear algebra, the singular value decomposition (SVD) is a Matrix decomposition, factorization of a real number, real or complex number, complex matrix (mathematics), matrix into a rotation, followed by a rescaling followed by another rota ...
on a correlation matrix is related to the
cosine
In mathematics, sine and cosine are trigonometric functions of an angle. The sine and cosine of an acute angle are defined in the context of a right triangle: for the specified angle, its sine is the ratio of the length of the side opposite that ...
of the
angles between flats. The
cosine
In mathematics, sine and cosine are trigonometric functions of an angle. The sine and cosine of an acute angle are defined in the context of a right triangle: for the specified angle, its sine is the ratio of the length of the side opposite that ...
function is
ill-conditioned for small angles, leading to very inaccurate computation of highly correlated principal vectors in finite
precision computer arithmetic. To
fix this trouble, alternative algorithms
are available in
*
SciPy a
linear-algebra function subspace_angles
*
MATLAB a
FileExchange function subspacea
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
chi-squared with
degrees of freedom for large
. Since all the correlations from
to
are logically zero (and estimated that way also) the product for the terms after this point is irrelevant.
Note that in the small sample size limit with
then we are guaranteed that the top
correlations will be identically 1 and hence the test is meaningless.
Practical uses
A typical use for canonical correlation in the experimental context is to take two sets of variables and see what is common among the two sets. For example, in psychological testing, one could take two well established multidimensional
personality tests
A personality test is a method of assessing human personality construct (psychology), constructs. Most personality assessment instruments (despite being loosely referred to as "personality tests") are in fact introspective (i.e., subjective) self ...
such as the
Minnesota Multiphasic Personality Inventory (MMPI-2) and the
NEO. By seeing how the MMPI-2 factors relate to the NEO factors, one could gain insight into what dimensions were common between the tests and how much variance was shared. For example, one might find that an
extraversion
Extraversion and introversion are a central trait dimension in human personality theory. The terms were introduced into psychology by Carl Jung, though both the popular understanding and current psychological usage are not the same as Jung's ...
or
neuroticism
Neuroticism is a personality trait associated with negative emotions. It is one of the Big Five traits. Individuals with high scores on neuroticism are more likely than average to experience such feelings as anxiety, worry, fear, anger, shame ...
dimension accounted for a substantial amount of shared variance between the two tests.
One can also use canonical-correlation 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.
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.
Examples
Let
with zero
expected value
In probability theory, the expected value (also called expectation, expectancy, expectation operator, mathematical expectation, mean, expectation value, or first Moment (mathematics), moment) is a generalization of the weighted average. Informa ...
, 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 canonical-correlation analysis treats correlated and anticorrelated variables similarly.
Connection to principal angles
Assuming that
and
have zero
expected value
In probability theory, the expected value (also called expectation, expectancy, expectation operator, mathematical expectation, mean, expectation value, or first Moment (mathematics), moment) is a generalization of the weighted average. Informa ...
s, i.e.,
, their
covariance matrices