一些准备
knitr::opts_chunk$set(tidy = TRUE, warning = FALSE,message = FALSE)setwd("C:/Users/213yi/Desktop/非参数统计/4-12")
library(showtext) #载入库
library(ggplot2)
library(MASS)
library(ggthemes)
library(ggplot2)
library(rJava)
library(xlsx)
library(epade)
library(MASS)
library(RColorBrewer)
library(datarium)
一些回答
有关MWU检验
补充:
-
我觉得Wilcoxon秩和检验和Wilcoxon符号秩检验蛮像的,一个是统计XorY的秩,一个是统计正or负样本的秩,有相似之处
-
Wx和Wy(在混合样本中的秩)为Wilcoxon秩和统计量
-
Wxy和Wyx称为Mann-Whitney统计量
-
Mann-Whitney检验(Mann-Whitney于1947年提出,不等样本)与两样本的Wilcoxon秩和检验(等样本)等价,因此也称为Wilcoxon-Mann-Whitney检验,或者Mann-Whitney-U检验
-
Wxy和Wyx是WMW秩和检验的统计量,可以构造服从正太分布的统计量
-
同样,也有连续性正太修正(±1/2)
-
R命令:wilcox.test(sample1,sample2,alt)通过exact(精确)和correct(正太连续性修正)
question1
H0:受过训练并不能提高人际交往表现
H1:受过训练可以提高人机交往表现
question2
a=c(18,15,9,10,14,16,11,13,19,20,6)
b=c(12,13,9,8,1,2,7,5,3,2,4)
hist(a,xlab='人际交往能力', col = 'blue',main="",xlim = c(0,20),ylim=c(0,4))
hist(b, col = 'red',add=TRUE,main="")
legend("topright",legend=c("受训练","未训练"),ncol=1,inset=0.04,fill=c("deepskyblue","red2"),cex=0.8)
title("人际交往分布直方图")
从图中可以看出,经受过训练的职员人际交往能力更强
question3
应当采用WMW检验,用了比符号更多的信息,且在正太和非正态的条件下,都有较好的表现
question4
wilcox.test(a,b,alternative = "greater")
结论:在显著性0.05的水平下,认为H1成立,即接受训练可以带来更好的人际关系能力
Boostrap计算置信区间
fun<-function(data,alpha,fwd){data<-as.numeric(data)tn<-quantile(data,fwd)B=1000m=20assemble<-NULLresolution=as.data.frame(matrix(nrow=3,ncol = 3))colnames(resolution)<-c("下限","上限","区间长度")rownames(resolution)<-c("正太","枢轴量","分位数")for (i in 1:B){samp<-sample(data,m,replace = T)assemble<-c(assemble,quantile(samp,fwd))}#正太置信区间resolution[1,1]<-tn-qnorm(1-alpha/2)*sd(assemble)resolution[1,2]<-tn+qnorm(1-alpha/2)*sd(assemble)resolution[1,3]<-resolution[1,2]-resolution[1,1]#枢轴量置信区间resolution[2,1]<-2*tn-quantile(assemble,1-alpha/2)resolution[2,2]<-2*tn-quantile(assemble,alpha/2)resolution[2,3]<-resolution[2,2]-resolution[2,1]#分位数置信区间resolution[3,1]<-quantile(assemble,alpha/2)resolution[3,2]<-quantile(assemble,1-alpha/2)resolution[3,3]<-resolution[3,2]-resolution[3,1]return(resolution)
}
对于控制组和实验组的任意样本两两相减,获得中位数,放入数据集data中,进行抽样bootstrap
data=c()
for (i in a){for (j in b){data<-c(data,i-j)}
}fun(data,0.05,0.5)
#输出0.95的置信区间
- 输出结果如上,分别是正太置信区间、枢轴量置信区间和分位点置信区间 .可以看出正太分布的置信区间长度较长,枢轴量分布和分位点分布的置信区间长度短。
下面对正太性进行检验:
ks.test(data,rnorm(10000,mean(data),sd(data)))
shapiro.test(data)
从正态性检验可以看出,无法拒绝正太性的原假设,正太置信区间一定程度上值得相信
检验位置参数是否一致
Wilcoxon 秩和检验:以绝对值排序得到秩,以原本的符号±作为标志,相加得到Wilcoxon符号秩的统计量
W+即正的样本点按照绝对值所得到的秩和.取值范围为0~n*(n+1)/2
a <- c(8.8, 8.2, 5.6, 4.9, 8.9, 4.2, 3.6, 7.1, 5.5, 8.6, 6.3, 3.9)
b <- c(13, 14.5, 16.5, 22.8, 20.7, 19.6, 18.4, 21.3, 24.2, 19.6, 11.7,
18.9, 14.6, 19.8, 14.5)
wilcox.test(a,b)
- Wilcoxon 秩和检验结果表明在显著性水平为0.05的情况下拒绝原假设,认为两组样本位置参数不相等,因此,Mood检验的假设条件不成立。
Mood检验
mood.test(a,b,exact=F)
#exact=F表明连续性修正
由于位置不对称,Mood成立的基础条件不成立,所以结论无效
Moses检验
x.temp <- a
y.temp <- b
x.VAR <- c()
y.VAR <- c()
for (r in 1:4) {k=3x.index <- sample(1:length(x.temp), k)x.VAR <- c(x.VAR, var(x.temp[x.index])*(k-1))x.temp <- x.temp[-x.index]
}
for (r in 1:5) {k=3y.indey <- sample(1:length(y.temp), k)y.VAR <- c(y.VAR, var(y.temp[y.indey])*(k-1))y.temp <- y.temp[-y.indey]
}wilcox.test(x.VAR,y.VAR)
得到p值大于0.04因此,在显著0.05情况下接受原假设,认为两块土壤有机质含量的方差相同