主成分分析

一個高斯分佈，平均值為(1, 3)，標準差在(0.878, 0.478)方向上為3、在其正交方向上為1的主成分分析。黑色的兩個向量是此分佈的共變異數矩陣的特徵向量，其長度為對應的特徵值之平方根，並以分佈的平均值為原點。
在多變量分析中，主成分分析（Principal components analysis，縮寫：PCA）是一種統計分析、簡化數據集的方法。它利用正交變換來對一系列可能相關的變量的觀測值進行線性變換，從而投影為一系列線性不相關變量的值，這些不相關變量稱為主成分（Principal Components）。具體地，主成分可以看做一個線性方程，其包含一系列線性係數來指示投影方向。PCA對原始數據的正則化或預處理敏感（相對縮放）。
基本思想：- 將座標軸中心移到數據的中心，然後旋轉座標軸，使得數據在C1軸上的方差最大，即全部n個數據個體在該方向上的投影最為分散。意味著更多的信息被保留下來。C1成為第一主成分。- C2第二主成分：找一個C2，使得C2與C1的協方差（相關係數）為0，以免與C1信息重疊，並且使數據在該方向的方差儘量最大。- 以此類推，找到第三主成分，第四主成分……第p個主成分。p個隨機變量可以有p個主成分。
主成分分析經常用於減少數據集的維數，同時保留數據集當中對方差貢獻最大的特徵。這是通過保留低維主成分，忽略高維主成分做到的。這樣低維成分往往能夠保留住數據的最重要部分。但是，這也不是一定的，要視具體應用而定。由於主成分分析依賴所給數據，所以數據的準確性對分析結果影響很大。
主成分分析由卡爾·皮爾遜於1901年發明，用於分析數據及建立數理模型，在原理上與Principal axis theorem相似。之後在1930年左右由哈羅德·霍特林獨立發展並命名。依據應用領域的不同，在信號處理中它也叫做離散K-L 轉換（discrete Karhunen–Loève transform (KLT)）。其方法主要是通過對共變異數矩陣進行特徵分解，以得出數據的主成分（即特徵向量）與它們的權值（即特徵值）。PCA是最簡單的以特徵量分析多元統計分佈的方法。其結果可以理解為對原數據中的方差做出解釋：哪一個方向上的數據值對方差的影響最大？換而言之，PCA提供了一種降低數據維度的有效辦法；如果分析者在原數據中除掉最小的特徵值所對應的成分，那麼所得的低維度數據必定是最優化的（也即，這樣降低維度必定是失去訊息最少的方法）。主成分分析在分析複雜數據時尤為有用，比如人臉識別。
PCA是最簡單的以特徵量分析多元統計分佈的方法。通常，這種運算可以被看作是揭露數據的內部結構，從而更好地展現數據的變異度。如果一個多元數據集是用高維數據空間之座標系來表示的，那麼PCA能提供一幅較低維度的圖像，相當於數據集在訊息量最多之角度上的一個投影。這樣就可以利用少量的主成分讓數據的維度降低了。
PCA 跟因子分析密切相關。因子分析通常包含更多特定領域底層結構的假設，並且求解稍微不同矩陣的特徵向量。
PCA 也跟典型相關分析（CCA）有關。CCA定義的坐標系可以最佳地描述兩個數據集之間的互協方差，而PCA定義了新的正交坐標系，能最佳地描述單個數據集當中的變異數。

**數學定義**
PCA的數學定義是：一個正交化線性變換，把數據變換到一個新的座標系統中，使得這一數據的任何投影的第一大方差在第一個座標（稱為第一主成分）上，第二大方差在第二個座標（第二主成分）上，依次類推。
定義一個的矩陣, 為去平均值（以平均值為中心移動至原點）的數據，其行為數據樣本，列為數據類別（注意，這裡定義的是 而不是）。則的奇異值分解為，其中是的特徵向量矩陣， 是奇異值矩陣，是的特徵向量矩陣。據此，

當 m TWT=XT，且YT的第一列由第一主成分組成，第二列由第二主成分組成，依此類推。
為了得到一種降低數據維度的有效辦法，我們可以利用WL把 X 映射到一個只應用前面L個向量的低維空間中去：
 
其中，且為的單位矩陣。
X 的單向量矩陣W相當於協方差矩陣的特徵向量 C = X XT,

