AIC и c-статистика пытаются ответить на разные вопросы. (Также некоторые проблемы с c-статистикой были подняты в последние годы, но я остановлюсь на этом в стороне)
Грубо говоря:
- AIC говорит вам, насколько хорошо ваша модель подходит для конкретной стоимости неправильной классификации.
- AUC говорит вам, насколько хорошо ваша модель будет работать в среднем по всем затратам на неправильную классификацию.
Когда вы вычисляете AIC, вы рассматриваете свою логистику, давая прогноз, скажем, 0,9, как прогноз 1 (то есть, скорее всего, 1, чем 0), однако это не обязательно. Вы можете взять свой балл за логистику и сказать: «все, что выше 0,95, равно 1, все, что ниже, равно 0». Зачем ты это делаешь? Что ж, это гарантирует, что вы предсказываете только один, когда вы действительно уверены в себе. Ваш уровень ложных срабатываний будет действительно очень низким, но ваш ложный отрицательный результат будет стремительно расти. В некоторых ситуациях это не так уж и плохо - если вы собираетесь обвинить кого-то в мошенничестве, вы, вероятно, сначала хотите быть по-настоящему уверенным. Кроме того, если следить за положительными результатами очень дорого, то вам не нужно их слишком много.
Вот почему это связано с затратами. Существует стоимость, когда вы классифицируете 1 как 0, и стоимость, когда вы классифицируете 0 как 1. Как правило (при условии, что вы использовали настройку по умолчанию), AIC для логистической регрессии относится к особому случаю, когда обе ошибочные классификации одинаково дорогостоящий. То есть логистическая регрессия дает вам наилучшее общее количество правильных прогнозов, без какого-либо предпочтения положительного или отрицательного.
Кривая ROC используется, потому что это отображает истинный положительный результат против ложного положительного, чтобы показать, как классификатор будет работать, если вы используете его при других требованиях к стоимости. С-статистика возникает потому, что любая кривая ROC, которая лежит строго выше другой, является явно доминирующим классификатором. Поэтому интуитивно понятно измерить площадь под кривой как показатель того, насколько хорош классификатор в целом.
В общем, если вы знаете свои затраты при подборе модели, используйте AIC (или аналогичный). Если вы просто строите оценку, но не указываете диагностический порог, то необходимы подходы AUC (со следующим предупреждением о самом AUC).
Так что же не так с c-статистикой / AUC / Gini?
В течение многих лет AUC был стандартным подходом и все еще широко используется, однако с ним связан ряд проблем. Одна вещь, которая сделала его особенно привлекательным, состояло в том, что он соответствует тесту Уилкокса в рядах классификаций. То есть он измерял вероятность того, что оценка случайно выбранного члена одного класса будет выше, чем случайно выбранного члена другого класса. Проблема в том, что это почти никогда не полезный показатель.
Наиболее серьезные проблемы с AUC были опубликованы Дэвидом Хендом несколько лет назад. (См. Ссылки ниже). Суть проблемы заключается в том, что, хотя AUC усредняется по всем затратам, поскольку ось х кривой ROC представляет собой ложную положительную норму, вес, который она назначает различным режимам затрат, варьируется между классификаторами. Таким образом, если вы вычислите AUC для двух разных логических регрессий, это не будет измерять «одно и то же» в обоих случаях. Это означает, что нет смысла сравнивать модели на основе AUC.
Хэнд предложил альтернативное вычисление, используя взвешивание по фиксированной стоимости, и назвал это H-мерой - в R есть пакет, hmeasure
который будет выполнять это вычисление, и я полагаю, что AUC для сравнения.
Некоторые ссылки на проблемы с AUC:
Когда область под кривой рабочих характеристик приемника является подходящей мерой работы классификатора? DJ Hand, C. Anagnostopoulos Письма о распознавании образов 34 (2013) 492–495
(Я нашел это особенно доступным и полезным объяснением)