
R之組間差異的非參數(shù)檢驗(yàn)
# t 檢驗(yàn)
# 在研究中最常見的行為就是對兩個(gè)組進(jìn)行比較。接受某種新藥治療的患者是否較使用某種現(xiàn)
# 有藥物的患者表現(xiàn)出了更大程度的改善?某種制造工藝是否較另外一種工藝制造出的不合格品
# 更少?兩種教學(xué)方法中哪一種更有效?如果你的結(jié)果變量是類別型的,那么可以直接使用7.3節(jié)
# 中闡述的方法。這里我們將關(guān)注結(jié)果變量為連續(xù)型的組間比較,并假設(shè)其呈正態(tài)分布。
# 為了闡明方法,我們將使用MASS包中的UScrime數(shù)據(jù)集。它包含了1960年美國47個(gè)州的刑
# 罰制度對犯罪率影響的信息。我們感興趣的結(jié)果變量為Prob(監(jiān)禁的概率)、U1(14~24歲年齡
# 段城市男性失業(yè)率)和U2(35~39歲年齡段城市男性失業(yè)率)。類別型變量So(指示該州是否位
# 于南方的指示變量)將作為分組變量使用。數(shù)據(jù)的尺度已被原始作者縮放過
[python] view plain copy
print?
<span style="font-family:SimHei;font-size:18px;">library(MASS)</span>
獨(dú)立樣本的t檢驗(yàn)
如果你在美國的南方犯罪,是否更有可能被判監(jiān)禁?我們比較的對象是南方和非南方各州,
因變量為監(jiān)禁的概率。一個(gè)針對兩組的獨(dú)立樣本t檢驗(yàn)可以用于檢驗(yàn)兩個(gè)總體的均值相等的假設(shè)
這里假設(shè)兩組數(shù)據(jù)是獨(dú)立的,并且是從正態(tài)總體中抽得。檢驗(yàn)的調(diào)用格式為:
[python] view plain copy
print?
<span style="font-family:SimHei;font-size:18px;">
t.test(y~X,data)
其中的y是一個(gè)數(shù)值型變量,x是一個(gè)二分變量
t.test(y1,y2)
其中的y1和y2為數(shù)值型向量(即各組的結(jié)果變量)。可選參數(shù)data的取值為一個(gè)包含了這些
變量的矩陣或數(shù)據(jù)框,里的t檢驗(yàn)?zāi)J(rèn)假定方差不相等,并使
用Welsh的修正自由度。你可以添加一個(gè)參數(shù)var.equal=TRUE以假定方差相等,并使用合并方
差估計(jì)。默認(rèn)的備擇假設(shè)是雙側(cè)的(即均值不相等,但大小的方向不確定)。你可以添加一個(gè)參
數(shù)alternative="less"或alternative="greater"來進(jìn)行有方向的檢驗(yàn)。</span>
我們使用了一個(gè)假設(shè)方差不等的雙側(cè)檢驗(yàn),比較了南方(group 1)和非南
方(group 0)各州的監(jiān)禁概率
[python] view plain copy
print?
<span style="font-family:SimHei;font-size:18px;">t.test(Prob~So,data = UScrime)</span>
[python] view plain copy
print?
<span style="font-family:SimHei;font-size:18px;">#
# > t.test(Prob~So,data = UScrime)
#
# Welch Two Sample t-test
#
# data: Prob by So
# t = -3.8954, df = 24.925, p-value = 0.0006506
# alternative hypothesis: true difference in means is not equal to 0
# 95 percent confidence interval:
# -0.03852569 -0.01187439
# sample estimates:
# mean in group 0 mean in group 1
# 0.03851265 0.06371269 </span>
你可以拒絕南方各州和非南方各州擁有相同監(jiān)禁概率的假設(shè)(p < .001)。
非獨(dú)立樣本的t檢驗(yàn)
再舉個(gè)例子,你可能會問:較年輕(14~24歲)男性的失業(yè)率是否比年長(35~39歲)男性的
失業(yè)率更高?在這種情況下,這兩組數(shù)據(jù)并不獨(dú)立。你不能說亞拉巴馬州的年輕男性和年長男性
的失業(yè)率之間沒有關(guān)系。在兩組的觀測之間相關(guān)時(shí),你獲得的是一個(gè)非獨(dú)立組設(shè)計(jì)(dependent
groups design)。前—后測設(shè)計(jì)(pre-post design)或重復(fù)測量設(shè)計(jì)(repeated measures design)同樣
也會產(chǎn)生非獨(dú)立的組。
非獨(dú)立樣本的t檢驗(yàn)假定組間的差異呈正態(tài)分布,對于本例,檢驗(yàn)的調(diào)用的格式為:
[python] view plain copy
print?
<span style="font-family:SimHei;font-size:18px;">t.text(y1,y2,pairred=TRUE)
其中的y1和y2為兩個(gè)非獨(dú)立組的數(shù)值向量
sapply(UScrime[c("U1","U2")],function(x){c(mean=mean(x),sd=sd(x))})
with(UScrime,t.test(U1,U2,paired = TRUE))
#
# > sapply(UScrime[c("U1","U2")],function(x){c(mean=mean(x),sd=sd(x))})
# U1 U2
# mean 95.46809 33.97872
# sd 18.02878 8.44545
# > with(UScrime,t.test(U1,U2,paired = TRUE))
#
# Paired t-test
#
# data: U1 and U2
# t = 32.407, df = 46, p-value < 2.2e-16
# alternative hypothesis: true difference in means is not equal to 0
# 95 percent confidence interval:
# 57.67003 65.30870
# sample estimates:
# mean of the differences
# 61.48936
</span>
差異的均值(61.5)足夠大,可以保證拒絕年長和年輕男性的平均失業(yè)率相同的假設(shè)。
年輕男性的失業(yè)率更高。事實(shí)上,若總體均值相等,獲取一個(gè)差異如此大的樣本的概率小于
0.000 000 000 000 000 22(即2.2e?16)
組間差異的非參數(shù)檢驗(yàn)
如果數(shù)據(jù)無法滿足t檢驗(yàn)或ANOVA的參數(shù)假設(shè),可以轉(zhuǎn)而使用非參數(shù)方法
兩組的比較
若兩組數(shù)據(jù)獨(dú)立,可以使用Wilcoxon秩和檢驗(yàn)(更廣為人知的名字是Mann–Whitney U檢驗(yàn))
來評估觀測是否是從相同的概率分布中抽得的(即,在一個(gè)總體中獲得更高得分的概率是否比另
一個(gè)總體要大)。調(diào)用格式為:wilcox.text(y~x,text)
其中的y是數(shù)值型變量,而x是一個(gè)二分變量:wilcox.test(y1,y2)
其中的y1和y2為各組的結(jié)果變量。可選參數(shù)data的取值為一個(gè)包含了這些變量的矩陣或數(shù)據(jù)框。默
認(rèn)進(jìn)行一個(gè)雙側(cè)檢驗(yàn)。你可以添加參數(shù)exact來進(jìn)行精確檢驗(yàn),指定alternative="less"或
alternative="greater"進(jìn)行有方向的檢驗(yàn)。
如果你使用Mann–Whitney U檢驗(yàn)回答上一節(jié)中關(guān)于監(jiān)禁率的問題,將得到這些結(jié)果:
[python] view plain copy
print?
<span style="font-family:SimHei;font-size:18px;">with(UScrime,by(Prob,So,median))
# > with(UScrime,by(Prob,So,median))
# So: 0
# [1] 0.038201
# ------------------------------------------------------------------
# So: 1
# [1] 0.055552
# >
wilcox.test(Prob~So,data = UScrime)
#
# 你可以再次拒絕南方各州和非南方各州監(jiān)禁率相同的假設(shè)(p < 0.001)
> wilcox.test(Prob~So,data = UScrime)
#
# Wilcoxon rank sum test
#
# data: Prob by So
# W = 81, p-value = 8.488e-05
# alternative hypothesis: true location shift is not equal to 0
# </span>
Wilcoxon符號秩檢驗(yàn)是非獨(dú)立樣本t檢驗(yàn)的一種非參數(shù)替代方法
它適用于兩組成對數(shù)據(jù)和
無法保證正態(tài)性假設(shè)的情境。調(diào)用格式與Mann–Whitney U檢驗(yàn)完全相同,不過還可以添加參數(shù)
paired=TRUE。讓我們用它解答上一節(jié)中的失業(yè)率問題
[python] view plain copy
print?
<span style="font-family:SimHei;font-size:18px;">sapply(UScrime[c("U1","U2")],median)
#> sapply(UScrime[c("U1","U2")],median)
# U1 U2
# 92 34
with(UScrime,wilcox.test(U1,U2,paired = TRUE))
# > with(UScrime,wilcox.test(U1,U2,paired = TRUE))
#
# Wilcoxon signed rank test with continuity correction
#
# data: U1 and U2
# V = 1128, p-value = 2.464e-09
# alternative hypothesis: true location shift is not equal to 0
</span>
你再次得到了與配對t檢驗(yàn)相同的結(jié)論.
多于兩組的比較
在要比較的組數(shù)多于兩個(gè)時(shí),必須轉(zhuǎn)而尋求其他方法。考慮7.4節(jié)中的state.x77數(shù)據(jù)集。
它包含了美國各州的人口、收入、文盲率、預(yù)期壽命、謀殺率和高中畢業(yè)率數(shù)據(jù)。如果你想比較
美國四個(gè)地區(qū)(東北部、南部、中北部和西部)的文盲率,應(yīng)該怎么做呢?這稱為單向設(shè)計(jì)(one-way
design),我們可以使用參數(shù)或非參數(shù)的方法來解決這個(gè)問題
如果無法滿足ANOVA設(shè)計(jì)的假設(shè),那么可以使用非參數(shù)方法來評估組間的差異
如果各組獨(dú)立,則Kruskal—Wallis檢驗(yàn)將是一種實(shí)用的方法
Kruskal–Wallis檢驗(yàn)的調(diào)用格式為:kruskal.test(y~A,data)
其中的y是一個(gè)數(shù)值型結(jié)果變量,A是一個(gè)擁有兩個(gè)或更多水平的分組變量(grouping variable)。
(若有兩個(gè)水平,則它與Mann–Whitney U檢驗(yàn)等價(jià)。
如果各組不獨(dú)立(如重復(fù)測量設(shè)計(jì)或隨機(jī)區(qū)組設(shè)計(jì)),那么Friedman檢驗(yàn)會更合適
friedman.test(y~A|B,data)其中的y是數(shù)值型結(jié)果變量,A是一個(gè)分組變量,而B是一個(gè)用以認(rèn)定匹配觀測的區(qū)組變量(blocking
variable)
讓我們利用Kruskal–Wallis檢驗(yàn)回答文盲率的問題。首先,你必須將地區(qū)的名稱添加到數(shù)據(jù)
集中。這些信息包含在隨R基礎(chǔ)安裝分發(fā)的state.region數(shù)據(jù)集中:
[python] view plain copy
print?
<span style="font-family:SimHei;font-size:18px;">states<-as.data.frame(cbind(state.region,state.x77))
kruskal.test(Illiteracy~state.region,data = states)
# > kruskal.test(Illiteracy~state.region,data = states)
#
# Kruskal-Wallis rank sum test
#
# data: Illiteracy by state.region
# Kruskal-Wallis chi-squared = 22.672, df = 3, p-value = 4.726e-05</span>
顯著性檢驗(yàn)的結(jié)果意味著美國四個(gè)地區(qū)的文盲率各不相同(p <0.001)
雖然你可以拒絕不存在差異的原假設(shè),但這個(gè)檢驗(yàn)并沒有告訴你哪些地區(qū)顯著地與其他地區(qū)
不同。要回答這個(gè)問題,你可以使用Mann–Whitney U檢驗(yàn)每次比較兩組數(shù)據(jù)。一種更為優(yōu)雅的
方法是在控制犯第一類錯誤的概率(發(fā)現(xiàn)一個(gè)事實(shí)上并不存在的差異的概率)的前提下,執(zhí)行可
以同步進(jìn)行的多組比較,這樣可以直接完成所有組之間的成對比較。npmc包提供了所需要的非
參數(shù)多組比較程序
[python] view plain copy
print?
<span style="font-family:SimHei;font-size:18px;">install.packages("npmc")
var<-state.x77[,c("Illiteracy")]
mydata<-as.data.frame(cbind(class,var))
rm(class,var)
library(npmc)
summary(npmc(mydata),type="BF")
</span>
注意:npmc 包已經(jīng)被棄用了!?。?br />
但是下面的截圖是以前沒有棄用時(shí)的圖
數(shù)據(jù)分析咨詢請掃描二維碼
若不方便掃碼,搜微信號:CDAshujufenxi
LSTM 模型輸入長度選擇技巧:提升序列建模效能的關(guān)鍵? 在循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)家族中,長短期記憶網(wǎng)絡(luò)(LSTM)憑借其解決長序列 ...
2025-07-11CDA 數(shù)據(jù)分析師報(bào)考條件詳解與準(zhǔn)備指南? ? 在數(shù)據(jù)驅(qū)動決策的時(shí)代浪潮下,CDA 數(shù)據(jù)分析師認(rèn)證愈發(fā)受到矚目,成為眾多有志投身數(shù) ...
2025-07-11數(shù)據(jù)透視表中兩列相乘合計(jì)的實(shí)用指南? 在數(shù)據(jù)分析的日常工作中,數(shù)據(jù)透視表憑借其強(qiáng)大的數(shù)據(jù)匯總和分析功能,成為了 Excel 用戶 ...
2025-07-11尊敬的考生: 您好! 我們誠摯通知您,CDA Level I和 Level II考試大綱將于 2025年7月25日 實(shí)施重大更新。 此次更新旨在確保認(rèn) ...
2025-07-10BI 大數(shù)據(jù)分析師:連接數(shù)據(jù)與業(yè)務(wù)的價(jià)值轉(zhuǎn)化者? ? 在大數(shù)據(jù)與商業(yè)智能(Business Intelligence,簡稱 BI)深度融合的時(shí)代,BI ...
2025-07-10SQL 在預(yù)測分析中的應(yīng)用:從數(shù)據(jù)查詢到趨勢預(yù)判? ? 在數(shù)據(jù)驅(qū)動決策的時(shí)代,預(yù)測分析作為挖掘數(shù)據(jù)潛在價(jià)值的核心手段,正被廣泛 ...
2025-07-10數(shù)據(jù)查詢結(jié)束后:分析師的收尾工作與價(jià)值深化? ? 在數(shù)據(jù)分析的全流程中,“query end”(查詢結(jié)束)并非工作的終點(diǎn),而是將數(shù) ...
2025-07-10CDA 數(shù)據(jù)分析師考試:從報(bào)考到取證的全攻略? 在數(shù)字經(jīng)濟(jì)蓬勃發(fā)展的今天,數(shù)據(jù)分析師已成為各行業(yè)爭搶的核心人才,而 CDA(Certi ...
2025-07-09【CDA干貨】單樣本趨勢性檢驗(yàn):捕捉數(shù)據(jù)背后的時(shí)間軌跡? 在數(shù)據(jù)分析的版圖中,單樣本趨勢性檢驗(yàn)如同一位耐心的偵探,專注于從單 ...
2025-07-09year_month數(shù)據(jù)類型:時(shí)間維度的精準(zhǔn)切片? ? 在數(shù)據(jù)的世界里,時(shí)間是最不可或缺的維度之一,而year_month數(shù)據(jù)類型就像一把精準(zhǔn) ...
2025-07-09CDA 備考干貨:Python 在數(shù)據(jù)分析中的核心應(yīng)用與實(shí)戰(zhàn)技巧? ? 在 CDA 數(shù)據(jù)分析師認(rèn)證考試中,Python 作為數(shù)據(jù)處理與分析的核心 ...
2025-07-08SPSS 中的 Mann-Kendall 檢驗(yàn):數(shù)據(jù)趨勢與突變分析的有力工具? ? ? 在數(shù)據(jù)分析的廣袤領(lǐng)域中,準(zhǔn)確捕捉數(shù)據(jù)的趨勢變化以及識別 ...
2025-07-08備戰(zhàn) CDA 數(shù)據(jù)分析師考試:需要多久?如何規(guī)劃? CDA(Certified Data Analyst)數(shù)據(jù)分析師認(rèn)證作為國內(nèi)權(quán)威的數(shù)據(jù)分析能力認(rèn)證 ...
2025-07-08LSTM 輸出不確定的成因、影響與應(yīng)對策略? 長短期記憶網(wǎng)絡(luò)(LSTM)作為循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)的一種變體,憑借獨(dú)特的門控機(jī)制,在 ...
2025-07-07統(tǒng)計(jì)學(xué)方法在市場調(diào)研數(shù)據(jù)中的深度應(yīng)用? 市場調(diào)研是企業(yè)洞察市場動態(tài)、了解消費(fèi)者需求的重要途徑,而統(tǒng)計(jì)學(xué)方法則是市場調(diào)研數(shù) ...
2025-07-07CDA數(shù)據(jù)分析師證書考試全攻略? 在數(shù)字化浪潮席卷全球的當(dāng)下,數(shù)據(jù)已成為企業(yè)決策、行業(yè)發(fā)展的核心驅(qū)動力,數(shù)據(jù)分析師也因此成為 ...
2025-07-07剖析 CDA 數(shù)據(jù)分析師考試題型:解鎖高效備考與答題策略? CDA(Certified Data Analyst)數(shù)據(jù)分析師考試作為衡量數(shù)據(jù)專業(yè)能力的 ...
2025-07-04SQL Server 字符串截取轉(zhuǎn)日期:解鎖數(shù)據(jù)處理的關(guān)鍵技能? 在數(shù)據(jù)處理與分析工作中,數(shù)據(jù)格式的規(guī)范性是保證后續(xù)分析準(zhǔn)確性的基礎(chǔ) ...
2025-07-04CDA 數(shù)據(jù)分析師視角:從數(shù)據(jù)迷霧中探尋商業(yè)真相? 在數(shù)字化浪潮席卷全球的今天,數(shù)據(jù)已成為企業(yè)決策的核心驅(qū)動力,CDA(Certifie ...
2025-07-04CDA 數(shù)據(jù)分析師:開啟數(shù)據(jù)職業(yè)發(fā)展新征程? ? 在數(shù)據(jù)成為核心生產(chǎn)要素的今天,數(shù)據(jù)分析師的職業(yè)價(jià)值愈發(fā)凸顯。CDA(Certified D ...
2025-07-03