ROC-анализ — онлайн-калькулятор (AUC и порог)
ROC-анализ нужен там, где мало доказать различия между группами — надо ещё назвать границу. Он отвечает сразу на два вопроса: годится ли показатель как признак (это площадь под кривой, AUC) и при каком его значении относить человека к группе риска (это порог отсечения, cut-off). Подходит любая шкала, где «больше» осмысленно: баллы методики, индексы, время, концентрация маркера. Заполните таблицу — в первом столбце значение показателя, во втором метка 0 или 1 — и калькулятор построит ROC-кривую, посчитает AUC с интервалом, найдёт порог по индексу Юдена и соберёт вывод для диплома.
ROC-анализ отвечает на два вопроса: годится ли показатель как признак и где провести границу
Подходит
Есть числовой показатель (балл методики, индекс, время, концентрация) и известно, у кого признак есть, а у кого нет — по диагнозу, заключению врача, экспертной оценке. Нужно доказать, что показатель различает эти две группы, и назвать пороговое значение для отбора.
Не подходит
Если нужно просто сравнить две группы — берите критерий Манна-Уитни. Если исход надо предсказывать сразу по нескольким показателям — логистическую регрессию. Если оба признака числовые и делить не на что — это корреляция.
Строка — один участникВ первом столбце его значение показателя: балл методики, индекс, секунды. Дробные — через запятую: 2,45. Название столбца в шапке перепишите под свой показатель — оно попадёт и в результат, и в таблицу для диплома.
Второй столбец — только 0 или 1Единица — признак есть (диагноз подтверждён, спортсмен отобран, ученик справился), ноль — признака нет. Это должно быть известно НЕЗАВИСИМО от показателя: по заключению врача, экспертной оценке, факту. Если метку ставили по самому показателю, анализ докажет только то, что вы уже предположили.
Таблица заполнена примером
Чтобы вы посмотрели, как работает калькулятор. Это индекс функциональных изменений (ИФИ) у 28 студентов: единицей отмечены 12 человек, у которых по итогам углублённого медосмотра выявлены сниженные функциональные резервы, нулём — остальные 16. Методика — ИФИ по Баевскому. Обратите внимание на результат: калькулятор находит порог 2,605 — почти ровно границу нормы Баевского (2,59).
| Участник \ Столбец | ||
|---|---|---|
Названия можно переписать — они попадут в результат и в таблицу для диплома. Если столбцов много, таблица прокручивается вбок. Данные из Excel вставляются целиком: скопируйте диапазон и вставьте в первую ячейку.
Это не украшение, а часть постановки задачи. Если направление выбрано наоборот, площадь под кривой выйдет меньше 0,5 — калькулятор скажет об этом прямо, но лучше выбрать сразу. Подсказка: спросите себя, у кого показатель БОЛЬШЕ — у людей с признаком или без него.
Уровень значимости — допустимая вероятность ошибиться, признав различающую способность там, где её нет. У площади под кривой нет таблицы критических значений, как у U или T, поэтому здесь α работает иначе: она задаёт ширину доверительного интервала AUC (он строится на 1 − α) и порог, с которым сравнивается p-уровень. Для педагогических и психологических работ почти всегда достаточно 0,05. Выбирают уровень до расчёта, а не подгоняют под результат — это грубая ошибка, которую замечают на защите. Подробнее: что такое p-значение и ось значимости.
Ничего не понятно или не хотите разбираться?
Закажите расчёт у эксперта: он подберёт метод под вашу тему, посчитает, найдёт порог, напишет готовый вывод и оформит таблицы по ГОСТ. Останется вставить в работу.
Заказать расчёт у экспертаКогда применять ROC-анализ
Метод подходит, когда одновременно выполнено следующее:
- Есть числовой показатель: балл методики, индекс, время, результат пробы, концентрация маркера.
- Известно, у кого признак есть, а у кого нет, — и известно НЕЗАВИСИМО от самого показателя: по заключению врача, диагнозу, экспертной оценке, факту отбора в команду.
- Нужно доказать, что показатель различает эти две группы, и назвать пороговое значение для практического применения.
- Групп ровно две. Три уровня («норма — риск — патология») ROC-анализ не разбирает: их разводят попарно, каждый раз строя свою кривую.
- Если нужно просто сравнить две группы, без порога, достаточно критерия Манна-Уитни. Если признак предсказывают сразу по нескольким показателям — нужна логистическая регрессия.
Как читать AUC — площадь под ROC-кривой
AUC — вероятность того, что случайно взятый человек с признаком получит по вашему показателю более «тревожное» значение, чем случайно взятый человек без признака. Половина (0,5) означает подбрасывание монетки: показатель не различает группы вовсе. Единица означает безошибочное разделение — на практике так не бывает, и слишком красивое значение обычно говорит о том, что группы делили по тому же показателю, который проверяют.
Главное свойство AUC: она не зависит от выбранного порога. Порог можно двигать как угодно — площадь останется прежней, потому что она описывает показатель целиком. Поэтому и смотрят сначала на AUC («стоит ли вообще искать границу»), и только потом ищут порог.
Рядом с AUC всегда приводят доверительный интервал. Если он захватывает 0,5, различающая способность не доказана, каким бы удачным ни выглядело само значение площади: на маленькой выборке интервал растягивается почти на всю шкалу. Калькулятор строит интервал методом ДеЛонга — тем же, что печатают пакет pROC в R и SPSS.
Экспертная шкала трактовки AUC
| AUC | Качество модели | Что это значит на практике |
|---|---|---|
| 0,9–1,0 | Отличное | Показатель почти безошибочно разделяет группы |
| 0,8–0,9 | Очень хорошее | Годится как самостоятельный критерий отбора |
| 0,7–0,8 | Хорошее | Годится, но вместе с другими данными |
| 0,6–0,7 | Среднее | Различает слабо, порог ненадёжен |
| 0,5–0,6 | Неудовлетворительное | Практической пользы нет |
| меньше 0,5 | Направление перепутано | Признак связан с противоположной стороной шкалы |
Шкала приводится по Hosmer D. W., Lemeshow S. «Applied Logistic Regression» (2000) — именно её таблицу вставляют в дипломные работы. Значение ниже 0,5 не означает «плохой показатель»: он различает группы, просто наоборот. Переключите направление в калькуляторе, и площадь станет равна 1 − AUC.
Как выбрать порог отсечения: индекс Юдена
Каждая точка ROC-кривой — это один возможный порог. Сдвигая его, вы поднимаете чувствительность за счёт специфичности и наоборот: чем меньше больных пропущено, тем больше здоровых напрасно отнесено к группе риска. Выбор порога — это выбор, какой из двух ошибок вы готовы платить.
Стандартный ответ по умолчанию — индекс Юдена: J = чувствительность + специфичность − 1. Максимум этой суммы и есть точка, наиболее удалённая от диагонали. Калькулятор перебирает все возможные пороги, находит максимум J и показывает получившиеся чувствительность, специфичность, общую точность и прогностичность.
Индекс Юдена считает обе ошибки одинаково дорогими, и это не всегда так. В скрининге пропустить больного дороже, чем перепроверить здорового, — там сознательно берут порог с более высокой чувствительностью. Такой выбор допустим, но его обязательно объясняют в тексте, а не подают как «оптимальный». Калькулятор для этого показывает полную таблицу порогов — координаты кривой, которые копируют в приложение к работе.
Сам порог берётся серединой между двумя соседними наблюдёнными значениями — соглашение пакета pROC. Иначе граница совпала бы с чьим-то конкретным результатом и на новой выборке не воспроизвелась бы. Именно поэтому у порога появляется лишний знак после запятой: 2,605 при значениях, измеренных до сотых.
Чем ROC-анализ отличается от корреляции и от критерия Манна-Уитни
Корреляция измеряет связь двух признаков и отвечает на вопрос «меняются ли они вместе». Она не делит людей на группы и не даёт границы. Если один из признаков дихотомический (есть или нет), формально можно посчитать точечно-бисериальную корреляцию, но результат нельзя применить: из коэффициента 0,45 не следует, при каком балле относить человека к группе риска.
Критерий Манна-Уитни отвечает на вопрос «различаются ли группы» и даёт p-уровень. Этого хватает, пока речь идёт о сравнении. Но p-уровень не говорит ни насколько хорошо показатель различает группы, ни где провести черту: при большой выборке значимым становится и совсем слабое различие.
При этом ROC-анализ и Манна-Уитни связаны тождеством: AUC = U₁ / (n₁ · n₀). Это не совпадение, а одно и то же число в разных единицах, поэтому p-уровень у AUC калькулятор берёт прямо из U-критерия, и два метода на одних данных не могут дать разные выводы. Разница только в том, какой вопрос вы задаёте.
Логистическая регрессия отличается тем, что моделирует вероятность исхода и умеет учитывать несколько показателей сразу, а также поправлять на пол и возраст. ROC-анализ ничего не моделирует: он не оценивает коэффициентов и не требует ни линейности, ни нормальности — только порядок значений. Поэтому ROC применим там, где регрессия ещё не построена, и часто используется как проверка качества уже построенной регрессии.
Сколько человек нужно для ROC-анализа
Считать можно от трёх человек в каждой группе, но пользы от такого расчёта не будет: кривая выйдет лесенкой из нескольких ступеней, а доверительный интервал AUC растянется почти от 0,5 до 1. Ориентир для дипломной работы — не меньше 15–20 наблюдений в МЕНЬШЕЙ из двух групп; именно она определяет точность, а не общий объём выборки.
Второе, за чем следят, — соотношение групп. Если признак редкий (10 человек на 100), общая точность правила перестаёт что-либо значить: правило «признака ни у кого нет» даст 90 % точности и нулевую пользу. Поэтому в работе приводят чувствительность и специфичность по отдельности, а не одну «точность».
Прогностичность положительного и отрицательного результата (PPV и NPV) зависит от того, насколько часто признак встречается именно в вашей выборке. Переносить эти два числа на другую совокупность нельзя — в отличие от чувствительности и специфичности, которые от распространённости не зависят.
Можно ли посчитать ROC-анализ в Excel
Готовой функции для ROC-анализа в Excel нет. Пришлось бы вручную отсортировать всех обследованных по показателю, для каждого возможного порога построить таблицу из четырёх чисел, посчитать чувствительность и специфичность, собрать точки в диаграмму рассеяния и вычислить площадь под ломаной методом трапеций — а потом ещё найти стандартную ошибку AUC. Это несколько часов работы и множество мест, где легко ошибиться.
В SPSS, MedCalc, Statistica и R (пакет pROC) ROC-анализ есть, но эти программы нужно установить и освоить, а лицензия на SPSS и MedCalc платная.
Проще ввести данные в калькулятор выше: он построит кривую, посчитает AUC с доверительным интервалом по ДеЛонгу, найдёт порог по индексу Юдена, покажет таблицу всех порогов и выгрузит в Word готовую таблицу вместе с самим рисунком.
Как оформить результат в дипломе
В работе приводят не одно число, а связку: объёмы обеих групп, AUC с доверительным интервалом и p-уровнем, словесную трактовку площади, найденный порог и при нём чувствительность со специфичностью. Отдельной строкой поясняют, откуда взялось деление на группы — это первое, что спрашивают на защите.
Рядом с текстом обязательно ставят сам рисунок: без ROC-кривой площадь выглядит числом из воздуха. На кривой отмечают опорную диагональ (AUC = 0,5) и точку выбранного порога. Калькулятор выгружает в Word и таблицу, и редактируемую диаграмму с подписями осей.
Типовая фраза выглядит так: «Для оценки диагностической информативности показателя ИФИ проведён ROC-анализ (n = 28: 12 человек с признаком, 16 — без признака). Площадь под ROC-кривой составила AUC = 0,745 (95 % ДИ: 0,549–0,941; p = 0,031), что соответствует трактовке „хорошее качество“. Оптимальная точка разделения, найденная по максимуму индекса Юдена (J = 0,583), составила 2,605: при значении показателя выше этого порога чувствительность равна 83,3 %, специфичность — 75,0 %».
Если порог выбран не по индексу Юдена, а по смыслу задачи, это пишут прямо: «порог смещён в сторону повышенной чувствительности, поскольку цена пропуска выше цены ложной тревоги». Умолчание выглядит как подгонка результата.