如何测试模型的预测能力?

机器算法验证 预测模型
2022-04-08 02:18:02

我想建立一个模型来预测实验的结果。

我的预测模型给出的分数范围为 1 到 100 个值。

我想测试我的预测分数是否可用于将实验结果分类为“好”或“坏”组。

在实验上,我们做了 1000 个实验。使用我的预测模型,我有 1000 个分数。

要测试我的预测模型在统计上是否可以接受,我应该怎么做?我已经对这些 1000 X 2 数据进行了 ROC 和灵敏度测试。

绘制了所有 1000 个实验数据和预测分数的 ROC。通过查看绘图的 AUC 值(敏感性与 1-特异性),AUC=0.64。

假设我的预测分数的截止值为 5,即实验结果很可能是“好”,分数 > 5 可能有“坏”的实验结果。我计算我的预测模型的丰富度,即没有。真正的“好”结果/没有。预测分数 < 5。

我在这里做错了吗?

我还应该做什么来检查模型的预测能力?

2个回答

不幸的是,ROC、敏感性、特异性和临界值已经成为阻碍。假设“好”和“坏”之间没有任何关系,并且实验的成功不是基于应该形成因变量的潜在连续统一体,那么似乎需要一个概率模型,如逻辑回归。您可能需要进行重新抽样,以获得对模型未来可能表现的公正评估。请注意,即使接收者操作特征曲线很少适合,但它的面积(也称为来自 Wilcoxon-Mann-Whitney 检验的 c 指数或一致性概率)是纯预测歧视的一个很好的总结度量。另一方面,正确分类的百分比是一个不正确的评分规则,如果优化,将导致一个虚假的模型。

预测概率是你的朋友,如果有人强迫你做出二元决定,它们也是自包含的错误率。

AUC 是一个好的开始。您还可以计算正确分类的观察百分比,并且可以制作混淆矩阵

但是,您可以做的最好的一件事是使用“测试”数据集计算这些值,该数据集的观察结果并未用于训练模型。这是对预测模型的唯一真正测试。