天天看点

单细胞分析中归一化和标准化的区别

归一化和标准化的区别:

二者的界限也没有特别明显,也没有必要把这两个概念分的特别清楚。只要清楚它们大概的使用范围就可以了:

  • 常用的归一化是log处理,之前离散程度很大的数据就被集中了
  • 常用的标准化是z-score:考虑到了不同样本对表达量的影响,消除到了表达的平均水平和偏离度的影响

使用范围:

  • 如果对表达量的范围有要求,用log归一化
  • 如果表达量较为稳定,不存在极端最大最小值,使用归一化
  • 如果表达量离散程度很大,存在异常值和较多噪音,用标准化可以避免异常值和极端值的影响
  • 在分类、聚类、PCA算法中,使用z-score值的结果更好
  • 数据不太符合正态分布时,可以使用归一化
  • 机器学习的算法(SVM、KNN、神经网络等)要求归一化/标准化

在单细胞分析中,同时会用到Normalize和Scale(可以看: 单细胞Seurat包升级之2,700 PBMCs分析)

  • 归一化

    Normalize做的就是将数据进行一个转换,可以让同一基因在不同样本中具有可比性(例如RPKM、TPM等);另外降低离散程度。看使用的函数LogNormalize背后的计算方法就是:log1p(value/colSums[cell-idx]

    *scale_factor) ,它同时考虑到了这两点

  • 标准化

    Scale就是基于之前归一化的结果(也就是log后的结果),再添z-score计算

最后,在 对细胞文库差异进行normalization 这一篇中也提到了:

  • Normalization “normalizes” within the cell for the difference in

    sequenicng depth / mRNA thruput

  • Scaling “normalizes” across the sample for differences in range of

    variation of expression of genes

normalization一般是对文库处理,目的消除一些技术差异;scale一般对基因表达量处理(典型的z-score:表达量减均值再除以标准差),目的是后续分析不受极值影响。在特征提取之前要保证细胞之间是有可比性的,一般用的是归一化的方法,得到高变基因之后,为了使同一个基因在不同细胞之间具有可比性采用标准化。