TOP

R的兩均值比較檢驗(非參數檢驗)(一)
2017-10-09 13:35:23 】 瀏覽:9304
Tags:

1.兩獨樣本參數的非參數檢驗

1.1.Welcoxon秩和檢驗

先將兩樣本看成是單一樣本(混合樣本)然后由小到大排列觀察值統一編秩。如果原假設兩個獨立樣本來自相同的總體為真,那么秩將大約均勻分布在兩個樣本中,即小的、中等的、大的秩值應該大約被均勻分在兩個樣本中。如果備選假設兩個獨立樣本來自不相同的總體為真,那么其中一個樣本將會有更多的小秩值,這樣就會得到一個較小的秩和;另一個樣本將會有更多的大秩值,因此就會得到一個較大的秩和。

R:wilcox.test

 

##################獨立樣本的曼-惠特尼U檢驗
Forest<-read.table(file="ForestData.txt",header=TRUE,sep="	")
Forest$month<-factor(Forest$month,levels=c("jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"))
Tmp<-subset(Forest,Forest$month=="jan" | Forest$month=="aug")
wilcox.test(temp~month,data=Tmp)

  

Wilcoxon rank sum test with continuity correction

data: temp by month
W = 2, p-value = 0.01653
alternative hypothesis: true location shift is not equal to 0

1.2.K-S檢驗

##################獨立樣本的K-S檢驗
x1<-subset(Forest,Forest$month=="jan")
x2<-subset(Forest,Forest$month=="aug")
ks.test(x1$temp,x2$temp)

  

Two-sample Kolmogorov-Smirnov test

data: x1$temp and x2$temp
D = 0.99457, p-value = 0.03992
alternative hypothesis: two-sided

1.3.兩配對樣本分布

###############配對樣本的Wilcoxon符號秩檢驗
ReportCard<-read.table(file="ReportCard.txt",header=TRUE,sep=" ")
ReportCard<-na.omit(ReportCard)
wilcox.test(ReportCard$chi,ReportCard$math,paired=TRUE)
sum(outer(ReportCard$chi,ReportCard$math,"-")<0)
sum(outer(ReportCard$math,ReportCard$chi,"-")<0)

  

Wilcoxon signed rank test with continuity correction

data: ReportCard$chi and ReportCard$math
V = 1695.5, p-value = 8.021e-11
alternative hypothesis: true location shift is not equal to 0

>
> sum(outer(ReportCard$chi,ReportCard$math,"-")<0)
[1] 332
> sum(outer(ReportCard$math,ReportCard$chi,"-")<0)
[1] 3026

2.兩樣本均值置換檢驗

我們在實驗中經常會因為各種問題(時間、經費、人力、物力)得到一些小樣本結果,如果我們想知道這些小樣本結果的總體是什么樣子的,就需要用到置換檢驗。

Permutation test 置換檢驗是Fisher于20世紀30年代提出的一種基于大量計算(computationally intensive),利用樣本數據的全(或隨機)排列,進行統計推斷的方法,因其對總體分布自由,應用較為廣泛,特別適用于總體分布未知的小樣本資料,以及某些難以用常規方法分析資料的假設檢驗問題。在具體使用上它和Bootstrap Methods類似,通過對樣本進行順序上的置換,重新計算統計檢驗量,構造經驗分布,然后在此基礎上求出P-value進行推斷。

2.1.概述

參數也可以是中位數等

2.2R程序

oneway_test()

 

Forest<-read.table(file="ForestData.txt",header=TRUE,sep="	")
Forest$month<-factor(Forest$month,levels=c("jan","feb","mar","apr","may","jun","jul","aug","sep","oct","nov","dec"))
Tmp<-subset(Forest,Forest$month=="jan" | Forest$month=="aug")
t.test(temp~month,data=Tmp,paired=FALSE,var.equal=TRUE)
Tmp$month<-as.vector(Tmp$month)
Tmp$month<-as.factor(Tmp$month)
oneway_test(temp~month,data=Tmp,distribution="exact")
oneway_test(temp~month,data=Tmp,distribution="asymptotic")
oneway_test(temp~month,data=Tmp,distribution=approximate(B=1000))

  

Two Sample t-test

data: temp by month
t = -4.8063, df = 184, p-value = 3.184e-06
alternative hypothesis: true

請關注公眾號獲取更多資料



首頁 上一頁 1 2 3 下一頁 尾頁 1/3/3
】【打印繁體】【】【】 【】【】【】 【關閉】 【返回頂部
上一篇Akka(18): Stream:組合數據流.. 下一篇Akka(19): Stream:組合數據流..