數(shù)據(jù)中異常值的鑒定和處理(1)
數(shù)據(jù)預(yù)處理中最不想碰到但又繞不過的一個問題是異常樣品的鑒定和處理。異常樣本,也稱為離群樣本,其定義是與其它樣本有顯著差異的樣本。通常是由實驗操作失敗、樣本受損等不易發(fā)現(xiàn)的外部因素引起,比如樣本被污染了、細胞死亡了、細胞破損了、動物個體遺傳背景不符、抗體特異性差、核酸提取不純、RNA降解、測序質(zhì)量差、測序深度很低等。異常樣本的存在會干擾數(shù)據(jù)分析結(jié)果的穩(wěn)定性,常見統(tǒng)計指標非常容易受到異常值的影響,例如均值、方差和相關(guān)性等。相比于保留更多的樣本,我們更希望保留質(zhì)量更高的樣本 (這也要求我們測序重復(fù)要較多,不然只有2重復(fù),去掉一個就沒法分析了)。
異常樣本有什么特征?異常樣在數(shù)據(jù)上體現(xiàn)在與其它所有樣本都差別比較大,比如樣品GC含量異常、比對率遠低于低于中位比對率、基因表達量整體都特別高或幾乎都為0、菌的構(gòu)成很異常、與同組樣品差別大、檢測到的基因數(shù)異常多或異常少、單細胞里面還會考慮線粒體基因的表達比例等。
現(xiàn)在又到了另一個問題,這些是很好的指標,但閾值怎么設(shè)置?
如果和導(dǎo)師說這個樣本異常,然后被靈魂質(zhì)問,你以為你以為的就是你以為的嗎。那我們?nèi)绾蝸碛行У匕l(fā)現(xiàn)和定義異常樣本呢?
聚類結(jié)果判斷異常樣本
一般可以通過層級聚類樹或PCA的方式查看是否存在異常樣品,但具體判斷哪個樣品是異常樣本缺乏明確的標準。如下面左圖展示的是數(shù)據(jù)中混入了異常樣本(圖中藍框)后數(shù)據(jù)聚類成一大一小兩個分支,51-52一枝,其它樣品一枝。我們現(xiàn)在判定51-52為異常樣本,把它們?nèi)コ?,圖就變成了右側(cè)的樣子,變成兩個大分支,左側(cè)分支的樣品42要被判斷為異常樣本嗎?沒有答案。

異常值的判定 Z-score方法
我們先從最簡單的情況看起,假如有一組數(shù),-10,10,20,3,1,3,3,4,4,4,4,5,6,7,100, 哪個數(shù)字看起來最異常呢?異常值的定義是與其余數(shù)據(jù)有顯著差異的數(shù)據(jù),看上去應(yīng)該是100,怎么計算一下呢?
如果數(shù)據(jù)主體符合正態(tài)分布,一般使用Z-score的方法。Z-score (也稱standard score) 代表一個給定的測量值偏離平均值多少倍的標準差,其正值代表大于平均值,負值代表小于平均值。計算方式如下:

在異常值檢測時,一般認為偏離3倍標準差以上為異常值:

在R中簡單實現(xiàn)如下:
set.seed(1)
ysx <- c(round(c(rnorm(30)),1),10)
ysx[1] -0.6 ?0.2 -0.8 ?1.6 ?0.3 -0.8 ?0.5 ?0.7 ?0.6 -0.3 [11] ?1.5 ?0.4 -0.6 -2.2 ?1.1 ?0.0 ?0.0 ?0.9 ?0.8 ?0.6 [21] ?0.9 ?0.8 ?0.1 -2.0 ?0.6 -0.1 -0.2 -1.5 -0.5 ?0.4 [31] 10.0
ysx_scale <- round(as.vector(scale(ysx)),1)
ysx_scale[1] -0.5 -0.1 -0.6 ?0.6 -0.1 -0.6 ?0.1 ?0.2 ?0.1 -0.4 [11] ?0.6 ?0.0 -0.5 -1.3 ?0.4 -0.2 -0.2 ?0.3 ?0.2 ?0.1 [21] ?0.3 ?0.2 -0.2 -1.2 ?0.1 -0.3 -0.3 -1.0 -0.5 ?0.0 [31] ?4.8
另外也可用中位數(shù)和中位絕對偏差代替,結(jié)果更穩(wěn)定一些
set.seed(1)
ysx <- c(round(c(rnorm(30)),1),10)
ysx
ysx_mad = mad(ysx)
ysx_median = median(ysx)
ysx_scale = round((ysx-ysx_median) / ysx_mad,1)
ysx_scale_outlier <- abs(ysx_scale) >=3
ysx_scale_outlier[1] -0.6 ?0.2 -0.8 ?1.6 ?0.3 -0.8 ?0.5 ?0.7 ?0.6 -0.3 [11] ?1.5 ?0.4 -0.6 -2.2 ?1.1 ?0.0 ?0.0 ?0.9 ?0.8 ?0.6 [21] ?0.9 ?0.8 ?0.1 -2.0 ?0.6 -0.1 -0.2 -1.5 -0.5 ?0.4 [31] 10.0
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE [9] FALSE FALSE FALSE FALSE FALSE ?TRUE FALSE FALSE [17] FALSE FALSE FALSE FALSE FALSE FALSE FALSE ?TRUE [25] FALSE FALSE FALSE FALSE FALSE FALSE ?TRUE
那么這個怎么應(yīng)用到鑒定異常樣本之間呢?度量不同樣本之間的相似度可以使用Pearson correlation或Spearman corelation值等。如果一個樣本與其他樣本相似度都很低,低于3倍的標準差,則可視為異常樣品。這個怎么算呢?下文再說!
Z-score也常用于熱圖美化中:R語言學(xué)習(xí) - 熱圖美化 (數(shù)值標準化和調(diào)整坐標軸順序)
往期精品(點擊圖片直達文字對應(yīng)教程)
后臺回復(fù)“生信寶典福利第一波”或點擊閱讀原文獲取教程合集

?
(請備注姓名-學(xué)校/企業(yè)-職務(wù)等)



























