为什么 McNemar 检验中不使用对角线计数?

机器算法验证 假设检验 mcnemar 测试
2022-03-31 13:04:38

在回顾McNemar's test时,我发现对角线计数未用于计算测试统计量。但是,由于测试是测试行和列边缘相等的空值,所以测试似乎正在测试一个不同的假设。H0:pb=?pc

为什么单元格“a”中的计数被忽略?例如,比较 McNemar 的测试将相同处理的这两个单独的场景:

  1. 单元格“a”中的小数据

     3  10
    20   0
    
  2. 单元格“a”中有很多数据

     1e+6  10
       20   0
    

作为我实际任务的背景,我在一组保留的示例上比较了两种分类算法 A 和 B 的性能。在我实验的列联表中,单元格“a”包含两种算法都正确的示例数;单元格“b”包含 A 正确而 B 错误的示例数;单元格“c”包含示例 A 错误但 B 正确的示例数;并且单元格“d”包含两种算法都出错的示例数。

现在考虑我在上面起草的列联表。第一个在单元格“a”中有少量计数,而另一个在“a”中有大量计数。A 和 B 之间的错误分类数量差异在表 #1 中似乎很大,但在表 #2 中很小。因此,McNemar 的检验似乎不适合确定 A 和 B 的性能是否显着不同,因为它忽略了单元格“a”中的计数。

我的列联表示例试图说明的是,当观察总数等于 33 时,(b - c) = (10 - 20) 的差异似乎很大(表 #1)。但是,如果观察总数为 1MM(表 #2),则差异看起来很像噪音。我理解直觉可能会产生误导,尤其是概率和统计数据,但这似乎表明 McNemar 的检验不适用于评估两种分类算法之间的差异是否显着。谁能强调我的直觉在哪里失败?

3个回答

McNemar 测试的标签信息(曾经由我提供,后来可能修改):

分类数据的重复测量测试。假设具有相同 2 个类别(McNemar 检验)或 k 个类别(McNemar-Bowker 检验)的两个变量形成一个方形列联表,检验的问题是每个非对角单元格中的总体比例是否等于对称单元格中的总体比例。2x2McNemar 检验也可以看作是“边际同质性”检验

首先请注意,McNemar's / McNemar-Bowker 通常并不意味着测试边际同质性表中存在边际均匀性检验,与表中轴对称性CxCMcNemar-Bowker 检验不同CxC

但在2x2表格的特定情况下,对称性 McNemar 检验也成为边际同质性检验。(补充一点,上述CxC边际同质性检验实际上是在内部基于对所有可能的子表重复应用 McNemar 检验2x2)。(添加另一个信息2x2McNemar 的检验等同于对二分数据执行的符号检验;两者都可以返回精确或渐近的 p 值。)

因此,您说 McNemar 的检验是边际同质性检验是正确的(在特定情况下)和不太正确的(通常)。首先是轴对称测试。

它用于事前研究或配对研究,以比较表中的对称频率;行和列类别必须是相同的实体。H0是在人口中,所有非对角线比例都等于它们的对称细胞比例H1,而至少有一个比例与其对称比例不同。

因此,非对角对称性测试完全忽略对角线条目并不奇怪。

但是对于具有相同行/列类别的列联表还有另一个重复测量分类测试CxC- 它确实考虑了对角线条目 - 着名的 Cohen 的kappa统计和测试。如果您想考虑对角线,请使用它。但它测试了不同的假设:H0= 对角线和非对角线比例甚至 vs H1= 非对角线比例占主导地位(对角线是峡谷)或对角线比例占主导地位(山脊)。Kappa 没有特别考虑对称单元。


@ted 对 McNemar 的直觉

但如果观察总数为 1MM,则差异看起来很像噪音

错位了。重复一遍:McNemar 中的对角线条目(在符号检验的术语中它们将被称为“关系”)在概念上超出了其检验假设。该假设是关于二项式问题“谁更经常在统计上获胜,A 还是 B?或者他们是关于按帐户抽奖?”。因此,对角线、领带被视为“没有答案或不知道”的响应,因此观察结果与实验无关。在测试时应将它们从样品中排除。尽管它们与测试无关,但H0/H1它们与测试的力量相关- 由于被排除在外,它们减少了测试所基于的有效样本量。您可以选择将 1/2 概率下的平局随机分配给“A 胜”或“B 胜”,而不是排除,即将平局视为“机会丢失数据”。这种方法不会偏向 NcNemar 的测试,但会削弱它的力量()。

但是,如果您需要将对角线包含在您的测试概念中(特别H0是,甚至有机会落入任何非对角线以及任何对角线单元格) - 那么 McNemar 的测试不应该让您感兴趣。例如,选择 kappa 或其他一些标准/测试。其中有许多专门用于比较分类性能。

比较两个分类器就像比较两个比率。将观察值包含在对角单元格中,例如a 是分类器工作的有效结果。从逻辑上讲,它应该被考虑在内。就像卡帕一样。但 McNemar 主要用于同一组观察的重复测量设置。那些发现自己在细胞中的人a只是对该因素的影响漠不关心并且只要测试问题是存在时效果的方向是什么 - 细胞无法帮助回答它。

直观地说,由于“单元格 ”位于第一行和第一列中,因此在您的测试中包含无助于评估行边缘和列边缘之间的差异。如果您的行是并且您的列是,要测试是否,您只需要测试包括与我们想​​要测试行和列边缘是否相等的程度无关。aaa+ba+ca+b=a+cb=ca

McNemar 检验用于检测配对数据的差异 - 通常(但不总是)这适用于前后数据。当您在上面描述“单元格 ”时,那将是对应于前后相同状态的单元格。例如,如果您要测试狗在训练课后是否更好地拿起棍子,将指示在训练课之前拿棍子和在训练课后拿棍子的狗的数量。单元格将表示训练前没有拿棍子和训练后没有拿棍子的狗的数量。如果我们有兴趣了解“之前”和“之后”结果之间的区别,aadbc.

你的直觉是合理的,但不正确。(正如您所注意到的,这种情况在概率和统计中非常普遍。)

统计意义与效应大小/实际意义

你说:

A 和 B 之间的错误分类数量差异在表 #1 中似乎很大,但在表 #2 中很小。因此,McNemar 的检验似乎不适合确定 A 和 B 的性能是否显着不同,因为它忽略了单元格“a”中的计数。

让我把它改成:

A 和 B 之间的错误分类数量差异在表 #1 中似乎很大,但在表 #2 中很小。因此,McNemar 的检验似乎不适合确定 A 和 B 的性能是否存在显着 差异,因为它忽略了单元格“a”中的计数。

一般来说,假设检验旨在让我们确定我们是否可以确信实际上存在差异。这并不意味着差异非常重要。差异的大小是效应大小。这个效应大小是否是你会关心的(在你相信它的假设下),是一个具有实际意义的问题。