有许多指标可以评估预测模型的性能。其中许多对我来说似乎相对简单(例如准确性、Kappa、AUC-ROC 等),但我不确定 McNemar 测试。 有人可以帮助我理解 McNemar 检验在预测模型列联表上的解释吗? 这是应用并从 R 函数返回的 P 值caret::confusionMatrix
。我读到的关于 McNemar 的所有内容都谈到了“治疗”前后的比较。在这种情况下,我将比较预测类与已知测试类。我是否正确地将显着的 McNemar 测试解释为测试类和预测类之间的类比例不同?
第二个但更普遍的后续问题是,这个因素应该如何解释预测模型的性能?例如,如下面的第一个示例所示,在某些情况下,75% 的准确率可能被认为很好,但预测类别的比例可能不同(假设我对重要的 McNemar 测试的理解是准确的)。如何处理这种情况?
最后,如果课程更多或涉及更多,这种解释会改变吗?例如 3x3 或更大的列联矩阵。
提供一些从此处反映的可重现示例:
#significant p-value
mat <- matrix(c(661,36,246,207), nrow=2)
caret::confusionMatrix(as.table(mat))
> caret::confusionMatrix(as.table(mat))
Confusion Matrix and Statistics
A B
A 661 246
B 36 207
Accuracy : 0.7548
95% CI : (0.7289, 0.7794)
No Information Rate : 0.6061
P-Value [Acc > NIR] : < 2.2e-16
Kappa : 0.4411
Mcnemar's Test P-Value : < 2.2e-16
... truncated
# non-significant p-value
mat <- matrix(c(663,46,34,407), nrow=2)
caret::confusionMatrix(as.table(mat))
Confusion Matrix and Statistics
A B
A 663 34
B 46 407
Accuracy : 0.9304
95% CI : (0.9142, 0.9445)
No Information Rate : 0.6165
P-Value [Acc > NIR] : <2e-16
Kappa : 0.8536
Mcnemar's Test P-Value : 0.2188
... truncated