典型相關

在統計學中，典型相關分析（Canonical Correlation Analysis）是對互協方差矩陣的一種理解。如果我們有兩個隨機變量向量 X = (X1, ..., Xn) 和 Y = (Y1, ..., Ym) 並且它們是相關的，那麼典型相關分析會找出 Xi 和 Yj 的相互相關最大的線性組合。T·R·Knapp指出「幾乎所有常見的參數測試的意義可視為特殊情況的典型相關分析，這是研究兩組變量之間關係的一般步驟。」這個方法在1936年由哈羅德·霍特林首次引入。

給定兩個隨機向量$X = (x_1, \dots, x_n)'$和$Y = (y_1, \dots, y_m)'$，我們可以定義互協方差矩陣 $\Sigma _{XY} = \operatorname{cov}(X, Y)$ 為 $n \times m$ 的矩陣，其中 $(i, j)$ 是協方差 $\operatorname{cov}(x_i, y_j)$。實際上，我們可以基於 $X$ 和 $Y$ 的採樣數據來估計協方差矩陣。(如從一對數據矩陣)。

典型相關分析求出向量 $a$ 和 $b$ 使得隨機變量 $a' X$ 和 $b' Y$ 的相關性 $\rho = \operatorname{corr}(a' X, b' Y)$ 最大。隨機變量 $U = a' X$ 和 $V = b' Y$ 是 第一對典型變量。然後尋求一個依然最大化相關但與第一對典型變量不相關的向量；這樣就得到了 第二對典型變量。這個步驟會進行 $\min\{m,n\}$ 次。

## 計算

### 推導

設 $\Sigma _{XX} = \operatorname{cov}(X, X)$ 和 $\Sigma _{YY} = \operatorname{cov}(Y, Y)$。需要最大化的參數為

$$\rho = \frac{a' \Sigma _{XY} b}{\sqrt{a' \Sigma _{XX} a} \sqrt{b' \Sigma _{YY} b}}.$$

第一步是定義一個基變更以及

$$c = \Sigma _{XX} ^{1/2} a,$$

$$d = \Sigma _{YY} ^{1/2} b.$$

因此我們有

$$\rho = \frac{c' \Sigma _{XX} ^{-1/2} \Sigma _{XY} \Sigma _{YY} ^{-1/2} d}{\sqrt{c' c} \sqrt{d' d}}.$$

根據柯西-施瓦茨不等式，我們有

$$\left(c' \Sigma _{XX} ^{-1/2} \Sigma _{XY} \Sigma _{YY} ^{-1/2} \right) d \leq \left(c' \Sigma _{XX} ^{-1/2} \Sigma _{XY} \Sigma _{YY} ^{-1/2} \Sigma _{YY} ^{-1/2} \Sigma _{YX} \Sigma _{XX} ^{-1/2} c \right)^{1/2} \left(d' d \right)^{1/2},$$

$$\rho \leq \frac{\left(c' \Sigma _{XX} ^{-1/2} \Sigma _{XY} \Sigma _{YY} ^{-1} \Sigma _{YX} \Sigma _{XX} ^{-1/2} c \right)^{1/2}}{\left(c' c \right)^{1/2}}.$$

如果向量 $d$ 和 $\Sigma _{YY} ^{-1/2} \Sigma _{YX} \Sigma _{XX} ^{-1/2} c$ 共線，那麼上式相等。此外，如果 $c$ 是矩陣 $\Sigma _{XX} ^{-1/2} \Sigma _{XY} \Sigma _{YY} ^{-1} \Sigma _{YX} \Sigma _{XX} ^{-1/2}$ (見Rayleigh quotient) 最大特徵值對應的特徵向量，那麼就可以得到相關的最大值。隨後的典型變量對可以通過減少特徵值的量級來得到。正交性保證了相關矩陣的對稱性。

### 解法

因此解法是：

- $c$ 是 $\Sigma _{XX} ^{-1/2} \Sigma _{XY} \Sigma _{YY} ^{-1} \Sigma _{YX} \Sigma _{XX} ^{-1/2}$ 的一個特徵向量。
- $d$ 是 $\Sigma _{YY} ^{-1/2} \Sigma _{YX} \Sigma _{XX} ^{-1/2} c$ 的比例項。

相反地，也有：

- $d$ 是 $\Sigma _{YY} ^{-1/2} \Sigma _{YX} \Sigma _{XX} ^{-1} \Sigma _{XY} \Sigma _{YY} ^{-1/2}$ 的一個特徵向量。
- $c$ 是 $\Sigma _{XX} ^{-1/2} \Sigma _{XY} \Sigma _{YY} ^{-1/2} d$ 的比例項。

把坐標反過來，我們有

- $a$ 是 $\Sigma _{XX} ^{-1} \Sigma _{XY} \Sigma _{YY} ^{-1} \Sigma _{YX}$ 的一個特徵向量。
- $b$ 是 $\Sigma _{YY} ^{-1} \Sigma _{YX} \Sigma _{XX} ^{-1} \Sigma _{XY}$ 的一個特徵向量。
- $a$ 是 $\Sigma _{XX} ^{-1} \Sigma _{XY} b$ 的比例項。
- $b$ 是 $\Sigma _{YY} ^{-1} \Sigma _{YX} a$ 的比例項。

那麼相關變量定義為：

$$U = c' \Sigma _{XX} ^{-1/2} X = a' X$$

$$V = d' \Sigma _{YY} ^{-1/2} Y = b' Y$$

### 實現

典型相關分析可以用一個相關矩陣的奇異值分解來解決。以下是它在一些語言中的函數

- MATLAB as canoncorr
- R as cancor or in FactoMineR
- SAS as The CANCORR Procedure
- Scikit-Learn, Python as Cross decomposition

## 假設檢驗

每一行可以用下面的方法檢測其重要性。由於相關是排好序的，也就是說行 $i$ 為 0 意味著所有後續的相關都為 0。如果我們在一個樣本中有 $p$ 個獨立觀測，對 $i = 1,\dots, \min\{m,n\}$，$\widehat{\rho}_i$ 是其估計相關。對第 $i$ 行，測試統計為：

$$\chi ^2 = - \left( p - 1 - \frac{1}{2}(m + n + 1)\right) \ln \prod _ {j = i} ^{\min\{m,n\}} (1 - \widehat{\rho}_j^2),$$

上面漸近為一個對大 $p$ 有 $(m - i + 1)(n - i + 1)$ 個自由度的卡方分布。由於所有從 $\min\{m,n\}$ 到 $p$ 的相關從邏輯上來說都是 0，所以在這一點之後的乘積都是不相關的。

## 參見

- Generalized Canonical Correlation
- Multilinear subspace learning
- RV coefficient
- Principal angles
- 主成分分析
- Regularized canonical correlation analysis
- 奇異值分解
- Partial least squares regression