У меня есть две проблемы с использованием пакета pROC для построения кривой ROC.Строка кривой ROC: 0.50 достоверная и перекрестная проверка
А. Уровень значимости или Р-значение вероятность того, что наблюдаемый образец площадь под кривой ROC обнаруживается, когда на самом деле, истинный (население) Площадь под кривой равна 0,5 (нулевая гипотеза: Площадь = 0,5). Если P мало (P < 0,05), то можно сделать вывод, что площадь под кривой ROC значительно отличается от 0,5, и поэтому имеются доказательства того, что лабораторный тест имеет возможность различать эти две группы.
Поэтому я хотел бы рассчитать, отличается ли определенная область от кривой ROC от 0,50. Я нашел коды, использующие пакет pROC, для сравнения двух кривых ROC следующим образом, но не уверен, как тестировать, если он равен 0,5.
library(pROC)
data(aSAH)
rocobj1 <- plot.roc(aSAH$outcome, aSAH$s100,
main="Statistical comparison",
percent=TRUE, col="#1c61b6")
rocobj2 <- lines.roc(aSAH$outcome, aSAH$ndka,
percent=TRUE, col="#008600")
testobj <- roc.test(rocobj1, rocobj2)
text(50, 50,
labels=paste("p-value =", format.pval(testobj$p.value)),
adj=c(0, .5))
legend("bottomright", legend=c("S100B", "NDKA"),
col=c("#1c61b6", "#008600"), lwd=2)
B. я сделал к-кратная кросс-проверка для моей задачи классификации. Например, 5-кратная перекрестная проверка даст 5 кривых ROC. Затем, как построить среднее из этих 5 ROC-кривых с использованием пакета pROC (что я хочу сделать, объясняется на этой веб-странице, но делается в Python: enter link description here)? Другое дело, можем ли мы получить доверительный интервал и лучший порог для этой средней кривой ROC (что-то вроде кодов, реализованных ниже)?
rocobj <- plot.roc(aSAH$outcome, aSAH$s100b,
main="Confidence intervals",
percent=TRUE, ci=TRUE, # compute AUC (of AUC by default)
print.auc=TRUE) # print the AUC (will contain the CI)
ciobj <- ci.se(rocobj, # CI of sensitivity
specificities=seq(0, 100, 5)) # over a select set of specificities
plot(ciobj, type="shape", col="#1c61b6AA") # plot as a blue shape
plot(ci(rocobj, of="thresholds", thresholds="best")) # add one threshold
Refs:
http://web.expasy.org/pROC/screenshots.html
http://scikit-learn.org/0.13/auto_examples/plot_roc_crossval.html
http://www.talkstats.com/showthread.php/14487-ROC-significance
http://www.medcalc.org/manual/roc-curves.php
Это действительно должно быть 2 разных вопроса. – Calimo