PCA原理与实现 - SpiralKernel/bioinfo-wiki GitHub Wiki
PCA原理与实现
更新:2026-10-13;状态:可用;验证范围:文档核对;操作需按所用环境验证。
主成分分析寻找解释数据变化的正交方向;输入矩阵的定义和尺度直接影响结果。
从矩阵到坐标
设 X 的行为样本、列为特征。中心化后的矩阵做奇异值分解 X = UΣVᵀ;样本的主成分坐标为 UΣ,V 给出特征方向。是否按特征标准化,应根据数据类型决定。
基因型 PCA 常以位点频率进行中心化和方差尺度处理;普通表格直接做 PCA 不一定与 PLINK 的基因组 PCA 相同。稀有位点、LD 区域、家系、缺失和异常样本都可能主导某条轴。
不变量与易混淆点
特征向量符号可以整体翻转,所以两次图形左右颠倒不一定意味着结论改变。不同数据集单独计算的 PC1 也不是可直接拼接的同一坐标;投影需要保存训练集的频率、权重和处理规则。
只拿前五个特征值相除,不能准确宣称它们占“全部方差”的比例,除非掌握总方差或完整谱。
实践与深入
先用合成数据贯通PCA与GWAS验证输入输出,再按用PCA探索样本的群体结构检查真实数据。基因型处理依据见 PLINK PCA 手册,一般 SVD 接口见 NumPy 文档。