Почему 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 для сенсора (ось Y) против 1-спецификации (ось 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? Использую ли я значение акк, и если да, то почему?
  • Кроме того, когда я применяю надлежащие правила оценки к A и B, B превосходит A с точки зрения потери логарифма, квадратичной потери и сферической потери (p <0,001). Как они влияют на оценку эффективности классификации в отношении AUC?
  • График ROC для A выглядит очень гладким (это изогнутая дуга), но график ROC для B выглядит как набор связанных линий. Почему это?

По запросу, вот графики для модели А.

модель наивная байесовская сетка

Вот графики для модели B.

модель B обычная байесовская сетка

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

гистограмма

Вот график рассеяния вероятностей B против A.

точечный график


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

3
Помните, что AUC измеряет производительность по всем возможным порогам . Было бы полезно (и вам тоже), если бы вы могли показать кривые (в идеале на одном графике).
Calimo

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

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

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

Ответы:


27

сDИксY


6
сс

1
@alto, 0.5 крайне произвольно, что совпадает с самой необычной функцией полезности / потери / стоимости, в которой два вида ошибок одинаково плохи. Это редко бывает. Думая вероятностно, то есть так, как я полагаю, верят в то, как работает природа, нет такой вещи, как «ошибка», а скорее степень неправильности прогноза риска. Например, прогнозирование вероятности 0,6 и последующее наблюдение события хуже, чем прогнозирование вероятности 0,9 и последующее наблюдение события. Но ни одно из предсказаний не является «неправильным». Вы можете использовать оценки точности вероятности, которые не требуют порогов.
Фрэнк Харрелл

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

1
@FrankHarrell, расстраивает, что ты неправильно истолковываешь мое мнение. Я никогда не защищал подход черного ящика. Я просто думаю, что ваше утверждение «x бесполезно, используйте только y» слишком сильно.
Альт

4
@ это тоже проницательно. Я думаю, что для распознавания образов в реальном времени не хватает времени на утилиты. Это не тот мир, в котором я работаю. Но в то же время в реальном времени бывают случаи, когда черный ящик говорит вам «неуверенно», чем заставляет выбирать между «это танк, идущий на вас», а не «это». легковой автомобиль".
Фрэнк Харрелл

16
  1. Почему AUC для A лучше, чем B, когда B "кажется" превосходит A по точности?

    Точность рассчитывается при пороговом значении 0,5. При этом AUC вычисляется путем сложения всех «погрешностей», рассчитанных для всех возможных пороговых значений. ROC можно рассматривать как среднее (ожидаемое значение) этих погрешностей при расчете для всех пороговых значений.

  2. Итак, как мне на самом деле судить / сравнивать классификационные характеристики A и B? Я имею в виду, я использую значение AUC? я могу использовать значение акк? и почему?

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

  3. Более того, когда я применяю надлежащие правила подсчета к А и В, В превосходит А по потерям в логарифме, квадратичной потере и сферической потере (р <0,001). Как они влияют на оценку эффективности классификации в отношении AUC?

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

  4. График ROC для A выглядит очень гладким (это изогнутая дуга), но график ROC для B выглядит как набор связанных линий. почему это?

    Это возможно потому, что байесовская модель дает вам плавные переходы между этими двумя классами. Это переводится во многие пороговые значения. Что означает много точек на кривой ROC. Вторая модель, вероятно, дает меньше значений из-за предсказания с тем же значением в больших областях входного пространства. По сути, первая ROC-кривая также состоит из линий, единственное отличие состоит в том, что смежных маленьких линий так много, что вы видите ее в виде кривой.


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

Конечно ты прав. Вот почему я использовал «точность» в следующем предложении. Однако, когда говорят о точности, без другой контекстной информации, наилучшее предположение для порогового значения составляет 0,5.
Рапайо

2
Легко увидеть, насколько произвольным является такой процесс. Немногие оценщики в статистике, которые требуют биннинга или произвольного выбора, выжили без серьезной критики. И я бы никогда не назвал правильную пропорцию «точностью».
Фрэнк Харрелл

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

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

4

Почему AUC для A лучше, чем B, когда B "кажется" превосходит A по точности?

Во-первых, хотя пороговое значение (0.5) одинаковое, оно совсем не сопоставимо между А и В. На самом деле оно выглядит совсем не так, как ваши гистограммы! Посмотрите на B: все ваши прогнозы <0,5.

Во-вторых, почему B такой точный? Из-за классового дисбаланса. В тесте B у вас есть 19138 отрицательных примеров и 6687 положительных (почему цифры А отличаются по-разному, мне непонятно: возможно, пропущенные значения?). Это означает, что, просто сказав, что все отрицательно, я уже могу достичь довольно хорошей точности: точно 19138 / (19138 + 6687) = 74%. Обратите внимание, что для этого совершенно не требуется никаких знаний, за исключением того факта, что между классами существует дисбаланс: даже самая глупая модель может это сделать!

И это именно то, что тест B делает при пороге 0,5 ... вы получаете (почти) только отрицательные прогнозы.

А это скорее смешанная сумка с. Хотя он имеет немного меньшую точность, обратите внимание, что его чувствительность намного выше при этом отключении ...

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

Итак, как мне на самом деле судить / сравнивать классификационные характеристики A и B? я имею в виду, я использую значение AUC? я могу использовать значение акк? и почему?

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

Вы должны подумать: что вы действительно хотите сделать? Что важно? В конечном счете, только вы можете ответить на этот вопрос, основываясь на ваших знаниях вопроса. Может быть, AUC имеет смысл (это действительно редко имеет место, когда вы действительно думаете об этом, за исключением тех случаев, когда вы сами не хотите принимать решение, но позволяете другим делать это - скорее всего, если вы создаете инструмент для использования другими), возможно, точность (если вам нужен бинарный ответ, ответ «нет»), но, возможно, при других порогах, может быть, некоторые другие, более непрерывные меры, может быть, одна из мер, предложенных Фрэнком Харреллом ... как уже говорилось, универсального вопроса Вот.

График ROC для A выглядит очень гладким (это изогнутая дуга), но график ROC для B выглядит как набор связанных линий. Почему это?

Вернемся к прогнозам, которые вы показали на гистограммах. А дает вам непрерывный или почти непрерывный прогноз. Наоборот, B возвращает в основном только несколько разных значений (как вы можете видеть по «колючей» гистограмме).

На кривой ROC каждая точка соответствует порогу. В A у вас много пороговых значений (потому что прогнозы непрерывны), поэтому кривая плавная. В B у вас есть только несколько порогов, поэтому кривая выглядит как «переход» от SN / SP к другому.

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


+1, однако, дело не в том, что AUC предназначен только для «когда вы сами не хотите принимать решение, но позволяете другим делать это». См. Как рассчитать площадь под кривой (AUC) или c-статистику вручную .
gung - Восстановить Монику
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.