Что означает AUC и что это такое?


228

Искал высоко и низко и не смог выяснить, что AUC, как в отношении прогноза, означает или означает.


8
Проверьте описание aucтега, который вы использовали: stats.stackexchange.com/questions/tagged/auc
Тим

4
Площадь под кривой (т. Е. Кривая ROC)
Андрей

7
Читатели здесь также могут быть заинтересованы в следующей теме: Понимание кривой ROC .
gung

11
Выражение «Поиск по высоким и низким» интересно, поскольку вы можете найти множество отличных определений / вариантов использования AUC, введя «AUC» или «Статистика AUC» в Google. Соответствующий вопрос, конечно, но это утверждение просто застало меня врасплох!
Behacad

3
Я сделал Google AUC, но многие из лучших результатов не указали явно AUC = Площадь под кривой. На первой странице Википедии, связанной с ней, она есть, но только на полпути вниз. Оглядываясь назад, это кажется довольно очевидным! Спасибо всем за некоторые действительно подробные ответы
Джош

Ответы:


309

Сокращения

AUC используется в большинстве случаев для обозначения AUROC, что является плохой практикой, поскольку, как отметил Марк Клазен, AUC неоднозначен (может быть любой кривой), а AUROC - нет.


Интерпретация AUROC

AUROC имеет несколько эквивалентных интерпретаций :

  • Ожидание, что равномерно нарисованный случайный позитив ранжируется перед равномерно нарисованным случайным негативом.
  • Ожидаемая доля позитивов ранжировалась до равномерно нарисованного случайного негатива.
  • Ожидаемый истинный положительный показатель, если рейтинг делится непосредственно перед равномерно нарисованным случайным отрицательным значением.
  • Ожидаемая доля негативов ранжировалась после равномерно нарисованного случайного позитива.
  • Ожидаемый уровень ложных срабатываний, если рейтинг делится сразу после равномерно проведенного случайного положительного результата.

Идем дальше: Как вывести вероятностную интерпретацию AUROC?


Вычисление AUROC

Предположим, у нас есть вероятностный двоичный классификатор, такой как логистическая регрессия.

Прежде чем представить кривую ROC (= кривая рабочих характеристик приемника), необходимо понять концепцию матрицы смешения . Когда мы делаем бинарный прогноз, может быть 4 типа результатов:

  • Мы прогнозируем 0, в то время как истинный класс на самом деле равен 0: это называется истинным отрицанием , т.е. мы правильно предсказываем, что класс отрицательный (0). Например, антивирус не обнаружил безвредный файл как вирус.
  • Мы прогнозируем 0, в то время как истинный класс на самом деле равен 1: это называется ложным отрицанием , то есть мы неправильно предсказываем, что класс отрицательный (0). Например, антивирус не смог обнаружить вирус.
  • Мы предсказываем 1, в то время как истинный класс на самом деле равен 0: это называется False Positive , то есть мы неверно предсказываем, что класс положительный (1). Например, антивирус рассматривал безвредный файл как вирус.
  • Мы предсказываем 1, в то время как истинный класс на самом деле равен 1: это называется True Positive , т.е. мы правильно предсказываем, что класс положительный (1). Например, антивирус по праву обнаружил вирус.

Чтобы получить матрицу путаницы, мы просматриваем все прогнозы, сделанные моделью, и подсчитываем, сколько раз происходит каждый из этих 4 типов результатов:

введите описание изображения здесь

В этом примере матрицы путаницы среди 50 классифицированных точек данных 45 классифицированы правильно, а 5 неправильно классифицированы.

Поскольку для сравнения двух разных моделей зачастую удобнее иметь одну метрику, чем несколько, мы вычисляем две метрики из матрицы путаницы, которую мы позже объединяем в одну:

  • Истинно положительный показатель ( TPR ), иначе. чувствительность, коэффициент попадания и отзыв , который определяется как . Интуитивно понятно, что этот показатель соответствует доле положительных точек данных, которые правильно считаются положительными, по отношению ко всем положительным точкам данных. Другими словами, чем выше TPR, тем меньше положительных данных мы пропустим.TPTP+FN
  • Ложноположительный показатель ( FPR ), иначе. выпадение , которое определяется как . Интуитивно эта метрика соответствует доле отрицательных точек данных, которые ошибочно считаются положительными, по отношению ко всем отрицательным точкам данных. Другими словами, чем выше FPR, тем больше отрицательных точек данных будут неправильно классифицированы.FPFP+TN

