我正在学习 R 并且一直在尝试方差分析。我一直在运行
kruskal.test(depVar ~ indepVar, data=df)
和
anova(lm(depVar ~ indepVar, data=dF))
这两个测试之间有实际区别吗?我的理解是,他们都评估了总体具有相同均值的零假设。
我正在学习 R 并且一直在尝试方差分析。我一直在运行
kruskal.test(depVar ~ indepVar, data=df)
和
anova(lm(depVar ~ indepVar, data=dF))
这两个测试之间有实际区别吗?我的理解是,他们都评估了总体具有相同均值的零假设。
测试的假设和假设存在差异。
ANOVA(和 t 检验)明确地是对值均值相等性的检验。Kruskal-Wallis(和 Mann-Whitney)在技术上可以看作是平均排名的比较。
因此,就原始值而言,Kruskal-Wallis 比均值比较更普遍:它测试来自每个组的随机观察是否同样可能高于或低于来自另一组的随机观察的概率。作为该比较基础的真实数据量既不是均值的差异,也不是中位数的差异,(在两个样本的情况下)它实际上是所有成对差异的中位数——样本间的 Hodges-Lehmann 差异。
但是,如果您选择做出一些限制性假设,那么 Kruskal-Wallis 可以被视为对人口均值、分位数(例如中位数)以及其他各种度量的平等检验。也就是说,如果您假设原假设下的组分布相同,并且在替代方案下,唯一的变化是分布偏移(所谓的“位置偏移替代方案”),那么它也是一个检验人口均等(以及同时中位数、下四分位数等)。
[如果您确实做出了这个假设,您可以获得相对变化的估计值和区间,就像使用 ANOVA 一样。好吧,也可以在没有这种假设的情况下获得区间,但它们更难以解释。]
如果您在这里查看答案,尤其是在最后,它讨论了 t 检验和 Wilcoxon-Mann-Whitney 之间的比较,后者(至少在进行双尾检验时)是 ANOVA 和 Kruskal- 的等效* Wallis 仅用于比较两个样本;它提供了更多细节,并且大部分讨论都延续到了 Kruskal-Wallis vs ANOVA。
*(除了多组比较出现的特定问题,您可以有非传递性成对差异)
您所说的实际差异是什么意思并不完全清楚。您通常以类似的方式使用它们。当两组假设都适用时,它们通常倾向于给出相当相似的结果,但在某些情况下它们肯定会给出相当不同的 p 值。
编辑:这是一个即使在小样本中也有推理相似性的例子——这是从正态分布(样本量小)中采样的三组(第二组和第三组与第一组相比)之间位置偏移的联合接受区域对于特定的数据集,在 5% 的水平上:
可以看出许多有趣的特征——在这种情况下,KW 的接受区域略大,其边界由垂直、水平和对角直线段组成(不难找出原因)。这两个区域告诉我们关于这里感兴趣的参数的非常相似的事情。
就在这里。这anova
是一种参数方法,kruskal.test
而是一种非参数方法。所以 kruskal.test
不需要任何分布假设。
从实际的角度来看,当您的数据有偏差时,anova
就不是一个好的使用方法。例如,看看这个问题。
据我所知(但如果我错了,请纠正我,因为我不确定),构建 Kruskal-Wallis 检验是为了检测具有相同形状和相同色散的两个分布之间的差异,即, 一个是通过一个差异翻译另一个得到的, 如:
让我们打电话这个假设。KW 检验检验原假设对比. 但是,KW 测试是“有效的”,无需假设:其显着性水平(拒绝的概率在下面是有效的,因为显然满足下.
但是如果 KW 测试是“低效的”不成立:它只打算有一个很好的检测能力,然后如果没有这样的分布,则检验统计量不适合反映两个分布之间的差异.
考虑以下示例。两个样品和大小的由两个完全不同的分布生成,但具有相同的均值。然后KW拒绝拒绝.
set.seed(666)
n <- 1000
x <- rnorm(n)
y <- (2*rbinom(n,1,1/2)-1)*rnorm(n,3)
plot(density(x, from=min(y), to=max(y)))
lines(density(y), col="blue")
> kruskal.test(list(x,y))
Kruskal-Wallis rank sum test
data: list(x, y)
Kruskal-Wallis chi-squared = 2.482, df = 1, p-value = 0.1152
正如我一开始所说,我不确定 KW 的精确构造。也许我的答案对于另一个非参数测试(Mann-Whitney ?..)更正确,但方法应该是相似的。
Kruskal-Wallis 是基于等级的,而不是基于价值的。如果存在偏斜分布或存在极端情况,这可能会产生很大的不同