在比较 R 中两个小组之间的比例时解释 p 值

机器算法验证 r 统计学意义 t检验 z检验
2022-03-28 17:02:47

我想比较两个小组之间的比例。

在第 1 组中,18 名学生中有 2 名获得了荣誉。在第 2 组中,21 人中有 9 人获得了荣誉。

这是一个小样本,所以如果我使用 t 检验:

x1 <- c(rep(1,2),rep(0,16))
x2 <- c(rep(1,9),rep(0,12))
t.test(x1,x2, alternative="two.sided", conf.level = 0.95)

我获得了 0.0239 的 p 值和 (-0.590, -0.0445) 的 CI:

如果我使用了 z 检验(又名卡方检验,自由度为 1):

prop.test(x=c(2,9), n= c(18,21), alternative="two.sided", conf.level=0.95)

我得到 0.0659 的 p 值和 (-0.626, -0.00921) 的 CI

我一直认为对于小样本,必须使用 t 检验,因为正态近似对小样本无效,导致 z 检验下的显着性夸大。那么为什么在 t 检验下差异显着,但在 z 检验下不显着?在 t 检验中,为什么当 p 值小于 alpha 时 CI 不包含零?

1个回答

您正在混合几个概念(其中一个在计算机时代确实已经过时,但仍然存在)。

对于数值变量,在计算样本的标准偏差时应使用 t 检验。如果您知道真实的总体标准偏差,那么您可以使用 z 检验(您很少会知道标准偏差而不知道平均值)。在计算机可以轻松进行统计之前,我们使用表格来查找 p 值或临界值。一些 t 表只上升到大约 30 个自由度,因为超过 30 个自由度的值几乎与正常值相同。这导致了对大样本量(比您的表更大)使用 z 检验和对较小值(可以在 t 表上查找)使用 t 检验的规则。但是使用现代计算机和统计软件,我们可以计算任意数量自由度的 t 值。

当使用比例时,标准差是比例的函数,因此是“已知的”,所以我们从不使用比例的 t 检验。如果样本量相对于被测试的比例足够大,那么二项式可以近似为正态分布,因此对于大样本,您可以使用 z 检验。这可能会导致混乱(不是您独有的)。但是对于比例上的小样本,您需要使用基于二项式或超几何分布的不同测试。一种选择是 Fisher 精确检验:

> fisher.test( cbind( c(2,9), c(18-2, 21-9) ) )

Fisher's Exact Test for Count Data

  data:  cbind(c(2, 9), c(18 - 2, 21 - 9))
  p-value = 0.03749
  alternative hypothesis: true odds ratio is not equal to 1
  95 percent confidence interval:
  0.01557731 1.06612067
  sample estimates:
  odds ratio 
   0.1744356 

这里的置信区间是优势比而不是比例差异。