4. 数据预处理与批次效应可视化
批次效应控制的第一步不是建模,而是让数据“可比”。如果不同批次之间的样本在测序深度、文库大小、缺失模式或整体分布上存在系统性差异,那么后续无论用 ComBat、limma 还是 RUV,都可能把技术偏差误当成生物学信号。本节围绕三个预处理动作——归一化、标准化、缺失值处理——以及三类降维诊断图——PCA、t-SNE、UMAP——说明如何把原始矩阵整理成可分析、可诊断、可复现的输入。
一、归一化:先消除“量”的差异
归一化的目标是消除样本间因测序深度、总计数或文库大小不同造成的整体尺度差异,而不是消除基因间的生物学差异。以 RNA-seq 计数矩阵为例,样本 A 总计数 2 000 万,样本 B 总计数 4 000 万,同一基因在 A 中计数 100、B 中计数 200,直接比较会误判为 B 上调。常用做法包括 CPM、TPM、FPKM 和 DESeq2 的 median-of-ratios。CPM 计算简单:
CPM_ij = (count_ij / total_count_i) × 1e6
# 示例:样本 A 总计数 20,000,000,基因 g 计数 100
# CPM = 100 / 20,000,000 × 1e6 = 5.0
CPM 适合初步查看,但不适合差异表达分析,因为它没有考虑基因长度和组成偏差。DESeq2 的 size factor 通过中位数比值估计,对高表达基因的组成变化更稳健。若数据已经过 TPM 或 FPKM 归一化,再送入以计数为输入的模型,会破坏其方差假设,因此必须确认输入类型与模型要求一致。
二、标准化:让样本间分布形状可比
归一化解决“总量”问题,标准化解决“分布形状”问题。常见方法有 Z-score 标准化和分位数标准化。Z-score 对每个基因在所有样本上做中心化和缩放:
z_ij = (x_ij - mean_i) / sd_i
# 示例:基因 g 在 6 个样本中表达为 2,4,4,4,5,9
# mean = 4.67, sd ≈ 2.34
# 样本 1 的 z = (2 - 4.67) / 2.34 ≈ -1.14
Z-score 后每个基因均值为 0、标准差为 1,适合 PCA 和聚类,但会放大低表达基因的噪声。分位数标准化则强制所有样本的分位数分布一致,适合芯片数据或需要跨样本对齐分布的场景。选择依据是:若关注样本间整体分布差异,用分位数标准化;若关注基因间相对变化,用 Z-score。
三、缺失值处理:先判断机制,再决定策略
缺失值不是“填上就行”。首先要区分完全随机缺失、随机缺失和非随机缺失。质谱数据中低丰度蛋白的缺失常属于非随机缺失,直接填 0 会引入假阴性。处理策略包括:删除缺失率超过 30% 的特征;对缺失率低的特征用 KNN 或 missForest 填补;对非随机缺失,可保留缺失指示变量,让模型学习“缺失”本身的信息。示例判断规则:
- 缺失率 > 30%:删除该特征,并记录删除原因。
- 缺失率 5%~30%:用 KNN(k=5)或中位数填补,并做敏感性分析。
- 缺失率 < 5%:可直接删除缺失样本,或均值填补。
- 已知为非随机缺失:保留缺失指示列,不强行填补。
四、降维可视化诊断:PCA、t-SNE、UMAP 的分工
预处理是否有效,不能只看数值,要看样本在低维空间中的分布。PCA 是线性方法,保留全局方差结构,适合判断批次是否为主要变异来源。若 PCA 第一主成分将样本按批次分开,说明批次效应显著;若按生物学分组分开,则说明信号保留良好。t-SNE 和 UMAP 是非线性方法,擅长展示局部邻域结构,适合观察样本是否形成连续梯度或离散簇,但不能直接解释簇间距离。
实际操作中,建议按以下顺序诊断:先对归一化后的数据做 PCA,查看 PC1/PC2 的方差贡献率和样本分布;若批次与 PC1 高度相关,再检查是否需要 ComBat 或 limma removeBatchEffect;校正后再做一次 PCA,确认批次分离减弱而生物学分组仍可分辨。t-SNE 和 UMAP 用于补充观察局部结构,参数需固定并记录:t-SNE 的 perplexity 可设为 5~50,UMAP 的 n_neighbors 可设为 5~50、min_dist 设为 0.1~0.5。不同参数会改变图形,因此必须报告参数。
图中展示了从原始矩阵到降维诊断的完整链路:归一化、标准化、缺失值处理三步并行作用于数据,输出预处理后矩阵,再分别进入 PCA、t-SNE、UMAP 三种诊断视角。PCA 用于判断批次是否主导全局方差,t-SNE 和 UMAP 用于观察局部结构是否被批次撕裂。若校正后 PCA 中批次仍明显分离,说明校正不足;若生物学分组消失,说明校正过度。实际项目中,建议把每次诊断的 PC1/PC2 方差贡献率、样本分组标签和降维参数一并记录,形成可追溯的质控日志。