比 Kruskal-Wallis 测试更强大的东西?

机器算法验证 假设检验 统计学意义 统计能力 克鲁斯卡尔-沃利斯测试
2022-04-06 20:26:40

我有一个来自 3 次治疗下的连续变量的样本,我想评估基础分布位置的治疗差异。

一种选择是运行非参数测试,例如 Kruskal-Wallis(kruskal.test在 R 中)。

想知道我是否可以使用不同的非参数测试。

模拟示例(中R):

n <- 10 # observations per treatment
y <- c(rchisq(n, df=1), rnorm(n), runif(n)) 
x <- rep(1:3, c(n, n, n))
kruskal.test(y ~ x, data=cbind(x, y))
2个回答

我认为您遇到的问题既是样本量,又是您正在使用的特定测试的替代假设的性质。Kruskal-Wallis 检验试图确定分布是否相等,或者一个随机支配另一个。这意味着一个数量大于t大于另一个分布的每个t(或者更准确地说,一个数量“大”的概率大于另一个)。关键是 Kruskal-Wallis 检验对分布之间的任何差异都不敏感。

如果我们以你的例子并绘制经验分布函数,我们将看到测试拒绝的时间与经验分布函数不重叠的情况大致一致。如果您不仅对随机支配感兴趣,还对形状差异感兴趣,您可以考虑k-示例Kolmogorov-Smirnov 测试,在这篇文章中讨论:Kolmogorov-Smirnov 测试是否有多样本版本或替代方案?.

library(ggplot2)

n <- 10
y <- c(sort(rchisq(n, df=1)), sort(rnorm(n)), sort(runif(n)) 
x <- rep(1:3, c(n, n, n))
# calculate empirical distribution functions
f <- rep(1:n / n, 3)
df <- data.frame(x, y, f)
rm(x, y, f, n)

kruskal.test(y ~ x, data=df)

# plot empirical distribution functions
qplot(y, f, data=df, geom="step", colour=as.factor(x))

在此处输入图像描述

(比 dsaxton 的分析稍微不那么正式……但在这种情况下可以快速判断)

我根本不清楚这些是不同的:

在此处输入图像描述

对于粗略的两两比较,样本大小为 10 时,中位数的不确定性(因为我们在这里查看箱线图)大约是如果箱重叠,两者没有显着差异(尽管它部分取决于相对价差)。

[这个“在 n=10 时查看框是否重叠”的想法来自哪里?请参阅此处的分析,然后注意巧妙的巧合1.58几乎完全一样10/2,这意味着,至少当中值朝向盒子的中间时,问题减少到检查重叠的盒子。我在 80 年代就注意到了这一点,这是一个非常方便的经验法则。从那里调整其他样本大小并不难——例如,如果 n 为 40,则完整的缺口间隔将是半个框宽]

正如我们在这里看到的,第 1 组和第 3 组的框几乎完全重叠(因为第 3 组的间隔几乎完全包含在第 1 组的间隔中),第 2 组刚好与第 3 组重叠,而第 1 组和第 2 组只是没有重叠重叠。

现在请注意,低组(第 2 组)的中位数在其框中较高,不对称,而高组(第 1 组)的中位数较低,因此位置差异的指示在那里甚至不那么强烈。

所以至少只看箱线图的信息,我没有理由认为这里一定有什么不同——远非显而易见,这是一个相当模棱两可的差异证据。

(事实上​​,如果您查看带缺口的箱线图,所有成对的缺口间隔都基本重叠。)

因此,如果我仅从箱线图中猜测,我认为 Kruskal-Wallis 检验可能会在 5% 水平的拒绝边界附近,但我实际上并不期望它会拒绝。(这可能取决于样本的具体情况——它与比较箱线图的作用不同——但如果没有,我们真的不应该感到惊讶)

所以这并不是说 Kruskal-Wallis 在这里遗漏了任何东西——我想说你对“看起来完全不同”的判断(正如你在原始帖子中所说的那样)对于这个小样本量是错误的。位置差异的指示在数据中根本不清楚。

如果您对比位置差异更普遍的差异感兴趣(例如散布或形状的差异),您可能会考虑除此之外的其他测试......但在 n=10 时,您通常不会考虑更广泛的替代方案可以说很多。