如何选择最佳指标来测量校准?


10

我编程并进行测试驱动的开发。在更改代码后,我将运行测试。有时他们成功,有时他们失败。在我运行测试之前,我写下一个从0.01到0.99的数字,以表示我相信测试会成功。

我想知道我在预测测试成功还是失败方面是否有所进步。如果我可以跟踪我是否更擅长预测测试在星期一还是星期五成功,那也将是很好的。我想知道,如果我预测测试成功的能力与我跟踪的其他指标相关。

剩下的工作就是选择正确的指标。在超级预测中,Philip Tetlock建议使用Brier分数来衡量专家的校准水平。文献中提出的另一种度量是对数评分规则。还有其他可能的候选人。

如何确定要使用的指标?是否有理由赞成一种计分规则而不是其他计分规则?


1
衡量预测技能变化的潜在困难根源是预测问题的根本难度可能会发生变化。您的技能变化与问题难度的变化可能无法区分。
马修·冈恩

Answers:


1

我假设您正在为代码进行单元测试。

我可以想到的一个想法(可能无法完全满足您的期望)是使用线性模型。

这样做的好处是,您可以创建许多其他变量,可以将它们包括在分析中。

假设您有一个向量,其中包括测试的结果;另一个向量,其中包括您对结果的预测。XYx

现在您可以简单地拟合线性模型

yi=a+bxi+ϵ

找到的值的值越高会指示你的预测变得更好。bbb

使该方法更好的原因是,现在您可以开始添加一堆其他变量,以查看是否可以创建更好的模型,这些变量可以帮助做出更好的预测。变量可以指示一周中的某天,例如,星期一始终为1,其他所有日期均为零。如果在模型中包含该变量,则会得到:

yi=a+aMonday+bxi+ϵ

而且,如果变量有意义且为正数,则可能意味着您对星期一的预测更为保守。aMonday

您还可以创建一个新变量,在其中给出分数以评估您执行的任务的难度。如果您具有版本控制,则可以例如将代码行数用作难度,即,编写的代码越多,发生问题的可能性就越大。

其他变量可能是,当天的咖啡杯数,即将到来的截止日期的指标,这意味着完成工作的压力更大等。

您还可以使用时间变量来查看您的预测是否有所改善。另外,您在任务上花费了多长时间,或者在任务上花费了多少会话,无论您是在进行快速修复,还是草率等等。

最后,您将获得一个预测模型,您可以在其中尝试预测成功的可能性。如果您设法创建它,那么也许您甚至不必做出自己的预测,您只需使用所有变量,就可以确定一切是否可行。

问题是您只需要一个数字。在这种情况下,您可以使用我在开始时介绍的简单模型,仅使用斜率,然后对每个时期重做计算,然后可以查看该分数随时间的变化趋势。

希望这可以帮助。


1
我认为较高的斜率(在您的简单模型中为)并不总是对应于更好的预测:假设对数回归,如果 =“真实” /观察到的结果概率,而为预测概率,则应该为0,应该为1。更高的表示预测结果过高,而低于1则表明预测过低。我在答案中指向的参考文献中实际上描述了这种方法。简而言之,这种斜率方法很好用,但是接近1的斜率是最佳的(当 = 0时)。Y x a b b b abYxabbba
IWS

@IWS感谢您的投入,在您希望使用单个值来估计性能的范围内,我同意您的观点,然后省略截距是一个好主意。如果您想尝试进一步解释数据(并且您已经拥有足够的数据),那么添加拦截并比较模型可能是一个好主意。
Gumeo

1

尽管这还远远没有一个答案,更不是一个参考,但检查Steyerberg E-Epidemiology 2012是一个好主意。

在本文中,Steyerberg及其同事解释了检查具有二进制结果(成功或失败)的模型的预测模型性能的不同方法。校准只是这些措施之一。根据您是希望获得准确的概率准确的分类还是准确的重新分类,您可能希望使用不同的模型性能度量。即使此手稿涉及用于生物医学研究的模型,我仍认为它们也可以适用于其他情况(您的情况)。

更具体地来说,校准指标确实很难解释,因为它们会在整个可能的预测范围内汇总(即平均)校准。因此,您的校准总结分数可能很高,而您的预测却在重要的预测概率范围内(例如,可能的分数较低(=好),而成功的预测则在一定值以上或以下)预测概率),反之亦然(总结得分低,而预测在关键区域已得到很好的校准)。因此,我建议您考虑一下您的案例中是否存在如此关键范围的成功预测概率。如果是这样,请使用适当的措施(例如,重新分类索引)。如果不是(表示您对整体校准感兴趣),请使用brier,

总而言之,任何一种校准摘要度量都需要您第一步来绘制预测概率与观测概率的关系图(例如,请参见异常值的答案)。接下来,可以计算汇总量度,但是汇总量度的选择首先应该反映预测失败成功的目标。


0

我已经完成了稀疏数据的预测模型,在这些情况下校准模型是一个很大的挑战。我会告诉你我做了什么,您可以从中获得一些帮助。

我做了20个箱的预测概率,并尝试绘制平均成功预测概率和实际概率。对于平均预测概率,我取了bin范围的平均值。对于平均实际概率,我计算了垃圾箱中的实际成功和失败次数,从中我可以得出垃圾箱中的实际(中位数)成功概率。为了减少离群值的影响,我删除了最高和最低5%的数据,然后再获取每个bin中的实际中值概率。

一旦获得这些信息,就可以轻松绘制数据。


应当指出,这是计算Hosmer-Lemeshow拟合优度的第一步。
jwimberley
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.