t.test 和 prop.test 的 p 值差异很大

机器算法验证 假设检验 t检验
2022-03-20 06:08:12

测试两个独立组之间的命中差异(1 与 0)XY根据以下考虑,应该可以使用 t 检验:

  • xi{0,1}是测量i-第一项即时通讯组X, 和yi{0,1}组相同Y
  • 每组中的比例是测量值的平均值,即μX=ixi/nμY=iyi/n
  • 平均值之差μXμY可以用 t 检验对两组进行检验

在这种特殊情况下,比例测试(prop.testR 中的函数)是另一种测试选项。有趣的是,结果完全不同:

> x <- c(rep(1, 10), rep(0, 90))
> y <- c(rep(1, 20), rep(0, 80))
> t.test(x,y,paired=FALSE)
t = -1.99, df = 183.61, p-value = 0.04808
> prop.test(c(10,20), c(100,100))
X-squared = 3.1765, df = 1, p-value = 0.07471

请注意 prop.test 的更高 p 值。这是否意味着t检验具有更高的功效,即可以区分H0它的替代品已经适用于较小的n? 在这种情况下是否有理由使用 t 检验?

加法(编辑:在下面 Thomas Lumley 的回答下的评论中解决): t 检验的结果更加令人惊讶,因为观察到即使是渐近(“Wald”)95% 置信区间的两个测量值重叠(0.1587989 > 0.1216014):

> library(binom)
> binom.confint(10, 100, method="asymptotic")
      method  x   n mean      lower     upper
1 asymptotic 10 100  0.1 0.04120108 0.1587989
> binom.confint(20, 100, method="asymptotic")
      method  x   n mean     lower     upper
1 asymptotic 20 100  0.2 0.1216014 0.2783986

由于基于 t 分布的置信区间应该比基于正态分布的置信区间更宽(即z1α/2),我不明白为什么 t 检验报告在 5% 的水平上有显着差异。

3个回答
  1. p 值 0.048 和 0.074 之间的差异不大。这很容易发生在不完全相同但相似的测试之间。

  2. t 检验的理论适用于正态分布的数据,而您的数据显然不是。t 检验可以作为近似值证明是对的,但如果有更精确的检验(即比例检验)可用,则没有理由使用近似值。当然,没有理由期望 t 检验具有更好的功效,或者仅在它是反保守的情况下,这不是一件好事(作为一个近似值,可能需要模拟它的有限样本特征是什么在这个情况下)。

  3. 在查找参考 Agostino 等人后进行编辑。(“测试两个独立二项式总体平等的一些常用程序的适当性”,Am. Stat. 1988)由 cdalitz 给出。该参考文献指出,带有连续性校正的 prop.test 过于保守,而 t 检验和没有连续性校正的 prop.test 通常更接近标称水平,如果偶尔是反保守的(可能认为这不一定证明整体建议是合理的) )。Thomas Lumley 的回答中也提到了这一点。

    如果我们暂时忽略连续性校正,则 t-test 和 prop.test 之间存在两个差异(没有完整记录,但我认为它基于正态近似进行 z-test)。

    (a) prop.test 使用二项式方差的知识np(1p)而不是使用基于正态性的样本方差。在我看来,prop.test 在这里所做的显然应该做得更好,因为它基于有关此处使用的特定设置的信息。

    (b) prop.test 使用正态近似,而 t-test 使用 t-近似。现在,应用于二项式情况的这两种情况在本质上都是渐近的(t 分布只有在基础数据正常但它们不在这里时才是精确的),实际上它们是渐近等价的。尽管基于中心极限定理,正态近似看起来更直观,但这并不意味着在有限样本情况下,正态近似比 t 更好(并且 t 也被 CLT 证明,即使只是间接地)。t分布是由正态假设推动的,但实际上也可能是prop.test的渐近正态分布低估了有限样本变异性,因为它忽略了方差估计中的变异性,而t分布,

    所以我现在相信可能(正如可以通过模拟证实的那样,也许有人已经这样做了?)最好的办法可能是使用 prop.test 的测试统计量,即“正确的”方差估计,但替换渐近通过 t 分布进行正态分布,这在某种意义上可以将两者的优点结合在一起。

t 检验对于偏离正态假设的情况非常稳健,尤其是在样本量很大的情况下,所以我理解为什么人们可能想要对这项任务使用 t 检验。

但是,您知道参数族;因为结果要么是0或者1,分布完全由相对比例来表征,因此是伯努利。因此,您可以依赖为伯努利变量设计的参数检验,而 t 检验不是。

对参数假设的偏差具有鲁棒性的方法非常棒,因为我们通常不知道总体分布的类型。(如果我们这样做了,为什么我们有机会没有确定总体参数!?)但是,二元变量的情况是独特的,它完全由相对比例定义,并且必须是伯努利(或易于表示)如伯努利,例如称硬币的“正面”和“反面”01, 分别)。

你是对的,测试应该更相似。它们是对手段的测试,并且是针对轻尾分布的,因此您应该期望他们同意。更重要的是,估计的方差p^(1p^)/n对于二项分布非常接近s2/n

> var(x)/100
[1] 0.0009090909
> .1*(.9)/100
[1] 9e-04
> .2*(.8)/100
[1] 0.0016
> var(y)/100
[1] 0.001616162

你看到的是连续性校正。如果您尝试不使用,则p-值几乎相同

> t.test(x,y)

    Welch Two Sample t-test

data:  x and y
t = -1.99, df = 183.61, p-value = 0.04808
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -0.1991454034 -0.0008545966
sample estimates:
mean of x mean of y 
      0.1       0.2 

> prop.test(c(10,20),c(100, 100),correct=FALSE)

    2-sample test for equality of proportions without continuity correction

data:  c(10, 20) out of c(100, 100)
X-squared = 3.9216, df = 1, p-value = 0.04767
alternative hypothesis: two.sided
95 percent confidence interval:
 -0.197998199 -0.002001801
sample estimates:
prop 1 prop 2 
   0.1    0.2 

卡方检验的连续性校正有点争议。它确实大大减少了测试是反保守的情况的数量,但代价是使测试明显保守。不使用“校正”会给出在原假设下更接近均匀分布的 p 值。而且,正如您在此处看到的,不使用校正会使您更接近 t 检验。