Чому AUC вище для класифікатора, який є менш точним, ніж для більш точного?


29

У мене є два класифікатори

  • A: наївна байєсівська мережа
  • B: дерево (окремо пов'язане) байєсівської мережі

Щодо точності та інших заходів, A працює порівняно гірше, ніж B. Однак, коли я використовую пакети R ROCR та AUC для аналізу ROC, виявляється, що AUC для A вище, ніж AUC для B. Чому це відбувається?

Справжній позитивний (tp), хибнопозитивний (fp), хибний негативний (fn), справжній негативний (tn), чутливість (sen), специфічність (spec), позитивне прогнозне значення (ppv), негативне прогнозне значення (npv) та точність (acc) для A і B є наступною.

+------+---------+---------+
|      |    A    |    B    |
+------+---------+---------+
| tp   | 3601    | 769     |
| fp   | 0       | 0       |
| fn   | 6569    | 5918    |
| tn   | 15655   | 19138   |
| sens | 0.35408 | 0.11500 |
| spec | 1.00000 | 1.00000 |
| ppv  | 1.00000 | 1.00000 |
| npv  | 0.70442 | 0.76381 |
| acc  | 0.74563 | 0.77084 |
+------+---------+---------+

За винятком сенсацій та зв'язків (spec та ppv) на полях (за винятком tp, fn, fn та tn), B здається, працює краще, ніж A.

Коли я обчислюю AUC для sens (y-ось) та 1-spec (x-ось)

aucroc <- auc(roc(data$prediction,data$labels));

ось порівняння AUC.

+----------------+---------+---------+
|                |    A    |    B    |
+----------------+---------+---------+
| sens vs 1-spec | 0.77540 | 0.64590 |
| sens vs spec   | 0.70770 | 0.61000 |
+----------------+---------+---------+

Ось ось мої запитання:

  • Чому AUC для A краще, ніж B, коли B "здається", перевершує A по точності?
  • Отже, як я дійсно суджую / порівнюю класифікаційні показники A і B? Я маю на увазі, чи я використовую значення AUC? Чи потрібно використовувати значення ac, і якщо так, то чому?
  • Крім того, коли я застосовую відповідні правила оцінювання до A і B, B перевершує показник A з точки зору втрат журналу, квадратичних втрат та сферичних втрат (p <0,001). Як вони визначають оцінку ефективності класифікації стосовно AUC?
  • Графік ROC для A виглядає дуже гладко (це вигнута дуга), але графік ROC для B виглядає як набір з'єднаних ліній. Чому це?

За запитом, ось графіки для моделі А.

модель Наївна сітка байєсів

Ось сюжети для моделі B.

модель B сітка звичайна

Ось графіки гістограми розподілу ймовірностей для A і B. (перерви встановлені на 20).

сюжет гістограми

Ось графік розсіяння ймовірностей B vs A.

Діаграма розкиду


1
Ваші таблиці не мають сенсу: як ви обрали точку, в якій обчислили ці показники продуктивності?
Калімо

3
Пам’ятайте, що AUC вимірює ефективність за всі можливі пороги . Це допоможе (і вам), якби ви могли показати криві (в ідеалі на тому ж графіку).
Калімо

@Calimo вибачте, я забув включити цю інформацію, але поріг, який використовується для створення цієї матриці плутанини, становив 50%.
Джейн Уейн

Ви маєте на увазі 0,5? Прогнозовані значення A і B виглядають явно по-різному, і якщо ви ще не маєте підказки, вам слід обов'язково побудувати гістограми поруч ...
Calimo

@Calimo, ви можете, будь ласка, уточнити, гістограми того, що поруч?
Джейн Уейн

Відповіді:


27

cDху


6
cc

1
@alto, 0,5 є надзвичайно довільним, співпадаючи з найбільш незвичайною функцією корисності / втрати / вартості, в якій два види помилок однаково погані. Це рідко буває. Думаючи ймовірнісно, ​​що саме так я вважаю, як працює природа, не існує такого поняття, як "помилка", а скоріше ступінь поганості прогнозування ризику. Наприклад, прогнозувати ймовірність 0,6, то спостерігати за подією гірше, ніж прогнозувати ймовірність 0,9, а потім спостерігати за подією. Але жоден прогноз не є "неправильним". Ви можете використовувати оцінки точності ймовірності, які не потребують порогів.
Френк Харрелл

3
Така необмежена модель, як, наприклад, логістика, не призводить до переозброєння, ніж будь-який інший підхід. Логістична трансформація забезпечує правильну оцінку ймовірностей. Єдиним недоліком логарифмічного бального правила є те, якщо ви прогнозуєте ймовірність, що надзвичайно близька до 0 або 1, і ви «помиляєтесь». Це правда, що в кінцевому підсумку людина приймає рішення, але це зовсім не випливає з того, що аналітик повинен приймати рішення, використовуючи поріг. Рішення має бути відкладено органу, що приймає рішення. Книга Нейт Сілвер "Сигнал і шум" документує великі переваги ймовірнісного мислення.
Френк Харрелл

1
@FrankHarrell, шкода, що ти продовжуєш неправильно трактувати мою думку. Я ніколи не виступав за чорний підхід. Я просто вважаю, що ваше твердження "х марно, лише використовувати у" занадто сильне.
альт

4
@alto, що сприймає. Я думаю, що розпізнавання шаблонів у режимі реального часу не має часу на утиліти. Це не той світ, в якому я працюю. Але все ж є випадки в реальному часі, коли ви, швидше, чорний ящик скаже вам "невпевнено", ніж змусити вибір між "що є танк, що приходить на вас" проти ", що є легкова машина ".
Френк Харрелл

16
  1. Чому AUC для A краще, ніж B, коли B "здається", перевершує A по точності?

    Точність обчислюється при пороговому значенні 0,5. У той час як AUC обчислюється шляхом додавання всіх "точностей", обчислених для всіх можливих порогових значень. ROC можна розглядати як середнє (очікуване значення) цих точних показників, коли обчислюються для всіх порогових значень.

  2. Отже, як я насправді суджую / порівнюю класифікаційні показники A і B? Я маю на увазі, чи я використовую значення AUC? чи я використовую значення ac? і чому?

    Це залежить. Криві ROC показують вам щось про те, наскільки добре ваша модель розділяє два класи, незалежно від того, де порогове значення. Точність - це міра, яка працює добре, коли заняття підтримують однаковий баланс у поїздках і на тестових наборах, і коли бали справді ймовірні. ROC дає більше підказок про те, як модель буде вести себе, якщо це припущення порушено (однак це лише ідея).

  3. крім того, коли я застосовую відповідні правила оцінювання до A і B, B перевершує показник A щодо втрат журналу, квадратичних втрат та сферичних втрат (p <0,001). як вони визначають оцінку ефективності класифікації стосовно AUC?

    Я не знаю. Ви повинні краще зрозуміти, про що ваші дані. Що кожна модель здатна зрозуміти з ваших даних. І вирішити пізніше, який найкращий компроміс. Причиною цього є те, що не існує універсальної метрики щодо продуктивності класифікатора.

  4. Графік ROC для A виглядає дуже гладко (це вигнута дуга), але графік ROC для B виглядає як набір з'єднаних ліній. чому це?

    Це, мабуть, тому, що байєсова модель дає вам плавні переходи між цими двома класами. Це перекладається у багатьох порогових значеннях. Що означає багато точок на кривій ROC. Друга модель, ймовірно, дає менші значення через прогнозування з однаковим значенням для більших областей вхідного простору. В основному, також перша крива ROC зроблена лініями, різниця лише в тому, що існує стільки сусідніх малих ліній, що ви бачите це як криву.


1
Точність можна обчислити при порогових значеннях, відмінних від 0,5.
Калімо

Звичайно, ти маєш рацію. Ось чому я використав "точність" у наступній пропозиції. Однак, коли говорити про точність, без іншої інформації про контекст, найкраща здогадка для порогового значення становить 0,5.
rapaio

2
Неважко зрозуміти, наскільки довільний такий процес. Небагато оцінювачів статистики, які потребують внесення змін чи довільного вибору, вижили без суворої критики. І я б ніколи не називав пропорцію класифікованою правильною як "точність".
Френк Харрелл

@unreasonablelearner ви праві на ваше припущення .. матриця плутанини вище була обчислена на порозі 0,5. чи є якась перевага перед іншим порогом?
Джейн Уейн

1
@JaneWayne Формула дійсно на частку класифікованих правильних. Точність - це найчастіше вживаний для цього термін. Однак точність означає набагато більше, і зважаючи на те, що сказав Френк Харрелл, я вважаю, що точність є далеко не найкращим терміном для цього. Зараз я думаю, що його використання може завдати шкоди, навіть якщо воно популярне. Ось як я помилявся.
rapaio

4

Чому AUC для A краще, ніж B, коли B "здається", перевершує A по точності?

По-перше, хоча граничне значення (0,5) однакове, воно зовсім не порівнянне між A і B. Насправді це виглядає досить відмінно від ваших гістограм! Подивіться на B: всі ваші прогнози <0,5.

По-друге, чому B такий точний? Через класовий дисбаланс. У тесті B у вас є 19138 негативних прикладів і 6687 позитивних (чому числа в А різняться для мене, мені незрозуміло: можливо, відсутні значення?). Це означає, що, просто кажучи, що все негативно, я вже можу досягти досить гарної точності: точно 19138 / (19138 + 6687) = 74%. Зауважте, що для цього не потрібно абсолютно ніяких знань, крім того, що між класами існує дисбаланс: це може зробити навіть найглуміша модель!

І саме це робить тест B при порозі 0,5 ... ви отримуєте (майже) лише негативні прогнози.

А - це більше мішана сумка. Хоча вона має дещо меншу точність, зауважте, що її чутливість значно вища при цьому відсіченні ...

Нарешті, ви не можете порівняти точність (продуктивність на одному порозі) з AUC (середня продуктивність за всіма можливими порогами). Оскільки ці показники вимірюють різні речі, не дивно, що вони різні.

Отже, як я дійсно суджую / порівнюю класифікаційні показники A і B? я маю на увазі, чи я використовую значення AUC? чи я використовую значення ac? і чому?

Крім того, коли я застосовую відповідні правила оцінювання до A і B, B перевершує показник A з точки зору втрат журналу, квадратичних втрат та сферичних втрат (p <0,001). Як вони визначають оцінку ефективності класифікації стосовно AUC?

Ви повинні подумати: що це насправді ви хочете зробити? Що важливо? Зрештою, тільки ви можете відповісти на це запитання, виходячи зі свого знання питання. Можливо, AUC має сенс (це дуже рідко буває, коли ти справді думаєш про це, за винятком випадків, коли ти сам не хочеш приймати рішення, але дозволяєш це робити іншим - це, швидше за все, якщо ти робиш інструмент для використання іншими). точність (якщо вам потрібна бінарна, відповідь "не йдіть"), але, можливо, при різних порогових рівнях, можливо, якісь інші безперервні заходи, можливо, один із заходів, запропонованих Френк Харреллом ... як вже було сказано, немає універсального питання тут.

Графік ROC для A виглядає дуже гладко (це вигнута дуга), але графік ROC для B виглядає як набір з'єднаних ліній. Чому це?

Поверніться до прогнозів, які ви показали на гістограмах. A дає вам постійне або майже безперервне передбачення. Навпаки, B повертає в основному лише кілька різних значень (як ви бачите за "колючою" гістограмою).

У кривій ROC кожна точка відповідає порогу. У А у вас багато порогів (оскільки прогнози безперервні), тому крива є рівною. У B у вас є лише декілька порогів, тому крива виглядає «стрибає» з SN / SP на іншу.

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


+1, однак, це не так, що AUC призначений лише для "коли ви не хочете приймати рішення самі, але дозволяйте іншим робити це". Див.: Як обчислити площу під кривою (AUC) або c-статистику вручну .
gung - Відновіть Моніку
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.