主成分回歸

統計學中，主成分回歸（PCR）是一種基於主成分分析（PCA）的回歸分析方法。更確切地說，PCR用於估計標準線性回歸模型中的未知參數。

PCR不是直接將因變量與解釋變量進行回歸，而是將解釋變量的主成分作為回歸量。一般只使用所有主成分的一個子集用於回歸，因此PCR是一種正則化過程，也是一種收縮估計量。

方差更高的主成分（基於解釋變量樣本方差-協方差矩陣對應更大特徵值的特徵向量）被選為回歸量。不過，要預測結果，低方差的主成分可能也很重要，在某些情況下甚至更重要。

PCR的主要用途之一是克服多重共線性問題，這是說多個解釋變量接近共線。PCR可在回歸步驟中排除一些低方差主成分，從而恰當地處理這種情況。另外，由於通常只對所有主成分的一個子集進行回歸，PCR可大幅降低基礎模型的參數數，從而降維。這在使用高維協變量時尤為有用。通過適當選擇用於回歸的主成分，PCR還可根據假定模型有效地預測輸出。

## 原理

PCR法可總結為三步：

- $\;\;$對解釋變量的測得設計矩陣進行PCA，得到主成分，然後（通常）根據一些適當標準，從獲得的主成分中選擇子集，供進一步使用。

- $\;\;$用普通最小二乘法，在選定主成分上線性回歸輸出的測得向量，得到估計回歸係數向量（維數等於選定的主成分數）。

- $\;\;$用PCA負載（與選定主成分對應的特徵向量）將該向量變換回實際協變量標量，得到最終PCR估計量（維數等於協變量總數），以估計表徵原始模型的回歸係數。

## 方法細節

數據表示：令$\mathbf{Y}_{n \times 1} = \left(y_1,\ldots,y_n\right)^T$表示觀測的輸出，$\mathbf{X}_{n \times p} = \left(\mathbf{x}_1,\ldots,\mathbf{x}_n\right)^T$表示測得協變量對應的設計矩陣，其中$n$、$p\ (n \geq p)$表示測得樣本的大小和協變量數量。$\mathbf{X}$的每行$n$表示$p$維協變量的一組觀測值，$\mathbf{Y}$的相應項表示相應的觀測結果。

數據預處理：假設$\mathbf{Y}$及$\mathbf{X}$的$p$列已經中心化，經驗均值均為0。中心化這步至關重要（至少對$\mathbf{X}$的列而言），因為PCR將對$\mathbf{X}$使用的PCA on $\mathbf{X}$對數據是否中心化十分敏感。

基礎模型：在中心化之後，對$\mathbf{X}$上的$\mathbf{Y}$的標準高斯-馬爾可夫線性回歸模型可表為：$\mathbf{Y} = \mathbf{X}\boldsymbol{\beta} + \boldsymbol{\varepsilon}, \;$其中$\boldsymbol{\beta} \in \mathbb{R}^p$表示回歸係數的未知參數向量，$\boldsymbol{\varepsilon}$表示隨機誤差向量，$\operatorname{E}\left(\boldsymbol{\varepsilon}\right) = \mathbf{0} \;$、$\; \operatorname{Var}\left(\boldsymbol{\varepsilon}\right) = \sigma^2I_{n \times n}$則表示未知方差參數$\sigma^2 > 0 \;\;$

目標：主要目標是根據數據，為參數$\boldsymbol\beta$獲得有效估計量$\widehat{\boldsymbol\beta}$。一種常用方法是普通最小二乘法，假設$\mathbf{X}$的列滿秩，從而有$\boldsymbol{\beta}$的無偏估計量：$\widehat{\boldsymbol\beta}_\mathrm{ols} = (\mathbf{X}^{T}\mathbf{X})^{-1} \mathbf{X}^{T}\mathbf{Y}$。PCR是另一種估計$\boldsymbol{\beta}$的方法。

