校准
为了完整起见,这里有另外两种生成校准图的方法:第一种是使用 Nattino 等人介绍的校准带。(2014),纳蒂诺等人。(2016)和 Nattino 等人。(2017)。简而言之,他们使用要评估的模型的预测概率将阶多项式逻辑函数(使用参数是使用由似然比统计控制的标准前向选择程序来选择的,该统计量说明了用于选择的前向过程。校准带可用于内部和外部校准。该过程在Stata中实现(123mm≥2mmcalibrationbelt) 和 R (包givitiR)。以下是使用挑战者数据的示例:
# Challenger Shuttle Challenger temp vs oring-ok
dat <- data.frame(y=c(0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1,
0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1),
x=c(53, 57, 58, 63, 66, 67, 67, 67, 68, 69, 70, 70,
70, 70, 72, 73, 75, 75, 76, 76, 78, 79, 81))
fit <- glm(y ~ x, data=dat, family=binomial)
preds_p <- predict(fit, type = "response")
cb <- givitiCalibrationBelt(o = dat$y, e = preds_p , devel = "internal", confLevels = c(0.95, 0.8))
plot(cb, main = "", las = 1, ylab = "Observed probabilities", xlab = "Model probabilities", table = FALSE)

身份线显示为红色。浅灰色区域是 80% 置信校准区间,而深灰色区域是 95% 置信区间。理想情况下,红线在整个概率范围内都在腰带内。在示例中,置信区间很大:校准带在校准方面显示出很大的不确定性。由于红线位于区间内,我们不能拒绝良好校准模型的假设。
为了更好地说明校准带,让我们看一下校准良好模型的校准带:

在这里,置信区间要窄得多。因为红色标识线在整个范围内都位于带内,所以它几乎没有提供错误校准的证据。
作为其他一些答案,在 R 包中实现的第二种方法rms依赖于拟合预测和观察概率的非参数平滑器。它还绘制了基于 bootstrap 的偏差校正估计。详细信息可以在 Harrel (2015)中找到。4
library(rms)
mod <- lrm(y~x, dat = dat, x = TRUE, y = TRUE)
res <- calibrate(mod, B = 10000)
plot(res)

该模型似乎低估了低于的概率,而高估了的概率。但同样,由于样本量小,不确定性很大。0.750.75
残差
广义线性模型有许多类型的残差,但它们的解释通常很困难。一种可能性是查看 R 包中实现的基于模拟的分位数残差DHARMa。这是使用与上述相同数据的示例:
fit <- glm(y ~ x, data=dat, family=binomial)
simres <- simulateResiduals(fit, n = 1e4, seed = 142857)
plot(simres)

这些残差的好处是它们可以被解释为线性回归模型的“通常”残差。左侧显示了残差的 QQ 图。在右侧,残差是针对预测值绘制的。在这两种情况下,似乎都没有证据表明存在问题。
[1]: Nattino, G.、Finazzi, S. 和 Bertolini, G. (2014)。一种新的校准测试和校准带的重新评估,用于评估基于二分结果的预测模型。医学统计,33(14),2390-2407。
[2]: Nattino, G.、Finazzi, S. 和 Bertolini, G. (2016)。一种新的测试和图形工具,用于评估逻辑回归模型的拟合优度。医学统计,35(5),709-720。
[3]: Nattino, G.、Lemeshow, S.、Phillips, G.、Finazzi, S. 和 Bertolini, G.(2017 年)。使用校准带评估二分结果模型的校准。统计杂志,17(4),1003-1014。
[4]:哈雷尔,FE(2015 年)。回归建模策略:应用于线性模型、逻辑和序数回归以及生存分析(第 3 卷)。纽约:斯普林格。