Развенчание некоторых мифов о кривой ROC / AUC и кривой точности-отзыва / AUPRC для бинарной классификации с акцентом на несбалансированные данные

Кривая рабочих характеристик приемника (ROC) и кривая точности-отзыва (PR) — это два визуальных инструмента для сравнения бинарных классификаторов. В связи с этим площадь под кривой ROC (AUC, также известная как AUROC) и площадь под кривой точности-отзыва (AUPRC, также известная как средняя точность) являются мерами, которые суммируют кривые ROC и PR в отдельных числах. В этой статье мы прольем свет на эти инструменты и сравним их с акцентом на несбалансированные данные (больше единиц, чем нулей). В частности, мы приводим аргументы в пользу того, что фольклор «кривая PR предпочтительнее кривой ROC для несбалансированных данных, поскольку ROC может вводить в заблуждение или неинформативна» содержит меньше правды, чем часто предполагается. Верно ли это, зависит от конкретного контекста приложения и, в частности, от того, как применяются эти инструменты. Более того, кривая PR может одинаково хорошо скрывать важные аспекты точности предсказания и вводить в заблуждение при наличии дисбаланса классов.

Матрица путаницы и два типа ошибок

Кривые ROC и PR основаны на матрице путаницы. Предположим, что у нас есть бинарный классификатор (алгоритм или модель), тестовые данные размера выборки n, и мы делаем прогнозы, используя классификатор на тестовых данных. Каждая точка данных в тестовых данных представляет собой либо 0 («отрицательный»), либо 1 («положительный»). Это основная правда. Кроме того, классификатор предсказывает каждую точку данных как 0 или 1. Это дает четыре комбинации:

  • Истинные негативы (TN) — это 0, которые правильно предсказаны как 0.
  • Ложные срабатывания (FP) — это 0, которые ошибочно предсказываются как 1.
  • Ложноотрицательные (FN) — это 1, которые ошибочно предсказываются как 0.
  • Истинные положительные результаты (TP) — это единицы, которые правильно предсказаны как единицы.

Матрица путаницы – это таблица (непредвиденных обстоятельств), в которой все экземпляры тестовых данных сгруппированы по следующим четырем категориям:

