Що означає AUC і що це таке?


228

Шукали високий і низький рівень і не змогли з’ясувати, що означає або означає AUC, як це стосується прогнозування.


8
Перевірте опис використовуваного aucтегу: stats.stackexchange.com/questions/tagged/auc
Tim

4
Площа під кривою (тобто крива ROC)
Андрій

7
Читачів тут може також зацікавити наступна нитка: Розуміння кривої ROC .
gung

11
Вираз "Пошук високо і низько" цікавий тим, що ви можете знайти безліч відмінних визначень / застосувань для AUC, ввівши "Google AUC" або "AUC статистику" в google. Відповідне питання, звичайно, але ця заява мене просто зберіг!
Бехакад

3
Я зробив Google AUC, але в багатьох найкращих результатах явно не вказано AUC = Площа під кривою. Перша пов’язана з ним сторінка Вікіпедії має її, але не до половини шляху. В ретроспективі це здається досить очевидним! Дякую всім за справді детальні відповіді
Джош

Відповіді:


309

Скорочення

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


Інтерпретація AUROC

AUROC має кілька рівнозначних тлумачень :

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

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


Обчислення AUROC

Припустимо, у нас є ймовірнісний, бінарний класифікатор, такий як логістична регресія.

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

  • Ми прогнозуємо 0, а справжній клас насправді 0: це називається True Negative , тобто ми правильно прогнозуємо, що клас є негативним (0). Наприклад, антивірус не виявив нешкідливий файл як вірус.
  • Ми прогнозуємо 0, а справжній клас насправді 1: це називається помилковим негативом, тобто ми неправильно прогнозуємо, що клас негативний (0). Наприклад, антивірус не вдалося виявити вірус.
  • Ми прогнозуємо 1, а справжній клас насправді дорівнює 0: це називається помилковим позитивом, тобто ми неправильно прогнозуємо, що клас є позитивним (1). Наприклад, антивірус вважав нешкідливий файл вірусом.
  • Ми прогнозуємо 1, а справжній клас насправді 1: це називається True Positive , тобто ми правильно прогнозуємо, що клас є позитивним (1). Наприклад, антивірус справедливо виявив вірус.

Для отримання матриці плутанини ми перебираємо всі прогнози, зроблені моделлю, і підраховуємо, скільки разів виникає кожен із цих 4 типів результатів:

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

У цьому прикладі матриці плутанини серед 50 точок даних, які класифікуються, 45 правильно класифіковані, а 5 неправильно класифіковані.

Оскільки для порівняння двох різних моделей часто зручніше мати одну метрику, а не декілька, ми обчислюємо дві метрики з матриці плутанини, яку згодом об'єднаємо в одну:

  • TPTP+FN
  • FPFP+TN

0.00;0.01,0.02,,1.00

На наступному малюнку графічно зображено AUROC:

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

На цьому малюнку синя зона відповідає області під кривою експлуатаційної характеристики приймача (AUROC). Пунктирною лінією по діагоналі подаємо криву ROC випадкового предиктора: вона має AUROC 0,5. Випадковий предиктор зазвичай використовується в якості базової лінії, щоб визначити, чи корисна модель.

Якщо ви хочете отримати досвід з перших рук:


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

25
@josh Так, саме так AUROC становить від 0 до 1, а AUROC = 1 означає, що модель прогнозування є ідеальною. Насправді, чим далі AUROC від 0,5, тим краще: якщо AUROC <0,5, то вам просто потрібно перевернути рішення, яке приймає ваша модель. Як результат, якщо AUROC = 0, це хороша новина, тому що вам просто потрібно перевернути результат своєї моделі, щоб отримати ідеальну модель.
Франк Дернонкурт

1
ланка "кілька рівнозначних тлумачень" розірвана.
Хайтао Ду

1
У трактуваннях AUROC "Очікувана помилкова позитивна ставка, якщо рейтинг розділений відразу після рівномірно отриманого випадкового додатного". Чи не повинно це бути (1 - FPR)?
Mudit Jain

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

60

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

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, але її можна легше зрозуміти, якщо ви не не намалюйте 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.