PCA步驟：PCR首先要對中心化矩陣$\mathbf{X}$進行PCA。為此，令$\mathbf{X} = U \Delta V^{T}$表示$\mathbf{X}$的奇異值分解，其中$\Delta_{p \times p} = \operatorname{diag}\left[\delta_1,\ldots,\delta_p\right] \ ( \delta_1 \geq \cdots \geq \delta_p \geq 0 )$表示$\mathbf{X}$的非負奇異值，$U_{n \times p} = [\mathbf{u}_1,\ldots,\mathbf{u}_p]$、$V_{p \times p} = [\mathbf{v}_1,\ldots,\mathbf{v}_p]$都是正交規範集向量，列向量分別表示$\mathbf{X}$的左右奇異向量。

主成分：$V \Lambda V^T$給出了$\mathbf{X}^T \mathbf{X}$的譜分解，其中$\Lambda_{p \times p} = \operatorname{diag}\left[\lambda_1,\ldots,\lambda_p\right] = \operatorname{diag}\left[\delta_1^2,\ldots,\delta_p^2\right] = \Delta^2 \ ( \lambda_1 \geq \cdots \geq \lambda_p \geq 0)$表示$\mathbf{X}^T \mathbf{X}$的非負特徵值（也叫做主值），$V$的列則表示對應的特徵向量的正交規範集。接著，$\mathbf{X}\mathbf{v}_j$、$\mathbf{v}_j$分別表示第$j$個主成分與跟第$j$大的主成分值$\forall j \in \{1,\ldots,p\} \lambda_j$ 相對應的第$j$個主成分方向（或PCA負載）。

衍生協變量：$\forall k \in \{1,\ldots,p\}$，記$V_{k}$為$p \times k$矩陣，其正交列包含$V$的前$k$列。記$W_k = \mathbf{X}V_{k} = [\mathbf{X}\mathbf{v}_1,\ldots,\mathbf{X}\mathbf{v}_k]$為以前$k$個主成分為列的$n \times k$矩陣。$W$可看做是用變換後的協變量$\mathbf{x}_i^k = V_k^T \mathbf{x}_i \in \mathbb{R}^{k}$得到的設計矩陣，而非原始協變量$\mathbf{x}_i \in \mathbb{R}^p \;\; \forall \;\; 1 \leq i \leq n$。

PCR估計量：記$\widehat{\gamma}_k = (W_k^T W_k)^{-1} W_k^T \mathbf{Y} \in \mathbb{R}^k$表示 響應向量$\mathbf{Y}$在設計矩陣$W_{k}$上用普通最小二乘法得到的估計回歸係數向量。那麼，$\forall k \in \{1,\ldots,p\}$都有基於前$k$個主成分的$\boldsymbol{\beta}$的最終PCR估計量：$\widehat{\boldsymbol{\beta}}_k = V_k \widehat{\gamma}_k \in \mathbb{R}^p$

## PCR估計量的基本特徵與應用

### 兩個基本性質

得到PCR估計量的擬合過程包括將響應向量在導出設計矩陣$W_{k}$上回歸。後者$\forall k \in \{1,\ldots,p\}$都有正交列，因為主成分互相正交。因此在回歸中，對作為協變量的$k$個選定主成分聯合進行多元線性回歸，相當於對作為協變量的$k$個選定主成分分別進行獨立單變量線性回歸。

當選擇所有主成分回歸（$k = p$），PCR估計量便等同於普通最小二乘法估計量。因此$\widehat{\boldsymbol{\beta}}_{p} = \widehat{\boldsymbol{\beta}}_\mathrm{ols}$。從$W_{p} = \mathbf{X}V_{p} = \mathbf{X}V$和$V$是正交矩陣的觀測事實，不難看出這點。

### 方差降低

$\forall k \in \{1,\ldots,p\}$，$\widehat{\boldsymbol{\beta}}_{k}$的方差由下式給出：

