🧬 PCA 主成分分析
主成分分析 + Score Plot + Scree Plot
什麼是主成分分析?
主成分分析(Principal Component Analysis, PCA)是一種降維技術,用於將高維度的數據投影到較低維度的空間中,同時盡可能保留原始數據的變異資訊。
想像你有一份包含 20 個生化指標的血液檢測數據。這 20 個變數之間可能存在大量的冗餘(例如多種發炎指標之間高度相關)。PCA 會找出數據中變異量最大的方向——這些方向就是「主成分(Principal Components)」。
數學上,PCA 對數據的共變異數矩陣進行特徵值分解(eigendecomposition)。每個特徵值代表該主成分所解釋的變異量,對應的特徵向量則定義了主成分的方向(也就是原始變數的線性組合權重)。
如何解讀 Scree Plot
Scree Plot 是一張將各主成分的特徵值(或解釋變異百分比)按大小排列的圖表。它是決定「保留幾個主成分」的關鍵工具。
- 手肘法則(Elbow Rule):找到曲線從陡峭變為平坦的「手肘」位置。手肘之前的主成分包含有意義的資訊,之後的主成分主要是噪音。
- Kaiser 準則:保留特徵值大於 1 的主成分(僅適用於標準化後的數據)。邏輯是:一個主成分解釋的變異如果還不如單一原始變數,就不值得保留。
- 累積解釋變異量:通常目標是保留到累積解釋 70-90% 的總變異量。在探索性分析中 70% 可能就足夠;在嚴謹的研究中可能需要 85% 以上。
Loadings 的解讀
Loadings 矩陣顯示每個原始變數對各主成分的貢獻權重。絕對值越大,代表該變數對該主成分的影響越大。
- 如果 PC1 的 loadings 中,BMI、腰圍、三酸甘油酯的權重都很高,你可以將 PC1 解讀為「代謝症候群因子」。
- 如果某個變數在所有主成分上的 loadings 都很低,它可能對你的分析沒有太大貢獻。
PCA 的應用場景
PCA 在生醫研究中有幾個核心應用:
- 處理多重共線性:當你的自變數之間高度相關時,直接丟進迴歸模型會導致估計不穩定。先用 PCA 提取獨立的主成分,再以主成分作為迴歸的預測變數,可以有效解決這個問題。
- 數據探索與視覺化:將高維數據投影到前兩個主成分(Score Plot),可以直觀地觀察樣本之間的分群趨勢、離群值,以及不同實驗條件之間的差異。
- 機器學習前處理:在訓練分類或預測模型之前,用 PCA 降維可以減少過度擬合(overfitting)的風險,同時加速運算。
- 基因表現分析:在基因組學和轉錄組學中,PCA 常用於檢測批次效應(batch effect)、辨識樣本異常,以及初步探索基因表現的整體模式。
使用 PCA 前的注意事項
- 標準化:如果你的變數有不同的量綱(例如體重用公斤、血壓用 mmHg),必須先標準化(z-score),否則量綱較大的變數會主導主成分。
- 樣本量:經驗法則是觀測數至少要是變數數的 5-10 倍。樣本太少時,PCA 的結果不穩定。
- 線性假設:PCA 只捕捉線性關係。如果你的數據中存在重要的非線性結構,考慮使用 t-SNE 或 UMAP 進行非線性降維。
- 可解釋性:主成分是原始變數的線性組合,有時不容易給出直觀的命名。如果可解釋性很重要,可以考慮因子分析(Factor Analysis)搭配旋轉(Varimax rotation)。
此工具永久免費。若它幫你節省了時間,考慮請作者喝杯咖啡。
☕ 請我喝杯咖啡