比较模型之间校准的统计方法

机器算法验证 r 机器学习 物流 校准 计分规则
2022-03-14 08:13:58

这似乎是一个常见问题,但我找不到解决方案。

我有一组二元观察和两个不同的模型,每个模型都有每个观察的预测。我想比较模型的校准。

有几种方法可以比较这些模型的区分度(即参见 R 中 pROC 包中的 roc.test),但没有比较校准的方法。大多数实证论文只是列出了来自两个不同校准测试的 p 值,这些测试测试每个模型的校准是否关闭(即 Hosmer-Lemeshow,Brier 分数)。

我正在寻找的是两个模型之间校准的直接统计比较。

这是一个极端的测试数据集。Brier 检验、Spiegelhalter Z 检验等的值都支持 p2 得到了更好的校准,我们知道确实如此。任何人都可以将其作为正式的统计测试吗?

library("pROC")
y <- rbinom(100,1,1:100/100)
p1 <- 1:100/10001
p2 <- 1:100/101
val.prob(p1,y)
val.prob(p2,y)
2个回答

如您所知,Brier 分数衡量校准并且是均方误差,B¯=n1(y^iyi)2,在预测之间,y^,和回应,y. 由于 Brier 分数是平均值,因此比较两个 Brier 分数基本上是平均值的比较,您可以随心所欲地使用它。我将提出两件事并指出第三件事:

一种选择:进行 t 检验

当我听到均值比较时,我的第一反应是进行 t 检验。平方误差通常可能不是正态分布的,因此这可能不是最强大的测试。在你的极端例子中似乎很好。p1下面我检验MSE 大于的备择假设p2

y <- rbinom(100,1,1:100/100)
p1 <- 1:100/10001
p2 <- 1:100/101

squares_1 <- (p1 - y)^2
squares_2 <- (p2 - y)^2

t.test(squares_1, squares_2, paired=T, alternative="greater")
#> 
#>  Paired t-test
#> 
#> data:  squares_1 and squares_2
#> t = 4.8826, df = 99, p-value = 2.01e-06
#> alternative hypothesis: true difference in means is greater than 0
#> 95 percent confidence interval:
#>  0.1769769       Inf
#> sample estimates:
#> mean of the differences 
#>               0.2681719

我们得到一个超低的 p 值。我进行了配对 t 检验,作为观察观察,两组预测与相同的结果进行比较。

另一种选择:置换测试

如果平方误差的分布让您担心,也许您不想做出 t 检验的假设。例如,您可以使用置换检验来检验相同的假设:

library(plyr)

observed <- mean(squares_1) - mean(squares_2)
permutations <- raply(500000, {
  swap <- sample(c(T, F), 100, replace=T)
  one <- squares_1
  one[swap] <- squares_2[swap]

  two <- squares_2
  two[swap] <- squares_1[swap]

  mean(one) - mean(two)
})

hist(permutations, prob=T, nclass=60, xlim=c(-.4, .4))
abline(v=observed, col="red")

# p-value. I add 1 so that the p-value doesn't come out 0
(sum(permutations > observed) + 1)/(length(permutations) + 1) 
#> [1] 1.999996e-06

这两个测试似乎非常吻合。

其他一些答案

快速搜索该站点上的 MSE 比较指向Diebold-Mariano 测试(请参阅此处的答案和此处的评论)。这看起来只是Wald 检验,我猜它的性能类似于上面的 t 检验。

供将来参考,IMO 的第一个答案并未解决校准问题。考虑预测y^1,y^2...,y^n由一个合理的、经过良好校准的输入值模型制成x1,x2,...,xn. 现在考虑第二组预测y~1,y~2,...,y~n它们是由一个模型制作的,该模型简单地对两个类中第一个模型的预测进行打乱,并以随机顺序输出它们。与第一个校准良好的模型相比,第二个模型可能校准不佳,但两个模型的 brier 分数将相同。

如原始问题所述,我建议查看 Hosmer-Lemeshow 检验,并比较为两个模型中的每一个的预测计算的 HL 检验统计量(较大的 HL 统计量表明校准较差)。