如何解释参数测试和非参数测试(以及其他问题)之间如此大的差异?

机器算法验证 假设检验 非参数
2022-03-24 09:29:26

我建议进行一项小型医学研究(两组,治疗是一个虚拟变量),即 2x2 列联表。我在比较培生的价值χ2测试和非参数竞争对手McNemar'sχ2测试

编辑

答案带来了一个额外的问题:

他们将第 1 组中的每个病例与第 2 组中的 4 个对照匹配(根据他们认为重要的所有变量进行匹配,例如性别、年龄、hemisf),但治疗除外。撇开匹配是否完成的问题(即是否确实确定了所有重要变量),每个案例对应四个对照(即不是一个)这一事实是否人为地夸大了结果的重要性?(他们仍然要给我发部分数据,这就是为什么下表没有反映这个 4 比 1 的比例)。

我得到以下(非常不同的)结果(n = 116)(R CrossTable()函数)。:

     [,1] [,2]
[1,]   39    9
[2,]   49   19

所有表格因素的统计数据

带有 Yates 连续性校正的 Pearson 卡方检验

Chi^2 = 0.844691 df = 1 p = 0.3580586

具有连续性校正的 McNemar 卡方检验

Chi^2 = 26.22414 df = 1 p = 3.039988e-07

计数数据的 Fisher 精确检验

样本估计优势比:1.672924

替代假设:真实优势比不等于 1 p = 0.279528 95% 置信区间:0.6356085 4.692326

McNemar 是近似版本,但确切版本给出了相同的结论(强烈拒绝零)。

我的问题是:我怎么能理解两者之间的如此大的差异χ2和麦克尼马尔?

1个回答

因为您的 McNemar 检验测试的原假设与χ2测试。McNemar 检验实际上测试 1-2 的概率是否等于 2-1 的概率(例如第一个数字是行,第二个是列)。如果你切换列,那么你会得到完全不同的结果。χ2test 只是测试是否可以从边缘频率计算频率,这意味着两个分类变量都是独立的。

在 R 中说明:

> x <- matrix(c(39,49,9,19),ncol=2)

> y <-x[,2:1]

> x
     [,1] [,2]
[1,]   39    9
[2,]   49   19

> y
     [,1] [,2]
[1,]    9   39
[2,]   19   49

> mcnemar.test(x)

        McNemar's Chi-squared test with continuity correction

data:  x 
McNemar's chi-squared = 26.2241, df = 1, p-value = 3.04e-07


> mcnemar.test(y)

        McNemar's Chi-squared test with continuity correction

data:  y 
McNemar's chi-squared = 6.2241, df = 1, p-value = 0.01260


> chisq.test(x)

        Pearson's Chi-squared test with Yates' continuity correction

data:  x 
X-squared = 0.8447, df = 1, p-value = 0.3581


> chisq.test(y)

        Pearson's Chi-squared test with Yates' continuity correction

data:  y 
X-squared = 0.8447, df = 1, p-value = 0.3581

很明显,McNemar 检验的结果完全不同,具体取决于哪一列先出现,而χ2测试给出完全相同的结果。现在为什么这个不重要?好吧,看看预期值:

> m1 <- margin.table(x,1)/116

> m2 <- margin.table(x,2)/116

> outer(m1,m2)*116
         [,1]     [,2]
[1,] 36.41379 11.58621
[2,] 51.58621 16.41379

非常接近你的桌子。

所以这两个测试根本没有分歧。χ2正确地得出两个变量是独立的结论,即一个变量中的计数不受另一个变量的影响,反之亦然,并且 McNemar 检验正确地得出结论,第一行第二列的概率 (0.07) 与第二个变量的概率不同行第一列 (0.42)。

其它你可能感兴趣的问题