使用 ANOVA 而不是 t 检验来比较两个均值是错误的吗?

机器算法验证 假设检验 方差分析 t检验
2022-02-27 13:12:35

我有工资分布,我想比较男性和女性的平均收入差异。我知道有用于比较两种方法的学生 T 检验,但是在提出 ANOVA 之后,我收到了一些批评,说 ANOVA 用于比较两种以上的方法。

使用它仅比较两种方法有什么(如果有的话)错误?

2个回答

这没有错,相当于假设方差相等的测试。此外,对于两组,sqrt(f-statistic) 等于 t-statistic 的(绝对值)。我有点相信方差不等的 t 检验是不等价的。由于您可以在方差不相等时获得适当的估计(方差通常总是不等于某个小数位),因此使用 t 检验可能是有意义的,因为它比 ANOVA 更灵活(假设您只有两组)。

更新:

这里的代码显示等方差 t 检验的 t-statistic^2,而不是不等 t 检验,与 f 统计量相同。

dat_mtcars <- mtcars

# unequal variance model
 t_unequal <- t.test(mpg ~ factor(vs), data = dat_mtcars)
 t_stat_unequal <-  t_unequal$statistic

# assume equal variance
 t_equal <- t.test(mpg ~ factor(vs), var.equal = TRUE, data = dat_mtcars)
 t_stat_equal <- t_equal$statistic

# anova
 a_equal <- aov(mpg ~ factor(vs), data = dat_mtcars)
 f_stat <- anova(a_equal)
 f_stat$`F value`[1]

# compare by dividing (1 = equivalence)
 (t_stat_unequal^2) / f_stat$`F value`[1] 
 (t_stat_equal^2) / f_stat$`F value`[1] # (t-stat with equal var^2) = F

它们是等价的。只有两组的 ANOVA 相当于 t 检验。不同之处在于,当您有多个组时,t 检验的 I 型错误会增加,因为您无法共同检验假设。当您通过 F 检验联合测试它们时,ANOVA 不会遇到这个问题。