$$\operatorname{Var}(\widehat{\boldsymbol{\beta}}_k) = \sigma^2 \; V_k (W_k^T W_k)^{-1} V_k^T = \sigma^2 \; V_k \; \operatorname{diag}\left(\lambda_1^{-1},\ldots,\lambda_k^{-1}\right) V_k^{T} = \sigma^2 \sideset{}{}\sum_{j = 1}^k \frac{\mathbf{v}_j\mathbf{v}_j^T}{\lambda_j}.$$

特別地：

$$\operatorname{Var}(\widehat{\boldsymbol{\beta}}_{p}) = \operatorname{Var}(\widehat{\boldsymbol{\beta}}_\mathrm{ols}) = \sigma^2 \sideset{}{}\sum_{j = 1}^{p}\frac{\mathbf{v}_j\mathbf{v}_j^{T}}{\lambda_j}.$$

因此$\forall k \in \{1,\ldots, p-1\}$都有：

$$\operatorname{Var}(\widehat{\boldsymbol{\beta}}_\mathrm{ols}) - \operatorname{Var}(\widehat{\boldsymbol{\beta}}_{k}) = \sigma^2 \sideset{}{}\sum_{j = k+1}^p\frac{\mathbf{v}_j\mathbf{v}_j^T}{\lambda_j}.$$

因此$\forall k \in \{1,\ldots, p\}$都有：

$$\operatorname{Var}(\widehat{\boldsymbol{\beta}}_\mathrm{ols}) - \operatorname{Var}(\widehat{\boldsymbol{\beta}}_k) \succeq 0$$

其中$A \succeq 0$，表明對稱方陣$A$是非負定的。於是，與普通最小二乘估計的線性形式相比，任何給定PCR估計量的線性形式都有更低的方差。

### 解決多重共線性問題

多重共線性條件下，指多個協變量高度相關，因此可從其他協變量以非平凡的精度進行線性預測。因此，設計矩陣$\mathbf{X}$與這些協變量對應的列趨於線性相關，於是$\mathbf{X}$趨於秩虧，失去列滿秩結構。更定量地講，這時$\mathbf{X}^{T}\mathbf{X}$的較小特徵值會非常接近$0$。上述方差表達式表明，極小特徵值對最小二乘估計量產生最大的方差擴大效應，因此在接近0時會嚴重破壞估計量的穩定性。這可以通過排除極小特徵值對應的主成分得到的PCR估計，得到有效解決。

### 降維

PCR也可用於降維：記$L_k$為任意列正交的$p \times k (\forall k \in \{1,\ldots,p\})$矩陣。假設現在我們想通過秩$k$線性變換$L_k \mathbf{z}_i$（$\mathbf{z}_i \in \mathbb{R}^{k} (1 \leq i \leq n)$）來近似每個協變量觀測值$\mathbf{x}_i$，那麼可以證明

$$\sum_{i=1}^{n} \left \|\mathbf{x}_i - L_{k}\mathbf{z}_i \right \|^2$$

在$L_k = V_k$（前$k$個主成分方向為列組成的矩陣）和$\mathbf{z}_i = \mathbf{x}_{i}^{k} = V_{k}^{T}\mathbf{x}_i$（對應的$k$維衍生協變量）時取最小值。因此$k$維主成分提供了觀測設計矩陣$\mathbf{X}$的秩為$k$的最佳線性近似，對應的重建誤差為

$$\sum_{i=1}^{n} \left \|\mathbf{x}_i - V_{k}\mathbf{x}_{i}^{k} \right \|^2 = \begin{cases} \sum_{j = k+1}^{n} \lambda_j & 1 \leqslant k < p \\ 0 & k = p \end{cases}$$

因此，可通過選擇$k$值（即要使用的主成分數），通過對$\mathbf{X}^{T}\mathbf{X}$的特徵值累積和進行適當閾值處理，實現降維。由於較小特徵值對累積和的貢獻並不大，因此只要不超過所需的閾值限制，便可放棄相應的主成分。同樣標準也可用於解決多重共線性問題：只要保持閾值限制，就可忽略較小特徵值對應的主成分。

### 正則化效應

由於PCR估計量通常只使用一部分主成分進行回歸，因此可視作某種正則化。更具體地說，$\forall 1 \leqslant k < p$，PCR估計量$\widehat{\boldsymbol{\beta}}_k$都可表示以下約束最小化問題的正則化解：

$$\min_{\boldsymbol{\beta}_{*} \in \mathbb{R}^{p}} \left \|\mathbf{Y} - \mathbf{X}\boldsymbol{\beta}_* \right \|^2 \quad \text{ subject to } \quad \boldsymbol{\beta}_* \perp \{\mathbf{v}_{k+1}, \ldots, \mathbf{v}_p\}.$$

約束可等價寫作

$$V_{(p-k)}^{T}\boldsymbol{\beta}_* = \mathbf{0},$$

其中

$$V_{(p-k)} = \left[\mathbf{v}_{k+1},\ldots,\mathbf{v}_p\right]_{p\times (p-k)}.$$

因此，當擇一部分主成分回歸時，所得PCR估計量是基於硬形式的正則化，將所得解約束在選定主成分方向的列空間，因此限制其與被排除方向正交。

### 一類正則化估計量中PCR的最優性

給定如上述的約束最小化問題，考慮下面的推廣：

$$\min_{\boldsymbol{\beta}_{*} \in \mathbb{R}^{p}} \|\mathbf{Y} - \mathbf{X}\boldsymbol{\beta}_*\|^2 \quad \text{ subject to } \quad L_{(p-k)}^{T}\boldsymbol{\beta}_* = \mathbf{0}$$

其中$L_{(p-k)}$表示任何階為$p \times (p-k)\ (1 \leqslant k < p)$的列滿秩矩陣。令$\widehat{\boldsymbol{\beta}}_L$表示對應的解，則

$$\widehat{\boldsymbol{\beta}}_L = \arg \min_{\boldsymbol{\beta}_{*} \in \mathbb{R}^{p}} \|\mathbf{Y} - \mathbf{X}\boldsymbol{\beta}_*\|^2 \quad \text{ subject to } \quad L_{(p-k)}^{T}\boldsymbol{\beta}_* = \mathbf{0}.$$

則約束矩陣$L_{(p-k)}$的最優選擇就是相應估計量$\widehat{\boldsymbol{\beta}}_{L}$達到最小預測誤差：

$$L^{*}_{(p-k)} = V_{(p-k)} \Lambda_{(p-k)}^{1/2},$$

其中

$$\Lambda_{(p-k)}^{1/2} = \operatorname{diag} \left(\lambda_{k+1}^{1/2},\ldots,\lambda_p^{1/2}\right).$$

很明顯，由此得到的最優估計量$\widehat{\boldsymbol{\beta}}_{L^{*}}$就是基於前$k$個主成分的PCR估計量$\widehat{\boldsymbol{\beta}}_{k}$。

### 效率

由於普通最小二乘估計量對$\boldsymbol{\beta}$無偏，所以有

$$\operatorname{Var}(\widehat{\boldsymbol{\beta}}_\mathrm{ols}) = \operatorname{MSE} (\widehat{\boldsymbol{\beta}}_\mathrm{ols}),$$

其中MSE表示均方誤差。現在，若對某個$k \in \{1,\ldots,p\}$，我們還有$V_{(p-k)}^T\boldsymbol{\beta} = \mathbf{0}$，那麼對應的$\widehat{\boldsymbol{\beta}}_k$也將是$\boldsymbol{\beta}$的無偏估計量，就有

$$\operatorname{Var}(\widehat{\boldsymbol{\beta}}_k) = \operatorname{MSE} (\widehat{\boldsymbol{\beta}}_k).$$

我們已經知道

