1. 程式人生 > >Wilcoxon signed-rank test和Wilcoxon rank-sum test及其在SciPy中的使用注意事項

Wilcoxon signed-rank test和Wilcoxon rank-sum test及其在SciPy中的使用注意事項

分別是:

Compute the Wilcoxon rank-sum statistic for two samples.
wilcoxon(x[, y, zero_method, correction]) Calculate the Wilcoxon signed-rank test.
mannwhitneyu(x, y[, use_continuity, alternative]) Compute the Mann-Whitney rank test on samples x and y.

其實按照上面部落格中的介紹,在統計學中,Wilcoxon rank-sum test(威爾科克森秩和檢驗)也叫 Mann-Whitney U test(曼-惠特尼 U 檢驗),可是SciPy為什麼又分成了兩個函式呢?我們注意到在ranksums的說明頁面中:

寫到:“For tie-handling and an optional continuity correction see scipy.stats.mannwhitneyu.”

這其實就很好理解了,mannwhitneyu適用於當滿足:Use only when the number of observation in each sample is > 20 and you have 2 independent samples of ranks. 時資料中存在結(Ties)情況。按照網上資料的介紹,所謂結,可以這樣理解:

“很多情況下,資料中會出現相同的觀測值,對它們進行排序後,這些相同觀測值的排名顯然是並列的,也就是它們的秩是相同的,這種情況被稱為資料中的結,對於結的處理,通常是將它們排序後所處位置的平均值作為它們的秩,當資料中結比較多時,某些非引數檢驗中原假設下檢驗統計量的分佈就會受到影響,從而需要對統計量進行修正。”

其實看到郵件列表中也有人討論過這個問題:

補充兩個材料,Wilcoxon Rank-Sum Table的連結和進一步說明: