Вычисление коэффициента AUC в R

#r #roc #auc

#r #ОКР #auc

Вопрос:

Я создаю модели экологических ниш для набора видов, и я хотел бы использовать AUC в качестве показателя качества экологической ниши. Стивен Филлипс, который разработал Maxent, предоставляет в своем руководстве Maxent код для вычисления AUC в R. Тем не менее, я читаю статьи, в которых сообщается о частичных коэффициентах AUC как о более надежной и концептуально обоснованной метрике. Я думаю, что понимаю, как рассчитать частичный AUC с использованием пакета ROCR R, но как рассчитать коэффициент AUC?

Вот обучающий скрипт от Phillips:

 presence<-read.csv("bradypus_variegatus_samplePredictions.csv")
background<-read.csv("bradypus_variegatus_backgroundPredictions.csv")
pp<-presence$Logistic.prediction
testpp<-pp[presence$Test.or.train=="test"]
trainpp<-pp[presence$Test.or.train=="train"]
bb<-background$logistic

combined<-c(testpp,bb)
label<-c(rep(1,length(testpp)),rep(0,length(bb)))
pred<-prediction(combined,label)
perf<-performance(pred,"tpr","fpr")
plot(perf,colorize=TRUE)
performance(pred,"auc")@y.values[[1]] #RETURNS AUC

AUC<-function(p,ind){
    pres<-p[ind]
    combined<-c(pres,bb)
    label<-c(rep(1,length(pres)),rep(0,length(bb)))
    predic<-prediction(combined,label)
    return(performance(predic,'auc')@y.values[[1]])
}

b1<-boot(testpp,AUC,100) #RETURNS AUC WITH STANDARD ERROR
b1
  

Любые советы или предложения будут с благодарностью приняты! Спасибо.

Ответ №1:

Не зная специфики вашего набора данных и приложения,

  • Частичный AUC: площадь только под частью кривой. (обычно выбирается, потому что он более надежный или желательный, как вы сказали)
  • Коэффициент AUC: отношение одного AUC к другому. (обычно это какая-то ссылка)

Soo…

  • Коэффициент частичного AUC: отношение одного частичного AUC к другому.

Комментарии:

1. Итак, вы хотите сказать, что коэффициент AUC на самом деле не является показателем качества одной нишевой модели, а скорее показателем при сравнении нескольких результатов моделирования с некоторым изменением определенного параметра?

2. Правильно, как я вижу, он используется в целом. Однако все еще возможно, что в вашей области есть какое-то более конкретное значение. Я ничего не знаю об экологических нишевых моделях, поэтому, к сожалению, я ничем не могу помочь. В любом случае, вот пример того, как я обычно вижу его использование, на случай, если это поможет: drug-interactions.eu/eng/AUC.htm

3. Хорошо, вы, вероятно, правы. Я думаю, что, возможно, я неправильно понял, что они пытались показать с помощью коэффициентов AUC в статье, которую я читал. Спасибо за разъяснение!

Ответ №2:

ROCR пакета может вычислять частичные значения AUC с использованием fpr.stop= параметра. Как сказал Джон, отношение — это просто это значение, деленное на тот же расчет для вашей эталонной модели.