$$\forall j \in \{ 1, \ldots, p\}: \quad \operatorname{Var}(\widehat{\boldsymbol{\beta}}_\mathrm{ols}) - \operatorname{Var}(\widehat{\boldsymbol{\beta}}_j) \succeq 0,$$

這就意味著對特定的$k$有：

$$\operatorname{MSE} (\widehat{\boldsymbol{\beta}}_\mathrm{ols}) - \operatorname{MSE} (\widehat{\boldsymbol{\beta}}_k) \succeq 0$$

所以，用均方誤差為標準的話，對應的$\widehat{\boldsymbol{\beta}}_{k}$是比$\widehat{\boldsymbol{\beta}}_\mathrm{ols}$更有效的$\boldsymbol{\beta}$的估計量。另外，與$\widehat{\boldsymbol{\beta}}_\mathrm{ols}$的相同線性形式相比，對應$\widehat{\boldsymbol{\beta}}_{k}$的任何給定線性形式的均方誤差也更小。

現在假設，對給定的$k \in \{1,\ldots,p\}, V_{(p-k)}^{\boldsymbol{\beta}} \neq \mathbf{0}$，那麼對應的$\widehat{\boldsymbol{\beta}}_k$對$\boldsymbol{\beta}$就是有偏的。但由於

$$\forall k \in \{ 1, \ldots, p\}: \quad \operatorname{Var}(\widehat{\boldsymbol{\beta}}_\mathrm{ols}) - \operatorname{Var}(\widehat{\boldsymbol{\beta}}_k) \succeq 0,$$

$\operatorname{MSE}(\widehat{\boldsymbol{\beta}}_\mathrm{ols}) - \operatorname{MSE}(\widehat{\boldsymbol{\beta}}_k) \succeq 0$仍然是可能的，尤其是當$k$使被排除主成分對應較小特徵值時，從而導致較小的偏。

為確保PCR作為$\boldsymbol{\beta}$估計值的效率與性能，Park (1981) 提出了以下用於回歸的主成分選擇標準：若且唯若$\lambda_j < (p\sigma^2)/ \boldsymbol{\beta}^T \boldsymbol{\beta}$時，排除第$j$個主成分。在實際應用中，還需要估計未知的模型參數$\sigma^2$與$\boldsymbol{\beta}$。總的來說，可以用從原始完整模型得到的無約束最小二乘法進行估計。Park (1981)提供了一套稍加修改的估計值，可能更適合這一目的。

與基於$\mathbf{X}^T\mathbf{X}$特徵值累積和的標準不同，上述標準可能更適合解決多重共線性問題與降維，實際上是試圖讓輸出和協變量都參與到回歸的主成分選擇之中，以提高PCR估計值的預測與估計效率。其他目的相似的選擇主成分方法基於交叉驗證，或馬洛斯CP值等。通常，主成分的選擇還基於其與輸出的相關程度。

### PCR的收縮效應

總的來說，PCR本質上是收縮估計量，通常保留了高方差主成分（對應$\mathbf{X}^T\mathbf{X}$的較大特徵值）作為模型中的協變量，並捨棄剩餘的低方差成分（對應$\mathbf{X}^T\mathbf{X}$的較小特徵值）。這就對低方差成分產生了分離收縮，清除了其在原始模型中的貢獻。相對地，嶺回歸估計量則通過其構造中固有的正則化參數，產生平滑收縮。雖然它不會捨棄任何一個成分，但會以連續的方式對所有成分產生收縮效應，因此低方差成分的收縮程度高於高方差成分。Frank & Friedman (1993)認為，就預測本身而言，與具有離散收縮效應的PCR估計量相比，嶺估計量具有平滑收縮效應，可能是更好的選擇。

