主成分分析 (PCA)
概述
主成分分析(Principal Component Analysis,PCA)是一种统计方法,它通过线性变换将由多个变量构成的高维数据转换到少数几个彼此正交的主成分(principal component)轴上,以降低维度。1901年,卡尔·皮尔逊(Karl Pearson)从几何视角首次提出;1933年,哈罗德·霍特林(Harold Hotelling)将其确立为现代形式。由于它寻找能够尽可能保留数据方差的方向,因此能在最小化信息损失的同时实现可视化、去噪和计算效率提升,已成为统计学、机器学习、生物信息学、神经科学等几乎所有数据驱动领域的标准工具。
主要内容
定义与直观理解
PCA 的核心思想是“数据分布最广的方向包含最多信息”。例如,身高和体重这样强相关的两个变量,实际上可以概括为一个信息轴。PCA 用原始变量的线性组合构造新轴(主成分),并按方差从大到小排列为 PC1、PC2、PC3……。只保留前几个主成分,就能在大体保持原始数据结构的同时大幅减少变量数量。
数学原理
1. 标准化:若各变量单位不同,方差较大的变量会主导结果,因此将其归一化为均值 0、标准差 1。
2. 计算协方差矩阵:求变量之间的协方差矩阵 Σ。
3. 特征值分解:计算满足 Σv = λv 的特征值(eigenvalue)λ 和特征向量(eigenvector)v。特征值表示对应主成分所解释的方差大小,特征向量表示轴的方向。
4. 投影:按特征值从大到小的顺序选择 k 个特征向量并对数据投影,即完成 k 维降维。
在实践中,常用奇异值分解(SVD)代替协方差矩阵。因为 SVD 在数值上更稳定,并且即使存在缺失值,或变量数多于样本数时也可适用。
解释方差与碎石图
每个主成分在总方差中所占比例称为解释方差比(explained variance ratio)。以主成分编号为 x 轴、特征值为 y 轴绘制的碎石图(scree plot)中,曲线变得平缓的“肘部(elbow)”位置可作为合适主成分数量的标准。取累计解释方差 80~90% 作为标准的方法也广泛使用。
主要应用领域
- 降维与可视化:将数十至数百维数据投影到二维平面上,以观察聚类结构。
- 去噪:方差较小的主成分通常是噪声,将其丢弃可提高信噪比。
- 特征提取预处理:在送入回归、分类模型之前,缓解多重共线性并提高学习速度。
- 生物信息学:在基因表达数据(GTEx、TCGA)中诊断和校正样本异质性及批次效应(batch effect)。
- 人脸识别:成为经典特征脸(eigenface)方法的基础。
优缺点
优点是实现简单、计算快速,且结果轴彼此正交,解释清晰。相反,主成分是原始变量的线性组合,因此难以赋予物理或生物学意义;而且方差大并不保证一定是对预测有用的信息。此外,PCA 仅限于线性变换,对异常值敏感,且不考虑类别标签,这些都是其局限。
最新趋势
进入 2024~2025 年,PCA 作为预处理与解释工具比作为单独方法更受重新关注。第一,将大型语言模型(LLM)的嵌入向量用 PCA 降维以可视化语义空间,或从激活空间中提取特定概念方向的可解释性(interpretability)研究十分活跃。第二,在单细胞 RNA 测序(scRNA-seq)分析流程(Seurat、Scanpy)中,PCA 仍是 UMAP、t-SNE 之前的标准步骤,增强 PCA、概率 PCA 等变体被用于批次效应校正。第三,核 PCA、稀疏 PCA(SPCA)、鲁棒 PCA 等非线性、稀疏、稳健变体与自编码器结合,被应用于高维金融、医疗数据。第四,在联邦学习环境中,不共享原始数据即可执行 PCA 的分布式、隐私保护算法受到关注。另一方面,随着数据规模增大,随机化 SVD、增量 PCA(Incremental PCA)等可扩展性方法已成为实践标准。
相关主题
- [[奇异值分解]]
- [[降维]]
- [[机器学习]]
- [[t-SNE]]
- [[因子分析]]