Calibration plot (график калибровки, калибровочная кривая) — это один из самых важных диагностических графиков для моделей, предсказывающих вероятности (логистическая регрессия, градиентный бустинг, нейросети и т.д.).
Простыми словами: Калибровочный график показывает, насколько предсказанные моделью вероятности соответствуют реальной (наблюдаемой) частоте событий. Иными словами, если модель говорит, что событие произойдет с вероятностью 70%, то так ли это на самом деле?
Зачем он нужен?
Представьте две модели, предсказывающие дождь:
- Модель A: Когда она говорит “90%”, дождь идёт в 90% случаев. Когда говорит “10%”, дождь идёт в 10% случаев. Эта модель идеально откалибрована.
- Модель B: Когда она говорит “90%”, дождь идёт только в 50% случаев. Когда говорит “10%”, дождь идёт в 30% случаев. Эта модель имеет плохую калибровку, хоть может быть и хороша в ранжировании (её “90%” всё равно чаще, чем “10%”).
Калибровочный график позволяет визуально оценить эту “честность” прогнозов.
Как он строится? (Алгоритм)
- Предсказание: Ваша модель предсказывает вероятность положительного класса (класса “1”) для каждого наблюдения в тестовой выборке.
- Бининг (группировка): Все наблюдения сортируются по предсказанной вероятности и разбиваются на групп (бинов). Обычно берут 10 бинов (децили) или используют равные интервалы вероятности (0.0-0.1, 0.1-0.2, …).
- Расчёт для каждого бина:
- По оси X (Предсказанная вероятность): Средняя предсказанная вероятность для всех наблюдений в этом бине.
- По оси Y (Наблюдаемая доля): Фактическая доля единиц (событий) в этом бине. То есть количество реальных событий, делённое на общее число наблюдений в бине.
- Визуализация: На график наносятся точки для каждого бина.
- Добавляется “идеальная” линия (пунктиром или серым цветом). Если точка лежит на этой линии, значит, средняя предсказанная вероятность в этом бине равна фактической доле событий.
- Часто добавляют сглаженную кривую (например, LOWESS), чтобы увидеть общий тренд без влияния дискретности бинов.
- Иногда отображают размер каждого бина (например, шириной столбца гистограммы на том же графике), чтобы показать, на каких диапазонах вероятностей лежит больше всего наблюдений.
Как интерпретировать график?
- Кривая близка к диагонали : Модель хорошо откалибрована. Её вероятностным прогнозам можно доверять.
- Кривая ВЫШЕ диагонали: Модель “пессимистична” (недокалибрована). Она систематически занижает вероятность. Например, в случаях, где она предсказывает 30%, событие происходит в 50%.
- Кривая НИЖЕ диагонали: Модель “оптимистична” (перекалибрована). Она систематически завышает вероятность. Например, предсказывает 80%, а происходит в 60%.
Почему калибровка так важна?
- Принятие решений на основе порога: Во многих сферах (медицина, финансы) решение принимается по порогу вероятности (“если риск > 50%, оперируем”). Если модель завышает риски, это приведет к излишним вмешательствам.
- Сравнение моделей: Модель может иметь отличные метрики ранжирования (AUC-ROC), но плохую калибровку. Две модели с одинаковым AUC могут по-разному “врать” в вероятностях.
- Стоимость ошибки: В задачах, где важна точная оценка вероятности (например, прогнозирование доходов или рисков), калибровка критична.
Метрики калибровки (числовые дополнения к графику)
- Brier Score (Score Бриера): Композитная метрика, объединяющая и калибровку, и дискриминацию. Чем меньше, тем лучше. Идеальная модель имеет Score = 0.
- Calibration Loss (Лог-лосс калибровки): Часть Score Бриера, отвечающая именно за калибровку.
- Expected Calibration Error (ECE): Средневзвешенная разница между предсказанной и наблюдаемой долей по всем бинам. Основная современная метрика.
Как улучшить калибровку модели?
Если график показывает плохую калибровку, можно применить методы пост-обработки (калибровки):
- Platt Scaling (Логистическая калибровка): “Пропускает” выход модели (логит) через логистическую регрессию на небольшом калибровочном наборе.
- Isotonic Regression (Изотоническая регрессия): Более гибкий непараметрический метод, подходит для сложных случаев нелинейного расхождения.
Calibration plot — это “зеркало честности” для вашей вероятностной модели. Он отвечает на вопрос: “Можно ли верить числам, которые выдает моя модель, или они лишь служат для ранжирования?” Построение и анализ этого графика — обязательный шаг при внедрении любой модели, принимающей решения на основе вероятностей.