在歐幾里得空間給定一組點數，第一主成分對應於通過多維空間平均點的一條線，同時保證各個點到這條直線距離的平方和最小。去除掉第一主成分後，用同樣的方法得到第二主成分。依此類推。在Σ中的奇異值均為矩陣 XXT的特徵值的平方根。每一個特徵值都與跟它們相關的方差是成正比的，而且所有特徵值的總和等於所有點到它們的多維空間平均點距離的平方和。PCA提供了一種降低維度的有效辦法，本質上，它利用正交變換將圍繞平均點的點集中儘可能多的變量投影到第一維中去，因此，降低維度必定是失去訊息最少的方法。PCA具有保持子空間擁有最大方差的最優正交變換的特性。然而，當與離散餘弦變換相比時，它需要更大的計算需求代價。非線性降維技術相對於PCA來說則需要更高的計算要求。
PCA對變量的縮放很敏感。如果我們只有兩個變量，而且它們具有相同的樣本方差，並且成正相關，那麼PCA將涉及兩個變量的主成分的旋轉。但是，如果把第一個變量的所有值都乘以100，那麼第一主成分就幾乎和這個變量一樣，另一個變量只提供了很小的貢獻，第二主成分也將和第二個原始變量幾乎一致。這就意味著當不同的變量代表不同的單位（如溫度和質量）時，PCA是一種比較武斷的分析方法。但是在Pearson的題為
"On Lines and Planes of Closest Fit to Systems of Points in Space"的原始文件裡，是假設在歐幾里得空間裡不考慮這些。一種使PCA不那麼武斷的方法是使用變量縮放以得到單位方差。

**討論**
通常，為了確保第一主成分描述的是最大方差的方向，我們會使用平均減法進行主成分分析。如果不執行平均減法，第一主成分有可能或多或少的對應於數據的平均值。另外，為了找到近似數據的最小均方誤差，我們必須選取一個零均值。
假設零經驗均值，數據集 X 的主成分w1可以被定義為：

為了得到第 k個主成分，必須先從X中減去前面的  個主成分：

然後把求得的第k個主成分帶入數據集，得到新的數據集，繼續尋找主成分。

PCA相當於在氣象學中使用的經驗正交函數（EOF）,同時也類似於一個線性隱層神經網絡。 隱含層 K 個神經元的權重向量收斂後，將形成一個由前 K 個主成分跨越空間的基礎。但是與PCA不同的是，這種技術並不一定會產生正交向量。
PCA是一種很流行且主要的模式識別技術。然而，它並不能最優化類別可分離性 。另一種不考慮這一點的方法是線性判別分析。

**符號和縮寫表**

**主成分分析的屬性和限制**
如上所述，主成分分析的結果依賴於變量的縮放。
主成分分析的適用性受到由它的派生物產生的某些假設 的限制。

**主成分分析和信息理論**
通過使用降維來保存大部分數據信息的主成分分析的觀點是不正確的。確實如此，當沒有任何假設信息的信號模型時，主成分分析在降維的同時並不能保證信息的不丟失，其中信息是由香農熵來衡量的。
基於假設得
也就是說，向量 x 是含有信息的目標信號 s 和噪聲信號 n 之和，從信息論角度考慮主成分分析在降維上是最優的。
特別地，Linsker證明了如果 s 是高斯分佈，且 n 是 與密度矩陣相應的協方差矩陣的高斯噪聲，

**使用統計方法計算PCA**
以下是使用統計方法計算PCA的詳細說明。但是請注意，如果利用奇異值分解（使用標準的軟件）效果會更好。
我們的目標是把一個給定的具有 M 維的數據集X 變換成具有較小維度 L的數據集Y。現在要求的就是矩陣Y，Y是矩陣X  Karhunen–Loève變換。:

**組織數據集**
假設有一組 M 個變量的觀察數據，我們的目的是減少數據，使得能夠用L 個向量來描述每個觀察值，L - Correspondence analysis- Canonical correlation- CUR matrix approximation (can replace of low-rank SVD approximation)- Detrended correspondence analysis- Dynamic mode decomposition- 特徵臉(Eigenface)- 多線性主成分分析(Multilinear PCA)- Geometric data analysis- Factorial code- 獨立成分分析- 核主成分分析- 矩陣分解- Nonlinear dimensionality reduction- Oja's rule- Point distribution model (PCA applied to morphometry and computer vision)- Principal component regression- Singular spectrum analysis- 奇異值分解- Sparse PCA- 變換編碼- 最小二乘法- Low-rank approximation- 圖模式- 馬爾可夫鏈- 馬爾可夫邏輯網絡

**註釋**

**參考==