如何获得ROC精度的95%置信区间?

时间:2020-08-02 16:40:57

标签: r roc

我已经通过pROC软件包获得了AUC值和95%的置信区间,但是我想知道如何获得准确度的95%的置信区间?

data(aSAH)
myroc <- roc(aSAH$outcome, aSAH$s100b)
myroc
ci.thresholds(myroc, thresholds = "best")
ci.auc(myroc)

结果

Call:
roc.default(response = aSAH$outcome, predictor = aSAH$s100b)

Data: aSAH$s100b in 72 controls (aSAH$outcome Good) < 41 cases (aSAH$outcome Poor).
Area under the curve: 0.7314
> ci.thresholds(myroc, thresholds = "best")
95% CI (2000 stratified bootstrap replicates):
 thresholds sp.low sp.median sp.high se.low se.median se.high
      0.205 0.7083    0.8056  0.8889 0.4878    0.6341  0.7805
> ci.auc(myroc)
95% CI: 0.6301-0.8326 (DeLong)

1 个答案:

答案 0 :(得分:2)

您没有指定要计算精度的阈值。我将展示如何获得“最佳”阈值,就像您对敏感性和特异性一样。

pROC软件包有一个coords,它可以计算许多不同的度量,例如准确性。例如,您可以这样做:

coords(myroc, x = "best", ret = "accuracy", transpose = FALSE)

您可以使用ci.coords函数获得所有这些量度的置信区间:

ci.coords(myroc, x = "best", ret = "accuracy", transpose = FALSE)