仅基于这些敏感性和特异性值,最佳决策方法是什么?

机器算法验证
2022-04-01 20:37:56

如果我有以下sensitivityspecificity价值观,在这种情况下我们可以说的最佳决定是什么?

sensitivity     specificity
-----------     -----------
  66.3             74.7
  87.2             65.9
  56.4             76.4
  79.5             94.3

谢谢。

2个回答

要做出最佳决策,您需要了解有关个人的所有相关数据(用于估计结果的概率)以及做出每个决策的效用(成本、损失函数)。敏感性和特异性不提供此信息。这就是为什么直接概率模型(例如二元逻辑模型)如此受欢迎的原因。例如,如果您估计给定年龄、性别和症状的疾病概率为 0.1,并且假阳性的“成本”等于假阴性的“成本”,您会认为该人没有这种病。鉴于其他实用程序,您可能会做出不同的决定。如果实用程序未知,

除了临界值不适用于个人,仅适用于群体这一事实之外,个人决策也没有利用敏感性和特异性。对于个人,我们可以计算我们不关心的人会很困惑当他们已经知道所以它不再是一个随机变量。Prob(Y=1|X=x)Prob(Y=1|X>c)X=xProb(X>c|future unknown Y)X=x

即使需要进行群体决策,也可以绕过敏感性和特异性。例如,对于大众营销,您可以根据购买产品的估计概率对订单个人进行排名,以创建提升曲线。然后将其用于针对个最有可能的买家,其中被选择以满足总计划成本限制。kk

在此处输入图像描述

正如尼克已经指出的那样,答案取决于上下文。但是,如果您只需要根据您提供的敏感性和特异性值进行判断,那么一个好的策略是在 y 轴上绘制敏感性,在 x 轴上绘制特异性并查看为最左边的最高点。这一点将是您可能想要选择的敏感性和特异性对。但请记住,领域知识对最终决定有着巨大的影响。这是为您工作的 R 代码:(100%)

R> sens <- c(66.3, 87.2, 56.4, 79.5)
R> spec <- c(74.7, 65.9, 76.4, 94.3)
R> df <- data.frame(y=sens, x=(100-spec))
R> df
     y    x
1 66.3 25.3
2 87.2 34.1
3 56.4 23.6
4 79.5  5.7
R> df <- df[order(df$x), ]
R> df
     y    x
4 79.5  5.7
3 56.4 23.6
1 66.3 25.3
2 87.2 34.1  

R> plot(x = df$x, y = df$y, type = "b", 
     pch = 20, lty="solid", lwd = 2, 
     main = "Sensitiviy and (100-Specificity) Curve", 
     xlab = "100 - Specificity", ylab = "Sensitivity")

因此,您会选择 79.5、94.3 的敏感性和特异性对。

基本理念:真阳性数高,假阳性数低!