Applied Nonparametric Statistics-lec5

今天继续two-sample test

Ref: https://onlinecourses.science.psu.edu/stat464/print/book/export/html/6


  • Mann-Whitney Test

前面说这个和Wilcoxon是identical的,只是统计量不同。现在我们来看一下它的统计量U。注意,现在检查的仍然是两个独立样本。

Treatment 1:  x1x2, ... , xm
Treatment 2:  y1y2, ... , yn

U = # of pairs of (XiYj)  for which Xi < Yj

H0 : the distributions are the same
H1 : the distributions are not the same

Table A4 contains lower tailed and upper tailed values for U under the null hypothesis. It can be shown that Uupper = mn Ulower.

实际在R中的操作:

wilcox.test(new, trad, alternative="greater")

  现在,我们来构造U的置信区间。好了,直接用R就好了啊:)

wilcox.test(ugrad, grad, conf.level=0.90, conf.int=T)

  


 

以上我们检查的都是两个样本的位置情况,下面要检查scale,也就是分布的形状,variability

我们现在假设两个样本的均值相等,方差不同,现在想判断哪个方差更大。如果两个样本来自正态分布的总体,那么可以分别计算方差,然后

但是如果这两个不是来自正态分布的,就不可以了。此时,我们考虑非参数检验的方法。

  • Siegel-Tukey Test (ST test):检查方差
  1. 把数据合在一起,从小到大排列。
  2. 最小的rank为1,最大的为2,次小的为3,次大的为4,蛇形排序。
  3. 做Wilcoxon rank-sum test. The smaller rank sums are associated with the treatment that has the largest variability.

如果把指定rank的方式改为:最小和最大为1,次小和次大为2,以此类推,这样就是Ansari-Bradley test

R下,可以使用jmuOutlier包内的函数

siegel.test(x, y, alternative = c("two.sided", "less", "greater"), reverse = FALSE,all.perms = TRUE, num.sim = 20000)

  Ansari-Bradley test:

ansari.test(x, y,
            alternative = c("two.sided", "less", "greater"),
            exact = NULL, conf.int = FALSE, conf.level = 0.95,
            ...)

  事实上,检查方差一致性homogeneity of variance (homoscedasticity)还有其他方法,参考这篇文章:

http://www.cookbook-r.com/Statistical_analysis/Homogeneity_of_variance/

  1. Bartlett’s test:适合于数据是正态分布的;
  2. Levene’s test :在car包里,对于非正态分布的数据,比Bartlett's test更具健壮性;
  3. Fligner-Killeen test :非参数检验方法。
  • Tests on Deviances

1. Obtain the deviances for the two treatments (devix and devjy) and compute RMD from the orginal data, denoted RMDobs.

2. Permute.样本数大的话,循环指定次数,否则循环所有。计算RMD。

  • Kolmogorov-Smirnov Test

这个是检查general difference的,也就是说,会考虑location,scale,shape。如果两个样本分布的位置是否不同这一点未知,使用这个;如果已经

知道两个样本数据分布的位置是不同的,那么应该用wilcoxon。

  1.  Calculate the observed test statistic, KSobs

^F1(W)是sample CDF

2. Find all the possible permutation of the data and calculate KS for each permutation.

3. The p-value is found by

R语言就简单了:

ks.test(a, b)

  

 

posted @ 2017-06-08 11:03  陆离可  阅读(617)  评论(0编辑  收藏  举报