引言
Wilcoxon檢驗(yàn)(也被稱為Mann-Withney-Wilcoxon檢驗(yàn))是一種非參數(shù)檢驗(yàn),意味著它不依賴于屬于任何特定參數(shù)的概率分布家族的數(shù)據(jù)浅萧。非參數(shù)檢驗(yàn)的目標(biāo)與參數(shù)檢驗(yàn)的目標(biāo)相同萨西。然而,它們比參數(shù)檢驗(yàn)有一個(gè)優(yōu)勢:它們不需要假設(shè)分布的正態(tài)性。例如佑笋,學(xué)生t檢驗(yàn)只有在數(shù)據(jù)是高斯的或樣本量足夠大(通常n≥30)時(shí)才適用。在其他情況下斑鼻,應(yīng)該使用非參數(shù)檢驗(yàn)蒋纬。
有人可能會(huì)問,為什么我們不總是使用非參數(shù)檢驗(yàn),這樣我們就不必為檢驗(yàn)正態(tài)性而煩惱蜀备。原因是关摇,當(dāng)正態(tài)性假設(shè)成立時(shí),非參數(shù)檢驗(yàn)通常不如相應(yīng)的參數(shù)檢驗(yàn)有力碾阁。因此输虱,在其他條件相同的情況下,如果數(shù)據(jù)遵循正態(tài)分布脂凶,使用非參數(shù)檢驗(yàn)宪睹,當(dāng)無效假設(shè)為假時(shí),你拒絕無效假設(shè)的可能性就會(huì)降低蚕钦。因此亭病,在滿足假設(shè)的情況下,最好使用統(tǒng)計(jì)檢驗(yàn)的參數(shù)化版本嘶居。
我們將介紹Wilcoxon檢驗(yàn)的兩種情況罪帖,以及如何通過兩個(gè)例子在R中執(zhí)行它們。
采用Wilcoxon檢驗(yàn)比較兩組是否存在顯著性差異邮屁。要比較的兩組是:
- 獨(dú)立樣本
- 非獨(dú)立樣本
獨(dú)立樣本
對(duì)于獨(dú)立樣本的Wilcoxon檢驗(yàn)整袁,假設(shè)我們想測試女性和男性學(xué)生在統(tǒng)計(jì)學(xué)考試中的成績是否不同。
我們收集了24名學(xué)生的成績(12名女生佑吝,12名男生):
#rep("Girl",12)為把字符“Girl”重復(fù)12次
dat <- data.frame(
Sex = as.factor(c(rep("Girl", 12), rep("Boy", 12))),
Grade = c(
19, 18, 9, 17, 8, 7, 16, 19, 20, 9, 11, 18,
16, 5, 15, 2, 14, 15, 4, 7, 15, 6, 7, 14
)
)
dat
按照性別劃分的成績分布:
library(ggplot2)
ggplot(dat) +
aes(x = Sex, y = Grade) +
geom_boxplot(fill = "#0c4c8a") +
theme_minimal()
女孩成績的頻率分布:
hist(subset(dat, Sex == "Girl")$Grade,
main = "Grades for girls",
xlab = "Grades"
)
男孩成績的頻率分布:
hist(subset(dat, Sex == "Boy")$Grade,
main = "Grades for boys",
xlab = "Grades"
)
從上面兩張圖可以看出葬项,兩個(gè)都不服從正態(tài)分布這個(gè)限制條件。
直方圖顯示兩種分布似乎都不符合正態(tài)分布迹蛤,Shapiro-Wilk檢驗(yàn)的p值證實(shí)了這一點(diǎn)(如果P值顯著民珍,那么拒絕正態(tài)分布假設(shè),數(shù)據(jù)不符合正態(tài)分布)盗飒。
shapiro.test(subset(dat, Sex == "Girl")$Grade)
shapiro.test(subset(dat, Sex == "Boy")$Grade)
下面就可以踐行wilcox檢驗(yàn)了:
H0: 兩組是相似的
H1: 兩組是不同的
test <- wilcox.test(dat$Grade ~ dat$Sex)
test
test <- wilcox.test(dat$Grade ~ dat$Sex,
alternative = "less"
)
test
P值為0.021嚷量,因此,在5%顯著性水平下逆趣,我們拒絕原假設(shè)蝶溶,并得出結(jié)論:女生和男生的成績存在顯著差異⌒考慮到上面展示的按性別劃分的分?jǐn)?shù)箱形圖抖所,你可能會(huì)發(fā)現(xiàn)女孩似乎比男孩表現(xiàn)得更好『鄞眩可以通過添加alternative = "less"田轧。P值是0.01。因此鞍恢,在5%顯著性水平下傻粘,我們拒絕原假設(shè)每窖,并得出男孩表現(xiàn)明顯低于女孩的結(jié)論(這相當(dāng)于得出女孩表現(xiàn)明顯優(yōu)于男孩的結(jié)論)。
非獨(dú)立樣本
對(duì)于第二種情況弦悉,考慮我們?cè)趯W(xué)期初對(duì)一個(gè)有12名學(xué)生的班級(jí)進(jìn)行了一次數(shù)學(xué)測試窒典,并在學(xué)期末對(duì)完全相同的學(xué)生進(jìn)行了一次類似測試。我們有以下數(shù)據(jù):
dat <- data.frame(
Beginning = c(16, 5, 15, 2, 14, 15, 4, 7, 15, 6, 7, 14),
End = c(19, 18, 9, 17, 8, 7, 16, 19, 20, 9, 11, 18)
)
#將數(shù)據(jù)轉(zhuǎn)換為對(duì)其的格式
dat2 <- data.frame(
Time = c(rep("Before", 12), rep("After", 12)),
Grade = c(dat$Beginning, dat$End)
)
dat2
學(xué)期初和學(xué)期后的成績分布:
# Reordering dat2$Time
dat2$Time <- factor(dat2$Time,
levels = c("Before", "After")
)
ggplot(dat2) +
aes(x = Time, y = Grade) +
geom_boxplot(fill = "#0c4c8a") +
theme_minimal()
在這個(gè)例子中稽莉,很明顯兩個(gè)樣本不是獨(dú)立的瀑志,因?yàn)橥瑯拥?2名學(xué)生在學(xué)期前后參加了考試。同時(shí)假設(shè)正態(tài)性假設(shè)被違背污秆,我們因此使用配對(duì)樣本的Wilcoxon檢驗(yàn)劈猪。
這個(gè)測試的R代碼與獨(dú)立樣本相似,我們?cè)趙ilcox.test()函數(shù)中添加了paired = TRUE參數(shù)混狠,以考慮兩個(gè)樣本之間的依賴關(guān)系:
test <- wilcox.test(dat2$Grade ~ dat2$Time,
paired = TRUE)
test
P值為0.169岸霹。因此疾层,在5%顯著性水平下将饺,我們不拒絕學(xué)期前后成績相似的原假設(shè)。
我希望這篇文章能夠幫助您使用Wilcoxon檢驗(yàn)來比較兩個(gè)不遵循R正態(tài)分布的組痛黎。如果您需要執(zhí)行參數(shù)版本的Wilcoxon檢驗(yàn)予弧,請(qǐng)參閱Student的t檢驗(yàn)。
正態(tài)性假設(shè)可以通過3種互補(bǔ)的方法進(jìn)行檢驗(yàn):(i)直方圖湖饱,(ii) QQ-plot和(iii)正態(tài)性檢驗(yàn)(最常見的是Shapiro-Wilk test)掖蛤。
注意,為了使用t檢驗(yàn)(Wilcoxon檢驗(yàn)的參數(shù)化版本)井厌,需要兩個(gè)樣本服從正態(tài)分布蚓庭。因此,即使一個(gè)樣本服從正態(tài)分布(而另一個(gè)不服從正態(tài)分布)仅仆,也建議使用非參數(shù)檢驗(yàn)
注意器赞,相等元素(tie)的存在阻止了精確的p值計(jì)算
我們添加alternative = "less"(alternative = "greater"),因?yàn)槲覀兿霚y試男孩的分?jǐn)?shù)比女孩的分?jǐn)?shù)低墓拜。使用“少”或“多”可以從數(shù)據(jù)集的參考水平中扣除
學(xué)習(xí)網(wǎng)址:Wilcoxon test in R: how to compare 2 groups under the non-normality assumption | R-bloggers
本文內(nèi)容從上述網(wǎng)址翻譯和學(xué)習(xí)而形成