Чтобы объединить FPR и TPR в одну метрику, мы сначала вычисляем две бывшие метрики со многими различными пороговыми значениями (например, ) для логистической регрессии, затем строим их на одном графике, со значениями FPR на абсциссе и значениями TPR на ординате. Результирующая кривая называется кривой ROC, и метрика, которую мы рассматриваем, является AUC этой кривой, которую мы называем AUROC.0.00;0.01,0.02,,1.00

На следующем рисунке графически показан AUROC:

введите описание изображения здесь

На этом рисунке синяя область соответствует области под кривой рабочей характеристики приемника (AUROC). Пунктирной линией на диагонали мы представляем ROC-кривую случайного предиктора: она имеет AUROC 0,5. Случайный предиктор обычно используется в качестве базовой линии, чтобы увидеть, полезна ли модель.

Если вы хотите получить опыт из первых рук:


4
Блестящее объяснение. Спасибо. Один вопрос только для пояснения того, что я понимаю: правильно ли я сказал, что на этом графике сплошной синий квадрат будет иметь кривую ROC (AUC = 1) и будет хорошей моделью прогнозирования? Я предполагаю, что это теоретически возможно.
Джош

25
@ Джош Да, это так. AUROC находится в диапазоне от 0 до 1, а AUROC = 1 означает, что модель прогнозирования является идеальной. На самом деле, чем дальше AUROC от 0,5, тем лучше: если AUROC <0,5, вам нужно просто изменить решение, принимаемое вашей моделью. В результате, если AUROC = 0, это хорошая новость, потому что вам просто нужно инвертировать вывод вашей модели, чтобы получить идеальную модель.
Франк Дернонкур

1
ссылка "несколько эквивалентных интерпретаций" не работает.
Haitao Du

1
В интерпретациях AUROC «Ожидаемый процент ложных срабатываний, если рейтинг делится сразу после равномерно проведенного случайного положительного результата», не должно ли это быть (1 - FPR)?
Mudit Jain

1
@ ryu576 в идеале количество точек на кривой ROC - это действительно количество тестируемых образцов.
Франк Дернонкур

60

Хотя я немного опоздал на вечеринку, но вот мои 5 центов. @FranckDernoncourt (+1) уже упоминал о возможных интерпретациях AUC ROC, и мой любимый - первый в его списке (я использую другую формулировку, но она такая же):

AUC классификатора равен вероятности того, что классификатор оценит случайно выбранный положительный пример выше, чем случайно выбранный отрицательный пример, то естьP(score(x+)>score(x))

Рассмотрим этот пример (auc = 0,68):

введите описание изображения здесь

Давайте попробуем смоделировать это: нарисуйте случайные положительные и отрицательные примеры, а затем вычислите долю случаев, когда положительные имеют больший результат, чем отрицательные.

cls = c('P', 'P', 'N', 'P', 'P', 'P', 'N', 'N', 'P', 'N', 'P',
        'N', 'P', 'N', 'N', 'N', 'P', 'N', 'P', 'N')
score = c(0.9, 0.8, 0.7, 0.6, 0.55, 0.51, 0.49, 0.43, 0.42, 0.39, 0.33, 
          0.31, 0.23, 0.22, 0.19, 0.15, 0.12, 0.11, 0.04, 0.01)

pos = score[cls == 'P']
neg = score[cls == 'N']

set.seed(14)
p = replicate(50000, sample(pos, size=1) > sample(neg, size=1))
mean(p)

И мы получаем 0,67926. Довольно близко, не так ли?

 

Кстати, в RI обычно используют пакет ROCR для рисования кривых ROC и расчета AUC.

library('ROCR')

pred = prediction(score, cls)
roc = performance(pred, "tpr", "fpr")

plot(roc, lwd=2, colorize=TRUE)
lines(x=c(0, 1), y=c(0, 1), col="black", lwd=1)

auc = performance(pred, "auc")
auc = unlist(auc@y.values)
auc

введите описание изображения здесь


Приятно. Второй серый блок определенно разъясняет метод построения.
Джош

