提高非參數檢驗功效的潛在方法

對於非正態分佈的數據,當樣本量不夠大(如小於30)時,Wilcoxon 檢驗的功效較低。如何提高非參數檢驗的功效,這是個不容易的問題。Wilcoxon是一個特異度很高的檢驗方法,但小樣本時靈敏度較低。如果簡單放寬檢驗水準,將會迅速損失特異度,並不是上上策。小樣本的差異分析一直是個頭疼的問題,對於兩組樣本量都少於30的情況,各類非參數檢驗都很低效。除了嘗試對數據log或開根號轉化等數據預處理技巧外,是否能直接從非參數檢驗體系本身對檢驗功效進行優化?本文可能有點糾結邊際優化效果(畢竟特別有價值的特徵往往容易被Wilcoxon檢驗發現的),對於檢驗靈敏度要求不高的情況,可直接忽略本文的觀點。

有論文(見參考資料)指出,某些小樣本情況下Kolmogorov–Smirnov檢驗可能優於Wilcoxon檢驗。嚴格來說,Wilcoxon檢驗和KS檢驗的功效對比需多次重複模擬進行評估,此處不再贅述(見參考資料的論文),本文僅以一個簡單的典型示例呈現。筆者根據Wilcoxon的特點和KS檢驗的優勢(對分佈敏感),構造瞭如下的數據:

A組中12個樣本的X分子表達量爲:1,6,12,18,19,20,22,23,24,26,27,28

B組中13個樣本的X分子表達量爲:2,3,4,5,7,8,9,10,11,13,21,25,29

可視化如下:

      

直觀來看,兩組應當是有顯著差異的。

分別檢驗兩組數據的正態性,發現符合正態分佈。因此使用 t 檢驗,結果 p=0.038,佐證了我們對數據的直觀感受。

以分組爲結局變量,X的表達量爲自變量,建立Logistic迴歸模型,結果:OR=0.90,p=0.047。值得注意的是,將上述Boxplot 旋轉90度後,直觀感覺 似乎能較好地擬合出 Logistic的S型曲線。

以整體的中位數13爲界值,劃分爲高表達和低表達,進行Fisher精確檢驗,結果 p=0.017.

頻率學派過渡依賴於p值,我們用貝葉斯學派的觀點來看看這一組數據。事先假定這是表達量count計數資料(離散分佈),由於數據的方差(70左右)明顯大於均值(均值小於30),存在overdispersion,不太符合Poisson分佈,可考慮使用負二項分佈。爲了儘量減少主觀影響,我們假定兩組參數均值mu的先驗都爲0~30之間的均勻分佈,參數alpha的先驗分佈都爲0~10之間的均勻分佈,使用MCMC採樣模擬,得到兩組參數的後驗分佈如下:

      

且A組均值mu_1 大於 B組均值 mu_2 的概率爲:96.0%

接下來我們看看非參數檢驗的表現如何。

使用Wilcoxon檢驗,得到 p=0.068,保守的Wilcoxon不能以0.05的水準得到顯著差異。在進行biomarker篩選的時候很容易被Wilcoxon誤導。

我們嘗試採用KS檢驗,結果 p=0.040,誒,可以。個人一直感覺KS檢驗也比較嚴格保守,但這種情況確實能爲非參數檢驗挽回一些顏面。

可能有人認爲,既然數據服從正態分佈,何不直接使用 t 檢驗呢?我們如果將A組最後兩個樣本點的值27和28改爲26.1和26.2,則A組的數據不再服從正態分佈(哈哈,有點誇張,這個演示稍微極端一點,但確實正態檢驗結果認爲不再服從正態分佈)。這個時候還使用 t 檢驗是會被質疑的,因此不得不使用非參數檢驗方法。再次進行Wilcoxon和KS檢驗,結果不變(畢竟秩次沒發生變化)。

爲何不直接轉向貝葉斯推斷的懷抱,上述例子中筆者假定該計數資料符合負二項分佈,但如果爲連續分佈數據且分佈形式多種多樣(如代謝組學數據),難以統一判斷分佈類型時,貝葉斯推斷好像有點喫力(主要是筆者水平還不夠)。

題外話:對於RNA-Seq的count數據,可以直接使用 edgeR、DESeq2及limma等各種工具包(edgeR和DESeq2基於負二項分佈廣義線性模型處理count數據,limma基於線性模型、在 t 檢驗的基礎上改進),但其實各個工具之間並沒有達到特別好的共識,檢驗的靈敏度和特異度各有千秋。limma包本來用於處理芯片數據的(芯片數據首選方法),後來有論文證明(limma包的RNA-Seq部分的參考資料),將count數據轉成logCPM,也可以使用limma處理。由於CPM、FPKM及TPM等數據本質上是類似的,因此limma包也可以處理TPM類型的數據,但建議使用log預處理。可以參考:RNAseq數據,下載GEO中的FPKM文件後該怎麼下游分析

另外,對於將連續變量轉成分類變量再進行卡方檢驗或Fisher精確檢驗的思路,存在爭議的地方在於劃分所使用的界值(中位數並不總是有效,而直接優化最佳界值也容易被質疑),並且筆者觀點是儘量避免將連續變量壓縮成二分類變量(許多大佬都認爲粗魯地壓縮容易丟失大量的信息)。同樣作爲分佈檢驗的方法,KS檢驗雖然不是最佳選擇,但勉強還可以代表大家出戰。

但注意,KS檢驗可能會找到一些奇奇怪怪的分佈的特徵,最好剔除多峯分佈的特徵(多峯分佈的特徵難以解釋)。另外,KS檢驗對相同秩的情況也處理不佳(相同秩估計不準 簡直是許多非參數檢驗的共病)。

本文的示例只是其中一種典型的代表,實際(小樣本)數據中這樣的情況並不罕見。筆者認爲,小樣本數據分析時,可在Wilcoxon檢驗的基礎上,輔之以KS檢驗,從而提高非參數檢驗的功效,即:Wilcoxon檢驗與KS檢驗分別篩選biomarker後,再取並集作爲差異分析的結果,可能可以幫助挖掘潛在有用的biomarker(記得確實有一些綜述總結到KS檢驗可以作爲篩選biomarker的方法之一)。

 

上述的例子中,衆多檢驗方法都認爲兩組很可能存在差異,而Wilcoxon檢驗則過於保守估計,這大概是Wilcoxon的其中一個缺陷。Wilcoxon的另一個缺陷是:丟失了數值的絕對大小,只保留了相對大小的信息。下面舉個小樣本中簡單而又極端的栗子。

A組的3個病例的X分子表達量爲:1, 2, 3

B組的3個病例的X分子表達量爲:40, 50, 60

使用Wilcoxon檢驗 p=0.1,而使用 t 檢驗則 p=0.01。

因此,提高非參數檢驗功效的另一個思路是:重新引入絕對數值大小。這可能是優化非參數檢驗功效極爲重要的一方面。

 

參考資料:

曾豔等. 完全隨機設計兩樣本的Wilcoxon檢驗與KS檢驗功效比較. 中國衛生統計學.2011

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章