麦克内马尔检验(McNemar’s Test)
配对标称数据的麦克内马尔检验(McNemar’s Test)
from mlxtend.evaluate import mcnemar
概述
McNemar的检验[1](有时也称为“受试者内卡方检验”)是对配对名义数据的统计检验。在机器学习中,我们可以使用两种统计模型(NEMAR)来测试机器学习的准确性。麦克内马尔的测试是基于两个模型预测的2倍连续表。
McNemar’s Test Statistic
在麦克内马尔的检验中,我们提出了零假设,即概率 p ( b ) p(b) p(b) and p ( c ) p(c) p(c),或者用简化的术语来说:两个模型中没有一个比另一个更好。因此,另一种假设是,这两种模型的性能并不相同。

McNemar检验统计量(“卡方”)可计算如下:
χ 2 = ( b − c ) 2 ( b + c ) , \chi^2 = \frac{(b - c)^2}{(b + c)}, χ2=(b+c)(b−c)2,
如果单元格c和b的总和足够大,则 χ 2 \chi^2 χ2 值遵循一个自由度的卡方分布。设置显著性阈值后,例如, α = 0.05 α=0.05 α=0.05。我们可以计算 p p p 值——假设零假设为真, p p p 值是观察这个经验(或更大)卡方值的概率。如果 p p p 值低于我们选择的显著性水平,我们可以拒绝两个模型性能相等的无效假设。
连续性校正
在Quinn McNemar发表McNemar测试[1]大约一年后,Edwards[2]提出了一个连续性修正版本,这是当今更常用的变体:
<

麦克内马尔检验是一种用于比较配对名义数据的统计方法,尤其适用于评估机器学习模型的性能差异。它基于2x2列联表,通过计算卡方统计量和p值来判断两个模型的预测效果是否有显著差异。当样本量较小或不适用卡方分布时,可以采用精确的二项检验。在示例中,通过mlxtend库展示了如何在Python中执行麦克内马尔检验,以判断模型之间的性能是否相等。

4582

被折叠的 条评论
为什么被折叠?



