logit 模型的正确预测百分比

机器算法验证 r 物流 广义线性模型 解释 二进制数据
2022-04-11 05:40:23

在预测二元结果时,是否有标准方法来报告正确预测的百分比?在 r 中使用 glm,结果是预测的概率。但是,为了与另一个模型进行比较,我想从我的二元模型中报告一个正确预测值的百分比。我是否只是选择一个切点,如果是,如何选择?下面是一个简单的代码示例。

model.results <- glm(binary.outcome ~ predictor1 + predictor2, family=quasibinomial)

谢谢,

1个回答

@FrankHarrell 是正确的,准确率百分比不是逻辑回归试图优化的损失函数。因此,在某些情况下,根据(准)二项式似然的最佳模型也不是根据百分比准确度的最佳模型。

编辑添加:他在下面的评论中也正确地认为设置切点存在严重问题。我在下面提出的是一种解决方法,可以直观地了解百分比准确度,但避免在基础连续模型预测之间设置任意阈值。

另一方面,准确率百分比似乎也是一个完全合理的损失函数,可能值得了解逻辑回归如何使用它。百分比准确度可以更直观,并且不易受到异常值和偶尔出现很大偏差的预测的影响。

找到这个值非常简单。首先,找出模型分配给每个结果的概率:

probabilities <- predict(model.results, type = "response")

如果您的 glm 为每个响应翻转一堆有偏见的硬币,那么它将在这个百分比的时间内给出正面。然后你需要做的就是找出硬币以错误方式出现的时间比例。最简单的方法可能是:

1 - mean(abs(probabilities - binary.outcome))

你可以通过自己模拟有偏差的硬币翻转来向自己证明这给出了正确的答案rbinom