Note: This page has been translated by MathWorks. Click here to see

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Canonical correlation

`[A,B] = canoncorr(X,Y)`

[A,B,r] = canoncorr(X,Y)

[A,B,r,U,V] = canoncorr(X,Y)

[A,B,r,U,V,stats] = canoncorr(X,Y)

`[A,B] = canoncorr(X,Y)`

computes
the sample canonical coefficients for the `n`

-by-`d1`

and `n`

-by-`d2`

data
matrices `X`

and `Y`

. `X`

and `Y`

must
have the same number of observations (rows) but can have different
numbers of variables (columns). `A`

and `B`

are `d1`

-by-`d`

and `d2`

-by-`d`

matrices,
where `d = min(rank(X),rank(Y))`

. The `j`

th
columns of `A`

and `B`

contain the
canonical coefficients, i.e., the linear combination of variables
making up the `j`

th canonical variable for `X`

and `Y`

,
respectively. Columns of `A`

and `B`

are
scaled to make the covariance matrices of the canonical variables
the identity matrix (see `U`

and `V`

below).
If `X`

or `Y`

is less than full
rank, `canoncorr`

gives a warning and returns zeros
in the rows of `A`

or `B`

corresponding
to dependent columns of `X`

or `Y`

.

`[A,B,r] = canoncorr(X,Y)`

also
returns a 1-by-`d`

vector containing the sample canonical
correlations. The `j`

th element of `r`

is
the correlation between the *j*th columns of `U`

and `V`

(see
below).

`[A,B,r,U,V] = canoncorr(X,Y)`

also
returns the canonical variables, scores. `U`

and `V`

are `n`

-by-`d`

matrices
computed as

U = (X-repmat(mean(X),N,1))*A V = (Y-repmat(mean(Y),N,1))*B

`[A,B,r,U,V,stats] = canoncorr(X,Y) `

also returns a structure `stats`

containing information
relating to the sequence of `d`

null hypotheses $${H}_{0}^{(k)}$$, that the (`k+1`

)st
through `d`

th correlations are all zero, for ```
k
= 0:(d-1)
```

. `stats`

contains seven fields,
each a `1`

-by-`d`

vector with elements
corresponding to the values of `k`

, as described
in the following table:

Field | Description |
---|---|

`Wilks` | Wilks' lambda (likelihood ratio) statistic |

`df1` | Degrees of freedom for the chi-squared statistic, and
the numerator degrees of freedom for the |

`df2` | Denominator degrees of freedom for the |

`F` | Rao's approximate |

`pF` | Right-tail significance level for |

`chisq` | Bartlett's approximate chi-squared statistic for $${H}_{0}^{(k)}$$ with Lawley's modification |

`pChisq` | Right-tail significance level for |

`stats`

has two other fields (`dfe`

and `p`

)
which are equal to `df1`

and `pChisq`

,
respectively, and exist for historical reasons.

[1] Krzanowski, W. J. Principles of Multivariate Analysis: A User's Perspective. New York: Oxford University Press, 1988.

[2] Seber, G. A. F. Multivariate Observations. Hoboken, NJ: John Wiley & Sons, Inc., 1984.

Was this topic helpful?