天天看點

單細胞分析中歸一化和标準化的差別

歸一化和标準化的差別:

二者的界限也沒有特别明顯,也沒有必要把這兩個概念分的特别清楚。隻要清楚它們大概的使用範圍就可以了:

  • 常用的歸一化是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:表達量減均值再除以标準差),目的是後續分析不受極值影響。在特征提取之前要保證細胞之間是有可比性的,一般用的是歸一化的方法,得到高變基因之後,為了使同一個基因在不同細胞之間具有可比性采用标準化。