了解二元响应回归图

Understanding Graph of Binary Response Regression

请参考这张图:

我相信它是使用 R 或 SAS 或其他东西生成的。我想确保我理解它所描述的内容并从头开始重新创建它。

我了解左侧的 ROC 曲线,并且我在不同的阈值下使用概率模型生成了自己的曲线。

我不明白的是右手边的图。 'cost' 函数是什么意思?单位是什么?我假设标记为 'threshold' 的 x 轴是我在 ROC 中使用的成功截止阈值。我唯一的猜测是 Y 轴是残差平方和?但如果是这样的话,我必须在每次迭代阈值后得到残差吗?

请解释轴是什么以及如何计算它们。

--编辑-- 为清楚起见,我不需要证明或一行代码。因为我使用不同的统计软件,所以让某人从概念上(使用最少的行话)解释如何计算 Y 轴会更有用。这样我就可以用我的软件语言来编写它。

谢谢

我会尽量说清楚。术语成本函数可以在多种情况下使用,它可以有多种含义。通常,当我们在回归模型的上下文中使用该术语时,我们自然会想到最小化残差平方和。

然而,不是这里的情况(我们仍然这样做是因为我们对最小化函数感兴趣,但该函数在算法中并没有被最小化,比如平方残差)。让我详细说明第二张图的含义。

正如@oshun 正确提到的 R-blogger post 的作者(这些图来自哪里)想要找到一个度量(即一个数字)来比较分类的 "mistakes"在不同的阈值点。为了做到这一点并创建这些措施,他做了一些非常直观和简单的事情。他计算了不同级别阈值的误报和漏报。他使用的函数是:

sum(df$pred >= threshold & df$survived == 0) * cost_of_fp + #false positives
sum(df$pred <  threshold & df$survived == 1) * cost_of_fn   #false negatives

我故意把上面的分成两行。第一行计算误报(预测 >= 阈值意味着算法将乘客分类为幸存者但实际上他们没有 - 即幸存者等于 0)。第二行做同样的事情,但计算假阴性(即那些被预测为未存活但实际上存活的那些)。

现在让我们来看看 cost_of_fpcost_of_fn 是什么。这些只不过是权重,由用户任意设置。在上面的例子中,作者使用了 cost_of_fp = 1cost_of_fn = 3。这仅意味着就成本函数而言,假阴性比假阳性重要 3 倍。因此,在成本函数中,任何假阴性都乘以 3,以增加假阳性 + 假阴性的数量(这是成本函数的结果)。

综上所述,上图中的y轴就是:

false_positives * weight_fp + false_negatives * weight_fn

对于阈值的每个值(用于计算false_positives和false_negatives)。

我希望现在一切都清楚了。