Calibration plot (график калибровки, калибровочная кривая) — это один из самых важных диагностических графиков для моделей, предсказывающих вероятности (логистическая регрессия, градиентный бустинг, нейросети и т.д.).

Простыми словами: Калибровочный график показывает, насколько предсказанные моделью вероятности соответствуют реальной (наблюдаемой) частоте событий. Иными словами, если модель говорит, что событие произойдет с вероятностью 70%, то так ли это на самом деле?


Зачем он нужен?

Представьте две модели, предсказывающие дождь:

  • Модель A: Когда она говорит “90%”, дождь идёт в 90% случаев. Когда говорит “10%”, дождь идёт в 10% случаев. Эта модель идеально откалибрована.
  • Модель B: Когда она говорит “90%”, дождь идёт только в 50% случаев. Когда говорит “10%”, дождь идёт в 30% случаев. Эта модель имеет плохую калибровку, хоть может быть и хороша в ранжировании (её “90%” всё равно чаще, чем “10%”).

Калибровочный график позволяет визуально оценить эту “честность” прогнозов.


Как он строится? (Алгоритм)

  1. Предсказание: Ваша модель предсказывает вероятность положительного класса (класса “1”) для каждого наблюдения в тестовой выборке.
  2. Бининг (группировка): Все наблюдения сортируются по предсказанной вероятности и разбиваются на групп (бинов). Обычно берут 10 бинов (децили) или используют равные интервалы вероятности (0.0-0.1, 0.1-0.2, …).
  3. Расчёт для каждого бина:
    • По оси X (Предсказанная вероятность): Средняя предсказанная вероятность для всех наблюдений в этом бине.
    • По оси Y (Наблюдаемая доля): Фактическая доля единиц (событий) в этом бине. То есть количество реальных событий, делённое на общее число наблюдений в бине.
  4. Визуализация: На график наносятся точки для каждого бина.
    • Добавляется “идеальная” линия (пунктиром или серым цветом). Если точка лежит на этой линии, значит, средняя предсказанная вероятность в этом бине равна фактической доле событий.
    • Часто добавляют сглаженную кривую (например, LOWESS), чтобы увидеть общий тренд без влияния дискретности бинов.
    • Иногда отображают размер каждого бина (например, шириной столбца гистограммы на том же графике), чтобы показать, на каких диапазонах вероятностей лежит больше всего наблюдений.

Как интерпретировать график?

  • Кривая близка к диагонали : Модель хорошо откалибрована. Её вероятностным прогнозам можно доверять.
  • Кривая ВЫШЕ диагонали: Модель “пессимистична” (недокалибрована). Она систематически занижает вероятность. Например, в случаях, где она предсказывает 30%, событие происходит в 50%.
  • Кривая НИЖЕ диагонали: Модель “оптимистична” (перекалибрована). Она систематически завышает вероятность. Например, предсказывает 80%, а происходит в 60%.

Почему калибровка так важна?

  1. Принятие решений на основе порога: Во многих сферах (медицина, финансы) решение принимается по порогу вероятности (“если риск > 50%, оперируем”). Если модель завышает риски, это приведет к излишним вмешательствам.
  2. Сравнение моделей: Модель может иметь отличные метрики ранжирования (AUC-ROC), но плохую калибровку. Две модели с одинаковым AUC могут по-разному “врать” в вероятностях.
  3. Стоимость ошибки: В задачах, где важна точная оценка вероятности (например, прогнозирование доходов или рисков), калибровка критична.

Метрики калибровки (числовые дополнения к графику)

  • Brier Score (Score Бриера): Композитная метрика, объединяющая и калибровку, и дискриминацию. Чем меньше, тем лучше. Идеальная модель имеет Score = 0.
  • Calibration Loss (Лог-лосс калибровки): Часть Score Бриера, отвечающая именно за калибровку.
  • Expected Calibration Error (ECE): Средневзвешенная разница между предсказанной и наблюдаемой долей по всем бинам. Основная современная метрика.

Как улучшить калибровку модели?

Если график показывает плохую калибровку, можно применить методы пост-обработки (калибровки):

  1. Platt Scaling (Логистическая калибровка): “Пропускает” выход модели (логит) через логистическую регрессию на небольшом калибровочном наборе.
  2. Isotonic Regression (Изотоническая регрессия): Более гибкий непараметрический метод, подходит для сложных случаев нелинейного расхождения.

Calibration plot — это “зеркало честности” для вашей вероятностной модели. Он отвечает на вопрос: “Можно ли верить числам, которые выдает моя модель, или они лишь служат для ранжирования?” Построение и анализ этого графика — обязательный шаг при внедрении любой модели, принимающей решения на основе вероятностей.