逻辑模型的RMSE(均方根误差)


10

我对使用RMSE(均方根误差)比较不同逻辑模型的有效性存在疑问。响应为01,并且预测为0- 之间的概率1

以下应用的方式对二进制响应也有效吗?

# Using glmnet
require(glmnet)
load(url("https://github.com/cran/glmnet/raw/master    /data/BinomialExample.RData"))
cvfit = cv.glmnet(x, y, family = "binomial", type.measure = "mse")
A <- predict(cvfit, newx = x, s = "lambda.min", type = "response")
RMSE1 <- mean((y - A)^2)
# 0.05816881

# glm
mydata <- read.csv("https://stats.idre.ucla.edu/stat/data/binary.csv")
mydata$rank <- factor(mydata$rank)
mylogit <- glm(admit ~ gre + gpa + rank, data = mydata, family = "binomial")
AAA <- predict(mylogit, newdata = mydata, type = "response")
RMSE2 <- mean((mydata$admit - AAA)^2)
# 0.194714

1
在这种情况下,它被称为布来得分,看到actuaries.org/ASTIN/Colloquia/Hague/Papers/Lo.pdf

Answers:


14

要了解“为什么响应是- 01预测结果是0- 之间的概率1”,您需要了解使用的模型类型。除去惩罚方法和交叉验证,即可运行基本的逻辑回归。这些参数适合对数几率/逻辑量表。这被称为“线性预测器”。(有关此内容的更多信息,它可能会帮助您在此处阅读我的答案:logit模型和概率模型之间的区别。)如果插入x值并进行了简化,则该值将是模型预测的“成功” 几率自然对数1)。如果对那个值取幂,将获得模型的预测赔率的“成功”。为了获得预测的概率,您需要通过赔率/(1 + odds)将赔率转换为概率。(有关此内容的更多信息,它可能会帮助您在这里阅读我的答案:逻辑回归中简单预测对比值比的解释。)这仍然不能帮助您进入预测。为此,您需要将预测概率与某个阈值进行比较,如果小于阈值,则预测为“失败”(0),否则为“成功”(1)。最常见的默认阈值为.5,但这通常不是最佳的。R的predict.glm()功能将允许您使用type="link",它会输出线性预测变量范围内的预测(即,在上述所有转换之前),但是在这种情况下对您没有帮助。使用type="response"可为您提供预测的概率。


当您尝试评估二进制(例如,逻辑)回归模型预测响应的程度时,您有几种选择:

  1. 第一个也是最直观的方法是将预测的类别与观察到的类别进行比较,并计算正确百分比。尽管直观,但存在问题。除了适当地拟合模型的其他方面之外,它还部分取决于最佳阈值。它还会丢掉很多信息(例如,预测概率离阈值有多远),这不是一件好事。
  2. 下一个选择是使用“接收器工作特性”(ROC)曲线下的区域。大多数人使用此选项。它比使用正确的百分比要好得多。但是,大多数人没有意识到的AUC问题是,它实际上是在测量您的预测的适当顺序,而不是其实际准确性。也就是说,如果您对的四个观测值都有预测的概率.2, .4, .6, .8,并且对所有这些观测值都添加了.01(.21, .41, .61, .81),则即使两组预测的概率不能同样准确,AUC也会相同。
  3. 评估模型的第三种方法是使用适当的得分函数。在您的上下文中,最受欢迎的评分功能可能是Brier评分。如@fcoppens所述,代码中的方法是Brier分数。它将不仅评估模型是否适当地预测一个观察比另一个观察更可能是“成功”,而且还将评估该模型的预测概率实际上是否正确。

不幸的是,布里尔分数很少为人所知和使用。尽管这些方法的相对直观性是:正确率> AUC> Brier分数,但它们的真实信息却相反:Brier得分> AUC>正确率。如果只希望简单地衡量模型的性能,则这些方法之间的区别就不那么重要了,但是,如果您想使用这些方法来优化模型或选择模型,则使用劣等方法会导致性能降低。


1

如果错误项的均值零为正态分布,则使用RMSE更有意义,但对于二进制结果,则不是。因此,我认为您应该使用适合自己的二进制结果的不同方法,例如比较可能性差异。

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.