对于每个受试者,我如何(或应该)测试观察 A 往往大于观察 B?

机器算法验证 假设检验 置信区间
2022-04-19 18:35:50

我在多个湖泊中测量了 2 个沉积物参数。沉积物/水界面surfOM的有机质含量和整个岩心的平均有机质含量meanOM

surfOM <- c(34.4600, 42.1700, 48.6700, 18.4711, 19.5300, 18.4238, 20.5601, 28.2800, 19.1739)
meanOM <- c(31.23571, 37.57117, 43.47832, 18.47110, 17.18266, 17.42377, 19.96015, 25.09943, 19.37392)

这两个度量是相关的> cor(surfOM, meanOM) [1] 0.9967266surfOM通常大于meanOM

 > surfOM - meanOM
[1]  3.22429  4.59883  5.19168  0.00000  2.34734  1.00003  0.59995  3.18057
[9] -0.20002

在报告结果时,我说:

“在大多数湖泊中,同一核心的地表有机质百分比和平均有机质百分比与略高的地表有机质百分比高度相关。”

我最初并不觉得差异需要进行统计测试,因为它就是这样,但两位评论家都要求进行测试,表明 surfOM 往往大于湖中的 meanOM。

我最初的想法是计算置信区间surfOM - meanOM并表明它不包含 0,但我不确定这是否是最合适的方法。

问题:

  • 两个变量之间的差异是否需要统计检验?
  • 测试这种差异的适当方法是什么?

(注:这只是数据的一个子集。完整的数据集有 23 个湖)

2个回答

您可以进行配对 t 检验。

在 R 中,t.test(surfOM,meanOM,paired=TRUE)

这将为您提供差异平均值的 p 值和置信区间。仅当湖泊是大量湖泊的样本时,这些才真正有意义,而不是如果您拥有人口中所有湖泊的数据(例如,某个地理区域中的所有湖泊,或某种感兴趣的所有湖泊) )。

当我听到“A 往往大于 B”这句话时,听起来 A 在很多时候都大于 B,比如超过 50% 的时间。这可能发生在大于时,但也可能发生在大于 ...但μAμBμAμBP(A>B)<0.50

(对于我所得到的一个具体示例,让 B 相同 1/2,并让 A 将概率置于零,并将其剩余概率置于某个整数上。我们可以使尽可能小,但我们可以尽可能大。)1ppn1P(A>B)p0μAn

最重要的是,看起来你的“B”本身就是一个“意思”,这使语言复杂化。

因此,我的第一个想法是尝试弄清楚您是否对更感兴趣,或者您是否更愿意对更感兴趣。如果您对均值感兴趣,那么 t 检验应该没问题。μA>μBP(A>B)>0.50

如果您对更感兴趣,您可以考虑Sign Test这是一个非参数测试,它对假设很轻,你不需要那么担心异常值。如果您还可以说有机物差异的分布是对称的,则可以做得更好,并进行Wilcoxon Signed Rank 检验P(X>Y)

无论如何,假设您对分布无话可说,并假设它们适用于符号测试。上面给出的数据有 9 对中有 8 对 A 大于 B。对于这些数据,在 R 中,你会做

binom.test(8, 9, alt = "greater")

输出将给出一个 p 值和 95% 的单边 Clopper-Pearson 置信区间(通常是保守的)。