ROC-анализ (Receiver Operating Characteristic, анализ ROC-кривых) — стандартный метод оценки диагностической точности количественного теста: биомаркёра, шкалы, инструментального показателя. Ключевая метрика — площадь под ROC-кривой (AUC), которая показывает, насколько хорошо тест отделяет пациентов с заболеванием от здоровых.
В статье разберём, когда применять ROC-анализ в клинических исследованиях, как читать кривую, что означает AUC, как выбрать порог отсечения и какие ошибки допускают при публикации.
Когда применять ROC-анализ
Метод подходит, если:
- Исход бинарный — болен/здоров, положительный/отрицательный результат, событие/нет события.
- Предиктор количественный — уровень биомаркёра, балл шкалы, лабораторный показатель (не категория «да/нет»).
- Нужно оценить разделяющую способность теста и/или выбрать оптимальный порог (cut-off).
ROC-анализ и AUC: в чём разница метрик
| Метрика | Что показывает | Когда использовать |
|---|---|---|
| Чувствительность (Se) | Доля больных, правильно выявленных тестом | Один выбранный порог |
| Специфичность (Sp) | Доля здоровых, правильно исключённых | Один выбранный порог |
| ROC-кривая | Se vs (1 − Sp) при всех порогах | Визуальная оценка компромисса |
| AUC | Площадь под ROC-кривой (0–1) | Сравнение тестов, публикации |
AUC = 0,5 означает, что тест не лучше монетки. AUC = 1,0 — идеальное разделение (на практике редко).
Как работает ROC-анализ
- Для каждого возможного порога отсечения показателя классифицируют пациентов как «положительный/отрицательный» тест.
- На каждом пороге считают Se и Sp.
- Строят график: по оси Y — чувствительность, по оси X — доля ложноположительных (1 − Sp).
- Вычисляют AUC — вероятность того, что случайно выбранный больной получит более высокий показатель, чем случайно выбранный здоровый.
Чем ближе кривая к левому верхнему углу, тем лучше тест.
Пример ROC-анализа в клиническом исследовании
Оцениваем диагностическую ценность уровня прокальцитонина (нг/мл) для выявления бактериальной инфекции. Истинный статус (бактериальная / небактериальная) определён по культуре — золотой стандарт.
Шаг 1. Описательная статистика по группам исхода:
| Исход | n | Me [Q1; Q3] прокальцитонина |
|---|---|---|
| Бактериальная инфекция | 52 | 2,8 [1,4; 6,1] |
| Небактериальная | 48 | 0,3 [0,1; 0,8] |
Медианы заметно различаются — биомаркёр потенциально информативен, но нужен формальный ROC-анализ.
Шаг 2. ROC-анализ. AUC = 0,87 (95% ДИ: 0,79–0,93) — хорошая разделяющая способность. Оптимальный порог по индексу Youden: 0,52 нг/мл → Se = 0,81, Sp = 0,85.
Шаг 3. Интерпретация. При пороге 0,52 нг/мл тест выявляет 81% бактериальных случаев и правильно исключает 85% небактериальных. AUC 0,87 подтверждает, что прокальцитонин — полезный диагностический маркёр; конкретный порог согласуют с клиническим контекстом (цена пропуска инфекции vs лишние антибиотики).
Построить ROC-кривую по вашим данным
Загрузите Excel с количественным показателем и бинарным исходом — MedStat.Pro построит ROC-кривую, рассчитает AUC с 95% ДИ, Se, Sp и оптимальный порог. Без SPSS.
ROC-анализ в MedStat.Pro →Как интерпретировать AUC и p-value
Шкала AUC (ориентиры Ханли и МакНила):
| AUC | Качество теста |
|---|---|
| 0,50 – 0,60 | Бесполезный |
| 0,60 – 0,70 | Слабый |
| 0,70 – 0,80 | Приемлемый |
| 0,80 – 0,90 | Хороший |
| 0,90 – 1,00 | Отличный |
p-value для AUC проверяет, отличается ли AUC от 0,5 (случайного угадывания). Значимый p подтверждает, что тест информативен, но не заменяет оценку величины AUC и доверительного интервала.
Шаблон формулировки для статьи:
«Диагностическую ценность [показатель] оценивали с помощью ROC-анализа. AUC составила … (95% ДИ: …–…). При оптимальном пороге … ед. чувствительность — …, специфичность — ….»
Частые ошибки при ROC-анализе
- ROC для номинального предиктора. Нужен количественный (или хотя бы порядковый) показатель; для готовых категорий «+/−» достаточно таблицы 2×2.
- Смешение выборок. Обучающая и тестовая выборки для cut-off должны быть разделены при валидации.
- Отчёт только AUC без Se/Sp. Рецензенту нужен порог и операциональные характеристики.
- Игнорирование 95% ДИ AUC. Точечная оценка без интервала неинформативна.
- Сравнение AUC без теста ДеЛонга. При сравнении двух тестов нужен формальный тест различия площадей.
Частые вопросы
Что показывает ROC-кривая в медицине?
Компромисс между чувствительностью и специфичностью при всех порогах. AUC суммирует качество теста в одно число.
Как интерпретировать AUC?
От 0,5 (случайно) до 1,0 (идеально). В публикациях указывают AUC и 95% ДИ.
Чем ROC-анализ отличается от Se/Sp?
Se и Sp — для одного порога. ROC и AUC — для всей кривой порогов.
Как выбрать оптимальный порог?
Индекс Youden, клинический контекст или минимизация общей ошибки — в зависимости от цены FN и FP.
Где провести ROC-анализ онлайн?
В MedStat.Pro: количественный показатель + бинарный исход → ROC, AUC, Se, Sp.
Что дальше
Для выбора метода сравнения групп — «Как выбрать статистический критерий». Сравнение средних биомаркёра между группами — t-критерий или Манна-Уитни.
Про интерпретацию значимости — что такое p-value. Про неопределённость оценок — доверительный интервал.
Проведите ROC-анализ в MedStat.Pro — загрузите данные, получите кривую, AUC и текст для «Материалы и методы».
На интенсиве по медицинской статистике разбираем ROC, диагностические тесты и отчётность для журналов.