Классификатор может совершать два типа ошибок: ложные срабатывания («прогнозировать 1, хотя на самом деле это 0») и ложноотрицательные («предсказывать 0, когда на самом деле это 1"). В зависимости от приложения оба типа ошибок могут иметь одинаковую важность, или одна из этих двух ошибок может быть более серьезной, чем другая. Однако обычно сообщают не об абсолютных количествах этих двух типов ошибок, а об относительных. Основная причина этого заключается в том, что относительные числа лучше интерпретируются и сопоставимы. Тогда возникает вопрос: «относительно чего?» Если и ложноположительные, и ложноотрицательные значения одинаково важны и их не хочется различать, можно просто рассчитать коэффициент ошибок = (FP+FN)/n, т. е. общее количество ошибок FP+FN, деленное на общее количество ошибок. количество образцов n.

Если кто-то хочет различить ложноположительные и ложноотрицательные результаты, остается вопрос, с какими исходными величинами следует сравнивать эти числа? Возможно, наиболее естественными эталонными величинами являются общее количество нулей (= TN + FP) и единиц (= TP + FN). Один из способов сделать это — рассмотреть коэффициент ложных срабатываний = FP / (TN + FP) и коэффициент истинных срабатываний = TP / (TP + FN). Частота ложных срабатываний — это доля ошибочно предсказанных единиц среди всех истинных нулей. Истинный положительный показатель, также называемый отзывом, представляет собой долю правильно предсказанных единиц среди всех истинных единиц. Рисунок 2 иллюстрирует это.

Альтернативой сравнению количества ложных срабатываний с общим количеством 0 является сравнение их с общим количеством предсказанных 1 (= FP + TP) с использованием так называемой точности. точность = TP / (FP + TP) — это доля правильно предсказанных единиц среди всех предсказанных единиц. Таким образом, основное различие между частотой ложных срабатываний и точностью заключается в том, с какой эталонной величиной сравнивается количество ложных срабатываний: количество истинных нулей или количество предсказанных единиц. Обратите внимание, что, строго говоря, точность сравнивает истинные положительные результаты с общим количеством предсказанных единиц. Но это всего лишь обратная сторона той же медали, что и 1 — TP / (FP + TP) = FP / (FP + TP). То же самое относится и к истинным положительным результатам.

На рис. 4 показан пример матрицы путаницы. В этом примере частота ошибок равна 0,2, частота истинных положительных результатов равна 0,2, частота ложных срабатываний равна 0,1, а точность равна 0,25.

Ложноположительный результат или точность? Игрушечный пример с несбалансированными данными

Основное различие между кривыми ROC и PR заключается в том, что первая учитывает частоту ложных срабатываний, тогда как вторая основана на точности. Вот почему мы сначала более подробно рассмотрим эти две концепции несбалансированных данных. Когда количество (истинных) нулей намного больше по сравнению с количеством ложных срабатываний, частота ложных срабатываний может быть небольшой в зависимости от приложения. При неправильной интерпретации такие маленькие цифры могут скрыть важные сведения. В качестве простого примера рассмотрим две матрицы путаницы на рисунке 5 для двух классификаторов, примененных к набору данных с 1 000 000 точек, из которых 1 000 равны единицам. Два классификатора имеют истинный положительный показатель 0,8 и 0,85 соответственно. Кроме того, классификатор I имеет 500 ложных срабатываний, а классификатор II имеет 2000 ложных срабатываний. Это означает, что два классификатора имеют очень низкий уровень ложных срабатываний, составляющий ок. 0,0005 и 0,002. В абсолютном выражении эти два показателя ложноположительных результатов довольно близки друг к другу, несмотря на то, что у классификатора II ложноположительных результатов в четыре раза больше. Это является следствием несбалансированности классов в данных и того факта, что данные относительно легко классифицировать (=возможны как высокие проценты истинных положительных результатов, так и низкие показатели ложных срабатываний. эм>). Однако классификатор I имеет точность ок. 0,62, тогда как классификатор II имеет точность ок. 0,3. То есть по точности классификатор I явно лучше классификатора II. Тот факт, что небольшой процент ложноположительных результатов может иногда скрывать различия между классификаторами для несбалансированных данных, лежит в основе аргументов, которые поддерживают кривую PR над кривой ROC. Мы вернемся к этому позже в статье.

Далее рассмотрим аналогичный набор данных, который, однако, сложнее классифицировать. Матрицы путаницы двух классификаторов показаны на рисунке 6. Оба классификатора снова имеют истинный положительный коэффициент 0,8 и 0,85 соответственно. Кроме того, частота ложных срабатываний классификатора I составляет ок. 0,4, а у классификатора II ок. 0,45. Однако точность обоих классификаторов теперь почти одинакова и составляет ок. 0,002. Причина, по которой точность обоих классификаторов настолько мала, заключается в несбалансированности классов и в том факте, что данные относительно сложно классифицировать. Это показывает, что для данных с дисбалансом классов точность также может скрывать важные различия между классификаторами. Вывод из этого небольшого примера состоит в том, что важнее точность или частота ложных срабатываний. информативность зависит от конкретного приложения, а не только от того, есть ли дисбаланс классов или нет.

Кривые ROC и PR

Почему кривые в первую очередь?

Мы могли бы остановиться здесь и просто сравнить частоту ошибок, частоту ложноположительных результатов, частоту истинных положительных результатов, точность или любую другую суммарную меру, основанную на матрице путаницы. Однако в большинстве ситуаций это не лучшая идея. Почему нет? Мы должны сделать шаг назад и понять, как создается матрица путаницы. Во-первых, классификатор обычно вычисляет оценку предсказания p для каждой контрольной точки. Часто это число от 0 до 1, а иногда это также можно интерпретировать как вероятность. Во-вторых, выбирают порог принятия решения δ и предсказывают все случаи с p > δ как 1, а все остальные как 0. Примером такого порога является δ = 0,5. Однако во многих приложениях нет строгих аргументов в пользу использования δ = 0,5, и лучшие результаты можно получить с другими значениями δ. Среди прочего, потенциальными причинами этого являются (i) то, что классификаторы часто не откалиброваны (т. е. даже если мы можем подумать, что выход p является вероятностью, эта вероятность p не соответствует фактической вероятности того, что событие материализуется) и ( ii) что существует асимметрия потерь, связанных с ложными положительными и ложными отрицательными результатами.

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

Кривая ROC и AUC

Кривая рабочей характеристики приемника (ROC) изображает процент истинных положительных и ложных положительных результатов для всех возможных пороговых значений δ и, таким образом, визуализирует вышеупомянутый компромисс. Чем ниже порог δ, тем выше доля истинно положительных результатов, но также выше доля ложноположительных результатов. Чем ближе к верхнему левому углу кривая ROC, тем лучше, а диагональная линия представляет собой случайное угадывание. Кроме того, площадь под кривой ROC (AUC,также известная как AUROC)обобщает эту кривую одним числом. Чем больше AUC, тем лучше. AUC имеет интерпретацию, что, например, AUC 0,8 означает, что классификатор правильно ранжирует две случайно выбранные точки данных теста с вероятностью 80%.

Кривая точности-отзыва (PR) и AUPRC

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

«Кривая точности-отзыва предпочтительнее кривой ROC для несбалансированных данных» — так ли это просто?

Существует распространенное мнение, что кривая PR и AUPRC должны быть предпочтительнее, чем кривая ROC и AUC для несбалансированных данных, поскольку ROC и AUC могут вводить в заблуждение или быть неинформативными ( см., например, здесь, здесь, здесь или здесь, чтобы назвать несколько).Но так ли это просто?В дальнейшем мы прольем свет на это.

Эксперименты с смоделированными данными

Мы будем использовать смоделированные данные для подробного изучения этого аргумента. В частности, мы моделируем 2 000 000 точек данных, при этом 1% данных приходится на единицы (все результаты остаются качественно одинаковыми при использовании другого коэффициента дисбаланса классов, например, 0,1% единиц). Данные сначала генерируются таким образом, чтобы было относительно легко получить хорошие результаты прогнозирования. Мы используем половину данных для обучения, а другую половину для тестирования. Для простоты мы рассматриваем два классификатора, оба из которых представляют собой модели логистической регрессии, использующие разные подмножества переменных-предикторов. Код для воспроизведения смоделированных экспериментов из этой статьи можно найти здесь.

На рис. 7 показаны кривые ROC и PR, а также AUC и AUPRC. Как видно из рисунка, AUC выше у классификатора 1, тогда как AUPRC выше у классификатора 2. Аналогичная ситуация с кривыми ROC и PR: по кривой ROC можно можно получить такое впечатление, что классификатор 1 лучше, но кривая PR говорит об обратном. Но какой классификатор «лучше»?

Существует аргумент, что классификатор 2 действительно лучше и, таким образом, AUC вводит в заблуждение. Аргумент состоит в следующем. На графике ROC обе кривые относительно быстро достигают высокого уровня истинных положительных результатов при низком уровне ложных срабатываний. Скорее всего, нас интересует область с небольшой долей ложных срабатываний, скажем ниже 0,2, которая выделена зеленым прямоугольником на рисунке 7. Почему только эта область? При дальнейшем снижении порога принятия решения доля истинных положительных результатов увеличится лишь незначительно, тогда как частота ложных срабатываний значительно возрастет. Это следствие дисбаланса классов и того, что данные легко классифицируются. Для порогов принятия решений, соответствующих небольшой частоте ложных срабатываний, классификатор 2 действительно лучше при рассмотрении кривой ROC.

Для несбалансированных данных кривая PR и AUPRC автоматически имеют тенденцию больше фокусироваться на областях с небольшими показателями ложноположительных результатов, то есть с относительно высокими порогами δ. Поэтому по кривой PR и AUPRC классификатор 2 лучше. Однако, учитывая, что мы априори знаем, что нас интересуют малые доли ложноположительных результатов, мы также можем соответствующим образом интерпретировать ROC-кривую, сосредоточив внимание только на малых положительных долях, т. Тогда кривая ROC в этой области больше не вводит в заблуждение.

С другой стороны, мы могли бы на самом деле согласиться на высокий уровень ложных срабатываний, чтобы достичь очень высокого уровня истинных срабатываний. Если это так, то классификатор 1, а не классификатор 2, лучше, и ни ROC-кривая, ни AUC не вводят в заблуждение. В этом случае вводят в заблуждение кривая PR и AUPRC. Таким образом, для одних и тех же данных и AUC, и AUPRC могут вводить в заблуждение, и какой из них дает лучшую картину, зависит от конкретного приложения.

Далее давайте посмотрим на те же несбалансированные данные с той лишь разницей, что здесь больше шума меток, а значит, получить точные прогнозы сложнее. Результаты этого представлены на рисунке 8. При взгляде на кривую ROC и AUC становится очевидным, что классификатор 1 лучше, чем классификатор 2 для этих данных. Однако кривые PR и AUPRC для двух классификаторов практически неразличимы. Поскольку данные трудно классифицировать, количество ложных срабатываний быстро становится относительно большим. Это вместе с тем фактом, что существует дисбаланс классов, является причиной того, что кривая PR и AUPRC не могут найти важных различий между двумя классификаторами.

Дополнительные проблемы при сравнении кривых ROC и PR

1. Взимается ли плата за двойную проверку предсказанных положительных результатов?

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

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

2. AUC против AUPRC: важна ли интерпретируемость?

При принятии решения о том, использовать ли AUC или AUPRC, необходимо также ответить на вопрос, важна ли интерпретируемость или нет? Если нет, можно «вслепую» использовать эти две меры для сравнения разных классификаторов и выбрать тот, у которого наибольшее число. Если кто-то заботится об интерпретации, ситуация иная. Во-первых, помимо того факта, что более высокие AUPRC лучше, AUPRC не имеет интуитивной интерпретации как AUC (см. выше). Во-вторых, кривая PR и AUPRC игнорируют истинные негативы (например, см. Рисунок 3). Это означает, что AUPRC для разных наборов данных нельзя сравнивать, поскольку AUPRC зависит от отношения базовой скорости между 0 и 1 в данных. Это не относится к AUC, и AUC разных наборов данных сопоставимы.

3. Поддаются ли количественной оценке потери?

Если потери, возникающие при наличии ложных положительных и ложных отрицательных результатов, могут быть определены количественно, можно использовать статистическую теорию принятия решений для определения оптимального порога принятия решения δ. При наличии только одного порога все упрощается: не нужно использовать кривые, такие как кривые ROC и PR, но можно использовать такую ​​меру, как частота ошибок, частота ложных срабатываний, частота истинных положительных результатов или точность. К сожалению, во многих ситуациях эти два типа потерь не поддаются количественной оценке.

4. Кривые ROC и PR могут прийти к одному и тому же выводу.

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

Заключение

Заявление о том, что кривая ROC и AUC вводят в заблуждение или неинформативны для несбалансированных данных, подразумевает, что интерес представляет только определенное подмножество всех порогов принятия решений: те, где частота ложных срабатываний невелика. Так это на самом деле или нет, зависит от конкретного приложения. Если это так, AUC действительно может вводить в заблуждение из-за несбалансированных данных, которые легко предсказуемы, но ROC можно просто отрегулировать, увеличив масштаб интересующей области. Кроме того, кривая PR и AUPRC также могут вводить в заблуждение или быть неинформативными, когда существует дисбаланс классов и переменную отклика трудно предсказать, как мы показали выше.

Основное внимание в этой статье уделялось сравнению кривой ROC/AUC с кривой PR/AUPRC для оценки бинарных классификаторов. Однако вывод из этого не должен заключаться в том, что следует использовать только один из этих инструментов. Кривые ROC и PR показывают разные аспекты, и редко бывает аргумент против дополнительной точки зрения на рассматриваемую проблему (кроме того факта, что принятие решения о том, какой классификатор лучше, может стать более трудным, когда разные точки зрения расходятся). Еще следует иметь в виду, что и AUC, и AUPCR учитывают все возможные пороги принятия решений δ, придавая разные веса разным подмножествам этих порогов. Однако для некоторых приложений учет всех порогов δ может быть нереалистичным, поскольку некоторые пороги могут быть исключены априори. Наконец, обратите внимание, что и кривая ROC, и кривая PR «только» учитывают дискриминационную способность классификаторов правильно ранжировать разные выборки. Иногда калибровка (= «предсказываемые вероятности действительно соответствуют вероятностям материализации предсказанных событий») также важна. В этом случае необходимо дополнительно учитывать другие показатели.