此外，主成分是從$\mathbf{X}$的特徵分解中得到的，只涉及解釋變量的觀測值。因此，以這些主成分為協變量得到的PCR估計量不一定具有令人滿意的預測性能。偏最小二乘回歸（PLS）估計量與之比較相似，試圖通過自身的構造解決這問題。PLS也用低維的衍生協變量，但是在輸出和協變量中獲得的。PCR在協變量空間中尋找高方差方向，而PLS則尋找對預測結果最有用的方向。

2006年，有人提出了經典PCR的一種變體，即監督PCR。這種方法的精神與PLS類似，試圖根據結果和協變量標準，獲得低維衍生協變量。首先進行簡單線性回歸（單變量回歸），其中結果向量分別對$p$個協變量逐一回歸。然後，對某個$m \in \{1,\ldots, p\}$，選擇與結果最相關的$m$個協變量（基於對應估計回歸係數的顯著程度）供進一步使用。然後進行上述傳統PCR，但只基於與選定協變量觀測值對應的$n \times m$設計矩陣。使用的協變量數：$m \in \{1,\ldots, p\}$及隨後使用的主成分數：$k \in \{1,\ldots, m\}$一般通過交叉驗證選擇。

## 核設置的推廣

上述經典PCR法基於經典PCA，並考慮了根據協變量的線性回歸結果預測模型。這方法可以很容易地推廣到核機設置，即回歸函數不一定是協變量的線性函數，而可以屬於與任意（可以非線性）對稱正定核有關的再⽣核希爾伯特空間。核函數選為線性核時便有線性回歸模型，是這種設置的特例。

總的來說，在核機設置下，協變量向量首先被映射到所選核函數的高維（可能是無限維）特徵空間中。這樣得到的映射叫做特徵映射，每個坐標（也叫做特徵元）對應協變量的一個特徵（無所謂線性與否）。然後，假設回歸函數是這些特徵元的線性組合，則核機設置依賴的回歸模型本質上是線性的，但前提是預測量不再是原始協變量集，而由特徵映射所得協變量的特徵元的向量（可能是無限維）給出。

但核技巧實際上可以讓我們在特徵空間中操作，而無需明確計算特徵映射。事實證明，只需計算觀測協變量向量的特徵映射之間的逐對內積即可，是由在相應協變量向量對上估值的核函數值簡單給出的。因此，得到的逐對內積可用$n \times n$對稱非負定矩陣（也稱為核矩陣）表示。

核機設置中的PCR現在可用以下方式實現：首先將核矩陣（如K）相對於特徵空間適當中心化，再對中心化核矩陣（如K'）進行核主成分分析，得到K'的特徵分解。然後，核PCR（通常）會從獲得的所有特徵向量中（一般通過交叉驗證）選擇一子集，在其上進行結果向量的標準線性回歸。估計的回歸係數（維度與選定特徵向量數相同）與響應所選特徵向量一起用於預測未來的觀測結果。機器學習中，這技巧也被稱為「譜回歸」。

顯然，核PCR對K'的特徵向量具有離散收縮，與前面討論過的經典PCR對主成分的離散收縮十分相似。然而，與核相關的特徵映射可能是無限維的，因此相應的主成分及其方向也可能是無限維的。所以，在核機設置下，這些量實際上往往難以處理。核PCR基本上是基於相關核矩陣的譜分解，以考慮等效的對偶表述，來解決這一問題。在線性回歸模型下（對應於選擇核函數為線性核），這相當於考慮對應的$n \times n$核矩陣$\mathbf{X}\mathbf{X}^T$的譜分解，然後將結果向量回歸到得到的$\mathbf{X}\mathbf{X}^T$的選定特徵向量子集上。很容易看出，這等同於將結果向量回歸到相應主成分上（這時是有限維），正如經典PCR定義的那樣。因此，對線性核，基於對偶表示的核PCR完全等同於基於原始公式的經典PCR。然而，對任意（可能非線性）核，由於相關特徵映射可能的無限維，這種原始公式可能會變得難以處理。因此，這時經典PCR實際上不可行，但基於對偶表示的核PCR仍有效，且在計算上可推廣。