StatQuest 筆記分享 — 主成分分析 PCA

主成分分析(Principal Component Analysis, or PCA) 是用於將大量資訊(變數、維度、欄位)透過降維的手段並保留大部分的資料特性的一種重要方法。在此StatQuest影片中講述如何使用奇異值分解(Singular Value Decomposition, or SVD)的方法來執行主成分分析。

影片以以下的資料來講解,紀錄兩種基因在六隻老鼠上表現的數值。

如果今天只有一個變數,我們可以很輕鬆地將數值繪在一條軸上。老鼠1–3明顯在基因1的數值高過老鼠4–6並可歸納出老鼠1–3在基因1上較為類似。如果把基因2加入,可以繪製二維向量圖來表現6隻老鼠所在的位置。如果加入額外的變數基因3,還可以用大小來表示第三個變數(維度)。然而,這已經是圖表繪製的極限了。因此接下來要探討如何借助主成分分析來將透過降維的手段來實現2-D PCA Plot以及探討其正確性。此外,主成分分析也可用於找出哪些關鍵變數(基因)可以用於對資料的群集分析。

以上述的資料為範例,

1. 首先,計算Gene1的和Gene2的平均值並畫在象限上(藍色X)。

2. 接著,以藍色X為原點,將資料點移動至相對位置。

3. 找一條通過新原點(藍色X)的線,並滿足資料投影到線的距離總和最小。

3.1 或是最大化投影點到新原點距離(畢氏定理)

4. 這條最大化投影點到新原點的線稱作主成分1 (PC1)。

5. 以此範例為例,主成分1的斜率為0.25,意味著Gene1每增加4個單位,Gene2僅增加1個單位。以調雞尾酒為例,要調成主成分1,需要以4個單位的Gene1混合1個單位的Gene2。此稱為此稱為Gene1和2的線性組合。

6. 將成分1標準單位化後,要調成1 個單位的主成分1,需要以0.97個單位的Gene1混合0.242個單位的Gene2 (比例仍是4:1)。此單位向量為主成分1的特徵向量(eigenvector)

7. 下一步,由於最佳化在尋找主成分1時已經完成,主成分2為通過原點並垂直於主成分1的向量線。因此,主成分2的特徵向量組成為-0.242的Gene1和0.97Gene2

8. 來到最後的階段,要來建構PCA Plot,需要把主成分1和主成分2連同所有的投影點轉正,並用投影點來找到原本的資料點。

9. 以之前算出的特徵值,可以計算出主成分1和主成分2的變異數。並且計算主成分1和2的變異數佔有總變異數的權重。主成分的變異數值可以繪製成Screen Plot。

Screen Plot

如果加入Gene3呢?

遵循相同的步驟找到主成分1和2,主成分3必須通過新原點並垂直於主成分1和2。

先前提到的Screen Plot 可以幫助我們了解是否能將多個主成分降維成三維甚至兩維。如果每個主成分分布的很均勻,那並不建議2維圖分析喔!

--

--