计算交叉验证二元分类器的置信区间

机器算法验证 分类 置信区间 交叉验证 p 值 自然语言
2022-04-15 10:12:08

我正在尝试一些用于二进制分类问题的模型。为了评估每个模型的性能,我使用了 10 次重复 10 倍交叉验证来计算 PR AUC(Precision-Recall 曲线下的面积)和许多其他指标。

我的教授希望我报告这些指标的置信区间以及模型 X 优于模型 Y 的结论的 p 值。这是统计机器翻译 (SMT) 实验(他的背景)中的标准做法,他们使用引导来计算这些(我的实验与 NLP 相关,但不是 SMT)。由于我使用重复的交叉验证来估计每个模型的性能,我不确定如何计算置信区间或 p 值。

这个问题类似,他们建议引导重新采样的平均值,但我不确定这意味着什么。这是正确的方法吗?如果是这样,任何人都可以更详细地解释如何做到这一点?

2个回答

由于您正在计算区域,请注意 AUROC 只是预测风险和观察到的二元结果之间所以你不需要进行分类。相反,您的结果可以只是预测的风险。有一些方法可以通过计算 c 的标准误差来获取索引的区间。但是 (AUROC) 不够敏感,无法提供良好的统计能力来比较两个模型。为此使用黄金标准似然比ccccχ2测试(如果模型是嵌套的)或计算两个正确概率准确性分数的差异。您还可以查看 AIC 以对非嵌套模型进行非正式比较。

正式测试是使用预先指定的模型完成的,并且不涉及任何重新采样,例如交叉验证。当出现更复杂的情况并且您使用重采样程序来公正地估计准确度分数时,事情会更加复杂,我们还没有完成所有的理论。总是有一个选项 - 使用计算密集型的双引导程序。 χ2F

总结:无论你做什么来计算基于重复 CV 的置信区间,你都需要考虑到有几种不同的不确定性来源。


长版:让我添加关于重复交叉验证的 2 ct:

重复交叉验证允许您在测试结果中分离 2 个方差不确定性来源。

  1. 由于模型不稳定性引起的方差,即不同代理模型对同一案例的预测差异(即在代理模型的训练集中交换一些训练案例)和
  2. 由于有限(有限)数量的独立测试用例引起的方差

现在通常交叉验证假设模型是稳定的,即方差 1. 可以忽略不计。这个假设你可以很容易地检查。如果您发现它不可忽略,您通常会返回训练并尝试在做其他任何事情之前稳定您的模型。
方差 2 在很大程度上取决于独立案例的总数 = 在每次交叉验证运行中测试的独立案例的总数(如果您坚持分类而不是保持度量分数,通常情况会更糟)。

我指出这一点是因为重复交叉验证可以帮助估计和减少方差 1,但不会减轻方差 2——但在交叉验证的标准假设下,方差 2 应该占主导地位。
我怀疑这是VanWinckelen 发现“不应假定重复交叉验证对模型的预测准确性给出更精确的估计”的根本原因。

如果您不是使用手头的数据来描述您获得的模型,而是尝试找出一种算法或另一种算法是否更适合类似的应用程序,那么您有更多未知的不确定性来源,请参阅 Bengio 和 Grandvalet:No unbiased estimator of k折交叉验证的方差


免责声明:对于这些曲线下的区域,我不能说太多,因为对于我的应用,曲线经常是倾斜的,我宁愿考虑成对的品质因数,例如 sens 和 spec 或 PPV 和 NPV(或类似的评分规则给他们)。