似乎在某些情况下,Welch 的 t 检验可以给出夸大的 p 值和不平衡的组大小。例如,考虑以下从相同高斯分布中采样的不等组大小的模拟。
set.seed(42)
sapply(2:10, function(n) {
out <- replicate(100000, t.test(rnorm(100), rnorm(n))$p.value)
mean(out < 0.01) / 0.01
})
# [1] 7.928 3.139 1.913 1.606 1.371 1.285 1.178 1.141 1.192
这个结论正确吗?是否有关于何时适合 Welch t 检验的组大小的一般准则?是否有已知的方法来纠正这种明显的偏差,或者如果群体在规模方面不平衡,我们通常应该假设方差相等吗?
更新:
澄清一下,我有兴趣为 Welch t 检验建立最小样本量,低于该样本量我们需要对误报的可能性保持谨慎(仅限于我们乐于假设方差相等的情况)。
我认为这个对来自相同分布的样本进行简单模拟的图,不同的样本大小更清楚地说明了这个问题。在所有情况下,如果测试按预期执行,我们预计 p 值 < 0.05 的平均测试数等于 0.05。
我会得出结论,如果任何组的 N < ~5,我们需要谨慎使用 Welch t 检验,特别是如果 N = 2。
请注意,我没有调查不等方差,正如 BruceET 所指出的那样,如果不加以考虑,可能会导致潜在的高误报率。
dosim <- function(var.equal) {
sapply(seq_len(nrow(g)), function(i) {
pv <- replicate(
reps,
t.test(rnorm(g[i, "N1"]), rnorm(g[i, "N2"]), var.equal = var.equal)$p.value
)
mean(pv < 0.05)
})
}
reps <- 10000
g <- expand.grid(list(N1 = 2:100, N2 = c(2, 3, 4, 5, 6, 10)))
g$Welch <- dosim(FALSE)
g$Student <- dosim(TRUE)
g <- tidyr::gather(g, "stat", "value", "Welch", "Student")
g$N2 <- factor(g$N2)
ggplot(g, aes(x = N1, y = value, col = N2)) +
geom_point() +
geom_line() +
facet_grid(stat ~ .) +
ylab("Mean(p < 0.05)")
有关的:







