如何计算 Precision & Recall 的置信区间(来自信号检测矩阵)?

机器算法验证 统计学意义 置信区间 信号检测
2022-03-28 04:08:27

我构建了一个检测器来检测二元结果,然后从总体中随机抽取样本。由此,我可以创建一个信号检测/混淆矩阵(命中、未命中、误报、正确拒绝)[又名:TP、FP、FN、TN],然后计算召回率和精度等指标。

我的问题:您如何计算我抽样的总体的召回率和精度的置信区间?

我在想这个公式: p - z * sqrt(p*(1-p)/n) < p < p + z * sqrt(p*(1-p)/n)

其中 p = 统计量(例如,召回)和 z = 所需置信度的 z 分数

4个回答

我将总结其他两个答案所概述的方法。

  1. 由@marsu 建议。假设您的混淆矩阵具有多项分布,则的分布是二项式的。和召回的对称 beta 先验,即然后给定您的数据后验并且然后,您可以使用软件计算适当的置信区间,如下所述:计算 beta 分布均值的置信区间CM(n;π)TPprp,rBeta(λ,λ)Dpp|DBeta(TP+λ,FP+λ)rr|DBeta(TP+λ,FN+λ).

  2. 由@fred 建议。进行替换采样来生成数据集。对于每个适合您的分类器,并计算混淆矩阵对于每个计算精度,这些量的置信区间可以直接从引导分布计算。DnDDnCnCnpnrn

这里的答案建议使用自举统计;我们在我的工作地点做过这件事,而且似乎做对了。

分类中准确率和召回率的置信区间

请注意,@Marsu_建议的论文中描述的方法是贝叶斯而不是常客。这意味着,尽管文章声称,它提供的区间是可信区间,而不是置信区间;事实上,这些在解释上是非常不同的。

贝叶斯方法假设感兴趣的参数是具有先验分布的随机变量,并且可信区间边界固定为包含该参数的后验分布的给定概率质量。先验是通过推理问题外部的一些考虑来选择的;文章本身提出了几种选择。

从频率论者的角度来看,参数是常数,区间界限是随机变量;置信水平表示如果从分布中多次重新抽取样本,则参数的真实值平均多久会落入结果置信区间。

有关更多信息,请参阅可信区间置信区间:含义和解释

因此,正确置信区间的唯一剩余选择似乎是基于重采样的方法,例如其他人提出的 bootstrap 或 jackknife。