Wilcoxon檢驗

1. Wilcoxon檢驗

Wilcoxon檢驗包含 2 種不同類型的檢測,并且極容易混淆,這 2 種分別方法是

Wilcoxon rank-sum test:秩和檢驗,也稱為Mann-Whitney U檢驗

Wilcoxon signed-rank test:符號秩檢驗

2.1秩和檢驗

屬于非參數(shù)檢驗,用于檢驗兩個“獨立樣本”是否來自同一分布,不要求被檢驗的 2 組數(shù)據(jù)包含相同個數(shù)的元素,換句話說,秩和檢驗更適用于“非成對數(shù)據(jù)”之間的差異性檢測。常見的情形有:

比較pre-AML組和正常control組之間VAF的大小分布

A組有15個人,B組有10個人,比較A組和B組的身高

……

秩和檢驗用于推斷計量資料或等級資料的兩個獨立樣本所來自的兩個總體分布位置是否有差別。這是一種非參數(shù)替代配對雙樣本t檢驗,其可以被用于比較樣品的兩個獨立的組。當數(shù)據(jù)不是正態(tài)分布且經(jīng)過一定的數(shù)值轉(zhuǎn)換嘗試后,仍然無法滿足正態(tài)性要求時使用,它將兩獨立樣本組的非正態(tài)樣本值進行比較。

2.2計算原理

Wilcoxon秩和檢驗是基于樣本數(shù)據(jù)秩和。

先將兩樣本看成是單一樣本(混合樣本),然后由小到大排列觀察值統(tǒng)一編秩。

如果原假設兩個獨立樣本來自相同的總體為真:秩將大約均勻分布在兩個樣本中。小的、中等的、大的秩值應該大約均勻被分在兩個樣本中。

如果備選假設兩個獨立樣本來自不相同的總體為真:其中一個樣本將會有更多的小秩值,這樣就會得到一個較小的秩和;另一個樣本將會有更多的大秩值,因此就會得到一個較大的秩和。

2.3 計算實例

假設有A組和B組患者生存時間的數(shù)據(jù):


image.png

現(xiàn)在使用秩和檢驗判斷這 2 組數(shù)據(jù)是否存在顯著性差異。

解答過程:

1.建立假設:兩組數(shù)據(jù)來自同一總體,之間沒有差異。

2.將A和B組數(shù)據(jù)整合成一個序列,并按升序重新排序。分別計算2組數(shù)據(jù)的排名之和。
注意,當我們計算若干等值元素的排名時,會用這些元素排名的平均值作為它們在整個序列中的排名。例如,A組中的第1個元素與B組中第5個元素的值都等于5,且這2個5在整個序列中的排名分別是第5和第6,因此這兩個元素的排名為(5+6)/2=5.5。其余等值元素的排名計算也與之類似。

A組排名之和:
676be1bb930ef4b372249ee0284f098a.png

B組排名之和:
ff743f58efc0787d5add3090203909a5.png

3.令和分別表示A組和B組數(shù)據(jù)的個數(shù),即
dfb82c1a793910593d1954a3e8b2c222.png

根據(jù)計算公式可得和的值:
98e8eb0a17eae84e8cef1c0b8e75399e.png

1dc16fe565b6df68ab5f682eed9fa7a5.png

4.因為 6.5<49.5,所以根據(jù)較小的 W值查表,得到 P=0.01393<0.05
2.4.Python實現(xiàn)Wilcoxon Rank Sum test

可以看到結(jié)果是一致的

import scipy.stats as ss
# 兩組列表數(shù)據(jù)
x=[5,6,7,7,8,9,10]
y=[3,4,4,4,5,6,6,7]
ss.ranksums(x, y)
RanksumsResult(statistic=2.4881415181387316, pvalue=0.012841262337219548)

3.1 符號秩檢驗

用來檢驗“兩獨立配對樣本”所來自的總體的分布是否存在顯著差異的非參數(shù)方法,可以檢驗兩數(shù)距之差是否來自均值為0的總體,常見的情形有:
同一受試對象的兩個部分接受不同的處理(如對于一批血清樣本,將其分為兩個部分,利用不同的方法接受某種化合物的檢驗,檢驗結(jié)果的差異)

同一受試對象的自身前后對照(如檢驗癌癥患者術(shù)前、術(shù)后的某種指標的差異)
……

3.2 計算原理

分別用第二組樣本的各個觀察值減去第一組對應樣本的觀察值。差值為正則記為正號,差值為負則記為負號。

將正號的個數(shù)與負號的個數(shù)進行比較,容易理解:如果正號個數(shù)和負號個數(shù)大致相當,則可以認為第二組樣本大于第一組樣本變量值的個數(shù)與第二組樣本小于第一組樣本的變量值個數(shù)是大致相當?shù)?,反之,差距越大?/p>

3.3 計算實例

研究先后出生的孿生兄弟間智力是否存在差異,對12對孿生兄弟的智力進行測試,結(jié)果見下表:
image.png

上述數(shù)據(jù)為12對孿生兄弟之間的智力得分,需要判斷每對孿生兄弟之間的智力得分差異,測量指標為智力得分,屬于配對設計的定量資料。對孿生兄弟之間的智力得分差值進行正態(tài)性檢驗,可以發(fā)現(xiàn)智力得分的差值不符合正態(tài)分布,因此本數(shù)據(jù)選用配對樣本的秩和檢驗。

解答過程

1.建立假設:先后出生順序?qū)τ谥巧虥]有影響。

2.對所有數(shù)據(jù)對兩兩求差,得到差異的正負符號以及差值的絕對值,并根據(jù)絕對值的大小進行排序。
注意:當差值絕對值為0時,不計算該值的排名。
3.計算大于0 和小于0 的秩和,并計算得到最終的統(tǒng)計值W值:

大于0的秩和:
3410ce286b65c49e003eaabe89c8922e.png

小于0的秩和:
b305b50cf5b4eea8e4cec1eb9ecc62c1.png

統(tǒng)計值W值:
c3449f5d69d89d79c0f1ba7901da0e06.png

4.所以根據(jù)W值查表,得到 P=0.4765<0.05

3.4.Python實現(xiàn)Wilcoxon signed-rank test

可以看到結(jié)果是一致的!

from scipy import stats
before = [86,71,77,68,91,72,77,91,70,71,88,87]
after = [88,77,76,64,96,72,65,90,65,80,81,72]
#correction:如果為True,則是在小樣本情況下,在計算Z統(tǒng)計量時用0.5來連續(xù)性校正。默認值為False。
#alternative:等于 “two-sided” 或 “greater” 或 “l(fā)ess”?!皌wo-sided” 為雙邊檢驗,“greater” 為備擇假設是大于的單邊檢驗,“l(fā)ess” 為備擇假設是小于的單邊檢驗。
stats.wilcoxon(before,after,correction=True,alternative = 'two-sided')
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容