为什么存在异常值时 t 检验会产生不显着的 p 值?

机器算法验证 统计学意义 t检验 异常值
2022-03-28 19:22:24

我进行了不显着的 t 检验。这是数据和结果。

Var1 <- c(12.0, 12.3, 14.1, 6.2, 2.9, 5.0, 16.2, 2.3, 4.8, 5.9, 15.0, 12.0, 11.1)

Var2 <- c(11.2, 15.1, 16, 7.2, 3.1, 1.2, 5.2, 4.1, 3.1, 11.6, 2.1, 6.5, 9.1)

data <- data.frame(Var1, Var2)

testdata <- data %>% 
  pivot_longer(cols = c(Var1,Var2)) %>% 
  mutate(group = ifelse(name == 'Var1', 0, ifelse(name == 'Var2', 1, NA)))

t.test(testdata$value ~ testdata$group, mu = 1, var.eq = F)

    Welch Two Sample t-test

data:  testdata$value by testdata$group
t = 0.45553, df = 23.995, p-value = 0.6528
alternative hypothesis: true difference in means is not equal to 1
95 percent confidence interval:
 -2.069071  5.807532
sample estimates:
mean in group 0 mean in group 1 
       9.215385        7.346154 

当我引入异常值时(我将 Var1 的第一个值 12.0 更改为 120.0),它并没有像我预期的那样变得重要。

Var1 <- c(120.0, 12.3, 14.1, 6.2, 2.9, 5.0, 16.2, 2.3, 4.8, 5.9, 15.0, 12.0, 11.1)

Var2 <- c(11.2, 15.1, 16, 7.2, 3.1, 1.2, 5.2, 4.1, 3.1, 11.6, 2.1, 6.5, 9.1)

data <- data.frame(Var1, Var2)

testdata <- data %>% 
  pivot_longer(cols = c(Var1,Var2)) %>% 
  mutate(group = ifelse(name == 'Var1', 0, ifelse(name == 'Var2', 1, NA)))

t.test(testdata$value ~ testdata$group, mu = 1, var.eq = F)

    Welch Two Sample t-test

data:  testdata$value by testdata$group
t = 1.0491, df = 12.594, p-value = 0.3138
alternative hypothesis: true difference in means is not equal to 1
95 percent confidence interval:
 -8.782548 29.136394
sample estimates:
mean in group 0 mean in group 1 
      17.523077        7.346154 

t 检验如何纠正异常值以及其他导致 p 值不显着的情况。方差如何影响结果?

3个回答

当您将观察结果向上移动时,您会影响该组的标准差以及平均值。通过 Welch 测试,您通常还可以拉低 df。

对于大小为 10 和 11 的两个样本,最初具有相同的标准偏差和半个标准偏差,这是对将一个观察值从较大组的平均值移动得越来越高的平均值的影响,以及关于均值差的标准误差(左上)、t 统计量(右上)、韦尔奇检验中的 df(左下)和 p 值(右下):

增加观测值对 t 统计量、df 和 p 值的分子和分母的影响图

(这些实际上是基于 n=10 和 10 的预期正态分数的数据值的经验影响函数,将第二组向上移动一点,然后向第二组添加额外的观察值,并在多个阶段将其向上移动。)

当您将观察值拉得更高时,t 统计量会增加一段时间,但随后开始回落并接近渐近线(如上图中的 1 所示)。df 向(现在)较小方差组的 df 减小,p 值最初减小,但随后在趋于平稳之前再次攀升。

虽然这种情况与您的数据中的情况不同,但基本模式(t 增加然后减少,p 减少然后增加)是相当普遍的。

您期望通过拥有一个巨大的数字来拉高该组的平均值,对吗?通过这样做,您将成功地拖累这个意思。

它还扩大了方差,这就是为什么您没有得到低 p 值的原因,尽管方法有很大不同。

t 检验很难用这些极端点(所谓的“异常值”,尽管我们这里的大多数人不喜欢这个词)来欺骗。

正如您可能预期的那样,当样本均值之间的平均差异很大时,您会从 t 检验(以及许多其他类型的检验)中得到一个小的 p 值。但是,该测试正在寻找相对于样本变异性的“大”,并且您引入的“异常值”夸大了变异性,因此比例差异不大。

从技术上讲,均值差的比例是相对于均值的标准误差,即标准差除以观察次数的平方根。