【问题标题】:wilcoxon test and mean ratioswilcoxon 检验和平均比率
【发布时间】:2012-09-19 17:16:17
【问题描述】:

我写信是想询问您对如何解释此案的意见。 我有两个要比较的向量“a”和“b”。

wilcoxon 测试给我的 pvalue 为 5.139217e-303 的 a 超过 b 与替代“更大”。现在,如果我对它们中的每一个做一个总结,我有以下内容

> summary(a)
     Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
0.0000000 0.0001411 0.0002381 0.0002671 0.0003623 0.0012910 
> summary(c)
     Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
0.0000000 0.0000000 0.0000000 0.0004947 0.0002972 1.0000000

然后,平均比率约为 0.5399031,这天真地与 wilcoxon 测试相反(我期待找到一个比率 >> 1)

即使使用异常值包删除异常值后,我仍然有同样的事情。 有人可以帮我解释为什么我会得到这个结果以及如何解释它吗?

提前致谢

【问题讨论】:

  • 这可能是一个统计问题而不是 R 问题。去除异常值应该没有什么区别,这是一个基于非参数等级的测试。 Wilcoxon 检验的原假设假设两个样本来自同一总体;正式陈述的替代假设是指中位数的差异(而不是均值),如果总体的方差差异很大,事情也可能很奇怪。如果没有看到数据本身(或者至少是关于分布的更多信息——直方图?),很难说。
  • 另外,请注意mean_b>mean_aQ1_a>Q1_b(实际上是Q1_a>median_b); Wilcoxon 对后者很敏感(分位数的差异,而不是矩)

标签: r


【解决方案1】:

由于您尚未发布您的数据,这确实是一个难题,并且发布您的数据(例如,通过dput() 会使事情变得容易得多。除此之外,我们只能指定。有关更多信息,请参阅 here用一个可重复的例子提出一个很好的问题。

但是,我们可以从 summary 中看到您的数据有一些属性,这些属性可以提供答案。

Wilcoxon 测试似乎不适合您的数据。请记住,Wilcoxon 使用每个观察值的等级。由于数据中存在关联,因此很难获得排名。你似乎有很多联系(minmedianc 都是 0)。有一些方法可以处理关系,但其他方法更好。

由于您似乎不想使用 t 检验(考虑到分布似乎确实不同,这是合理的,例如median(a) < mean (a)median(c) > mean(c))另一种方法是使用置换检验。

我的包 afex(在 CRAN 上,基于 coin)包含函数 compare.2.vectors 使用(例如)t 检验、Wilcoxon 和最显着的置换检验比较两个向量。如果您的 n 很小,您甚至可以使用精确的测试分布进行置换测试。给定两个向量 a 和 c,结果可能是(试图模拟您的数据):

> require(afex)
> a <- round(runif(100, 0, 0.00129), 5)
> c <- c(rep(0, 60), runif(37, 0, 0.00297), rep(1, 3))
> summary(a)
     Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
0.0000100 0.0002775 0.0006500 0.0006360 0.0009475 0.0012800 
> summary(c)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
0.00000 0.00000 0.00000 0.03054 0.00116 1.00000 

> compare.2.vectors(a,c)
$parametric
   test test.statistic test.value   test.df          p
1     t              t  -1.745388 198.00000 0.08246866
2 Welch              t  -1.745388  99.00094 0.08402002

$nonparametric
             test test.statistic  test.value test.df            p
1 stats::Wilcoxon              W 6772.000000      NA 1.143036e-05
2     permutation              Z   -1.736482      NA 1.929300e-01
3  coin::Wilcoxon              Z    4.389418      NA 0.000000e+00
4          median              Z   -4.514156      NA 0.000000e+00

您会看到相同的模式,Wilcoxon 的测试统计为阳性,但所有其他测试为阴性。所以最好不要使用 Wilcoxon,而是使用其他测试之一,都同意。

PS:我很高兴 cmets 在功能上。还有更多有意义的测试吗?

【讨论】:

  • 这很好,但我不确定我是否喜欢默认提供各种测试的想法——它鼓励挑选樱桃(尽管我很欣赏这不是你的方式使用它...实际上相反)也许使测试类型成为字符串,并带有“all”或“all_nonparametric”选项以实现向后兼容性?
  • @BenBolker 如您所见,该函数旨在允许跨测试进行比较而不是樱桃采摘,因此tests 和@987654335 的默认值@ 参数显示全部。但问题是,提供可能危险的东西是否是个好主意(例如,参见关于美国枪支可用性或德国高速公路限速的讨论)。诚然,在这种情况下,我对这个问题的回答与你不同。
猜你喜欢
  • 2016-03-11
  • 2013-09-19
  • 2018-11-19
  • 2021-06-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-15
  • 1970-01-01
相关资源
最近更新 更多