Как получить 95% доверительный интервал точности RO C? - PullRequest
1 голос
/ 02 августа 2020

Я получил значение AU C и 95% доверительный интервал с помощью пакета pRO C, но я хочу знать, как получить 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 Ответ

2 голосов
/ 02 августа 2020

Вы не указываете, на каком пороге вы хотите рассчитать точность. Я покажу, как получить его для «наилучшего» порога, как вы это делали для чувствительности и специфичности.

В пакете pRO C есть coords, который может вычислять множество различных показателей, например, точность. Например, вы можете:

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

Вы можете получить доверительные интервалы всех этих мер с помощью функции ci.coords:

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