1. 為什麼在 scRNA-seq 中需要 PCA?
人類或小鼠細胞具有超過 20,000 個基因,形成極度高維的數據空間。直接分析這些數據會面臨三大挑戰:
維度災難 (Curse of Dimensionality)
在高維度空間中,計算細胞與細胞之間的距離(相似度)會變得非常困難且失去數學與生物學意義。
計算資源消耗
直接對兩萬多個基因進行複雜的聚類或非線性降維 (如 UMAP),需要極其龐大的記憶體和計算時間。
去除雜訊 (Noise Reduction)
scRNA-seq 充滿技術雜訊。PCA 能提取代表「真實生物學訊號」的主要特徵,將隨機雜訊遺棄在後面的維度中。
2. PCA 的基本概念與原理
PCA 是一種線性降維數學方法。核心思想:尋找能夠最大化數據變異(Variance)的方向。透過 PCA,原本 20,000 維的數據,可濃縮到前 10~50 個主成分(PCs)中。
PC1 (第一主成分)
捕捉數據中最大的變異來源(例如:免疫與上皮細胞的根本差異)。
PC2 (第二主成分)
與 PC1 垂直(正交),捕捉剩餘數據中最大的變異。
後續 PCs...
捕捉變異量遞減,越後面的 PC 越可能只包含技術雜訊。
提示:您可以用滑鼠旋轉或縮放上方的散佈圖。
3. PCA 在標準分析流程中的位置
在 Seurat 或 Scanpy 等軟體中,PCA 發生在資料前處理之後、細胞分群之前。點擊下方步驟查看詳情:
4. 如何決定要使用多少個 PCs?
保留太少會遺失罕見亞群特徵;保留太多則引入雜訊。我們通常使用 碎石圖 (Elbow Plot) 或 JackStraw 分析 來做決定。
碎石圖 / 肘部法則 (Elbow Plot) 範例
觀察曲線急劇下降後變得平緩的「轉折點」,即為建議保留的 PC 數量(通常落在 10-20 之間)。
5. 後續應用 & 6. 限制
確定保留的 PCs(例如前 20 個)後,這 20 維的矩陣將成為所有高階分析的基礎。
➔ PCA 的後續應用
細胞聚類 (Clustering)
如 Louvain 或 Leiden 演算法,會基於這幾十個 PCs 來構建 K-最近鄰圖 (KNN graph),進而將細胞分群。
非線性降維與視覺化 (UMAP / t-SNE)
UMAP/t-SNE 適合 2D 視覺化。計算起點不是原始矩陣,而是 PCA 降維後的結果。這能大幅加速運算並獲得更好視覺效果。
軌跡推斷 (Trajectory Inference)
許多發育軌跡分析工具(如 Pseudotime)也是基於 PCA 空間來計算細胞狀態的轉換。
⚠️ PCA 的先天限制
線性假設的侷限
PCA 只能捕捉變數之間的線性關係。然而,生物系統(如基因調控網路)往往是高度非線性的。
這就是為什麼我們不用 PCA 來做最終的 2D 視覺化(它無法很好地展開複雜的細胞分化流形空間),而是仰賴後續的 UMAP 或 t-SNE 進行非線性映射。