使用适当的评分规则从逻辑回归中确定类成员

机器算法验证 r 物流 分类 损失函数 计分规则
2022-04-03 04:51:35

我正在使用逻辑回归来预测事件发生的可能性。最终,这些概率被放入生产环境中,我们尽可能地专注于实现我们的“是”预测。因此,除了我们用于告知这一确定的其他措施外,了解什么是确定的“命中”或“非命中”可能是先验的(在生产中运行之前)对我们很有用。

我的问题是,根据预测概率预测确定类 (1,0) 的正确方法是什么?具体来说,我使用 R 的glmnet包进行建模。该软件包任意选择 0.5 概率作为是或否的阈值。我相信我需要根据预测的概率得出正确的评分规则的结果,以推断出一个确定的类别。我的建模过程示例如下:

mods <- c('glmnet', 'scoring')
lapply(mods, require, character.only = T)

# run cross-validated LASSO regression
fit <- cv.glmnet(x = df1[, c(2:100)]), y = df1[, 1], family = 'binomial', 
type.measure = 'auc')

# generate predicted probabilities across new data
df2$prob <- predict(fit, type="response", newx = df2[, c(2:100)], s = 'lambda.min')

# calculate Brier score for each record
df2$propscore <- brierscore(df2[,1] ~ df2$prob, data = df2)

所以我现在对每个预测都有一系列 Brier 分数,但是我如何使用 Brier 分数来适当地加权每个可能性是或否?

我知道还有其他方法可以做出此决定,例如随机森林。

1个回答

您需要做的是“将模型投入生产”,即如您所说,要实际预测哪些情况会“是”,您需要的是损失函数你有两个可能的错误,当不是时说“是”,当是时说“否”。这些错误是否具有经济后果和相关成本?这些成本是否也取决于其他因素,例如某些特定的协变量值?然后,您将这些信息构建到成本函数中,您可以通过最小化预期成本来确定截止值。这是原则性的解决方案。