+1 (раньше). Выше я ссылался на другую ветку, где вы внесли очень хороший вклад в смежную тему. Это делает отличную работу, дополняя пост @ FranckDernoncourt и помогая дополнить его.
gung

1
На кривой ROC, полученной пакетом R, что обозначает цвет? Можете ли вы добавить некоторые детали к нему. Спасибо !
Prradep

Вероятно , было бы полезно добавить истинные позитивы и истинные негативы для объяснения в сером поле выше? В противном случае это может быть немного запутанным.
cbellei

42

Важные соображения не включены ни в одно из этих обсуждений. Процедуры, описанные выше, предполагают неправильное определение пороговых значений и используют неправильные правила оценки точности (пропорции), которые оптимизируются путем выбора неправильных функций и присвоения им неправильных весов.

Дихотомизация непрерывных предсказаний противоречит теории оптимальных решений. Кривые ROC не дают действенного понимания. Они стали обязательными без исследователей, изучающих преимущества. У них очень большое соотношение чернил: информация.

Оптимальные решения не учитывают «позитивы» и «негативы», а предполагаемую вероятность результата. Функция полезности / затрат / потерь, которая не играет никакой роли в построении ROC и, следовательно, бесполезности ROC, используется для перевода оценки риска в оптимальное (например, с наименьшей ожидаемой потерей) решение.

Цель статистической модели часто состоит в том, чтобы сделать прогноз, и аналитик должен часто останавливаться на этом, потому что аналитик может не знать функцию потерь. Ключевыми компонентами прогноза для беспристрастной проверки (например, с использованием начальной загрузки) являются предиктивная дискриминация (один из полугодовых способов измерить это - вероятность согласования, которая оказывается равной области под ROC, но ее легче понять, если вы не «т привлечь РПЦ) и калибровочной кривой. Проверка калибровки действительно необходима, если вы используете прогнозы по абсолютной шкале.

См. Главу «Потеря информации» в « Биостатистика для биомедицинских исследований» и другие главы для получения дополнительной информации.


2
Каждый другой ответ сфокусирован на математических формулах, которые не имеют практической пользы. И единственный правильный ответ имеет наименьшее количество голосов.
более

6
Я был на приеме, казалось бы, загадочных ответов на эту тему от профессора Харрелла - они великолепны тем, что заставляют вас задуматься. Я полагаю, что он намекает на то, что вы не хотите принимать ложноотрицательные случаи в скрининг-тесте на ВИЧ (вымышленный пример), даже если принятие более высокого процента ложноотрицательных результатов (сопутствующее сокращение ложных срабатываний) может поставить точку отсечки в максимумах AUC. Извините за грубое упрощение.
Антони Пареллада


17

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

Примером его применения являются кривые ROC. Здесь истинно положительные показатели строятся на фоне ложно положительных показателей. Пример ниже. Чем ближе AUC для модели к 1, тем лучше. Таким образом, модели с более высокими AUC предпочтительнее, чем с более низкими AUC.

Обратите внимание, что существуют и другие методы, кроме кривых ROC, но они также связаны с истинно положительными и ложно положительными показателями, например, с точным отзывом, F1-счетом или кривыми Лоренца.

                                            Пример кривой ROC


2
Можете ли вы объяснить кривую ROC в контексте простой перекрестной проверки результата 0/1? Я не знаю, очень хорошо понимаю, как строится кривая в этом случае.
Любопытно

10

τ

  1. A
  2. BA
  3. τ

P(A>τ)P(B>τ)

τAUC

Мы получили:

AUC=01TPR(x)dx=01P(A>τ(x))dx
xxTPR

(1)AUC=Ex[P(A>τ(x))]
xU[0,1)

xFPR

x=FPR=P(B>τ(x))
x

P(B>τ(x))U
=>P(B<τ(x))(1U)U
(2)=>FB(τ(x))U

XFX(Y)UYX

FX(X)=P(FX(x)<X)=P(X<FX1(X))=FXFX1(X)=X

τ(x)B

Подставляя это в уравнение (1), мы получаем:

AUC=Ex(P(A>B))=P(A>B)

Другими словами, область под кривой - это вероятность того, что случайная положительная выборка будет иметь более высокий балл, чем случайная отрицательная выборка.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.