Калибровка прогнозов: что это и зачем
Калибровка прогнозов: базовое определение и метрики
Калибровка — это проверка честности ваших вероятностей. Если модель говорит, что команда побеждает в 70% случаев, то на длинной дистанции из ста таких матчей она должна выигрывать примерно 70. Это соответствие между заявленной уверенностью и реальной частотой исхода. Проще говоря, калибровка отвечает на вопрос: «Говорит ли модель правду о своих шансах?», а не пытается ли она казаться умнее, чем есть.
Для оценки используют несколько метрик. Brier score — это среднеквадратичная ошибка прогноза, штрафующая за излишнюю уверенность в неверном исходе. Reliability diagram, или диаграмма надёжности, визуально сравнивает прогнозные вероятности с фактическими частотами по группам. Sharpness (резкость) показывает, насколько смелы ваши оценки: модель, дающая всегда 50/50, идеально откалибрована, но бесполезна. Ошибка калибровки (calibration error) суммирует отклонения по всем группам, выявляя систематический сдвиг.
Ключевое отличие — от дискриминативности. Калибровка отвечает на вопрос «как часто это происходит в группе с вероятностью 60%?». Дискриминативность отвечает на вопрос «насколько хорошо модель отличает победителей от проигравших?». Модель может идеально разделять классы, но врать в самих цифрах (переуверенность), или наоборот — давать честные 55%, но не иметь предсказательной силы.
Зачем калибровать: банкролл, EV и доверие аудитории
Точная калибровка напрямую бьет по двум вещам: вашему банкроллу и математическому ожиданию (EV). Если модель переоценивает вероятность на 5%, вы систематически ставите по коэффициенту хуже справедливого. На дистанции это минусовое EV, которое превращается в просадку. Верно откалиброванная модель на 60% будет давать около 60% прохода — это стабилизирует дисперсию. Банкролл меньше «шатает», а кривая доходности растет плавнее, без глубоких ям, вызванных самообманом модели.
Для медиа калибровка — это вопрос репутации. Читатель должен видеть не просто «проходимость 70%», а соответствие заявленных вероятностей реальным исходам. Когда вы публикуете распределение прогнозов и фактический результат по «корзинам» (например, все события на 55%, 65%, 75%), аудитория видит прозрачность. Это формирует доверие: люди понимают, что вы не рисуете красивые цифры задним числом, а работаете с измеримым качеством сигнала.
Наконец, калибровка — это общий язык для сравнения. Без нее невозможно честно сопоставить каппера и нейросеть. Один дает 1.80 на то, что считает 80%-ным, другой — на 60%-ное. Приведя обе модели к единой шкале вероятностей и отрисовав их калибровочные кривые, вы увидите, чья оценка ближе к диагонали идеала. Так вы отсекаете тех, кто просто «попадает», но по плохим ценам, и находите тех, кто действительно видит рынок.
Типичные искажения: оверфит, смещение, хвосты
Оверфит — это когда модель «выучила шум» прошлых матчей, а не закономерности. На истории она идеальна, но на новых данных калибровка рушится: заявленные 70% заходят в 55%. Причина — слишком много признаков, малая выборка, отсутствие регуляризации. Итог — ложная уверенность и завышенные ставки. Проверяйте модель на отложенной выборке и скользящем окне, иначе банкролл оплатит вашу самоуверенность.
Систематическое смещение тянет вероятности в одну сторону. В беттинге его источники — маржа, новостной фон и «поздняя линия». Маржа занижает честные вероятности; новости (травмы, погода) двигают линию быстрее, чем вы обновляете модель; закрытие линии часто точнее вашей оценки. Итог — прогноз стабильно отклонён на 2–4 п.п., и даже «ровная» калибровка по Brier не спасает EV.
Хвосты распределения — редкие исходы, которые и делают сезон. Их недооценка — классика: фаворит «почти всегда» выигрывает, пока сенсация не сжигает месяц работы. Обратная крайность — переоценка дальних аутсайдеров ради «высокой дисперсии». Калибруйте хвосты отдельно: взвешивайте ошибки в зонах 0–5% и 95–100%, добавляйте признаки редких сценариев и не стесняйтесь давать 1–2% там, где рынок даёт 0.5%.
Данные и фичи: что действительно помогает
Начинайте с «чистого» фундамента. Кэфы закрытия (Pinnacle, CLV) — ваш бенчмарк: именно они ближе всего к справедливой вероятности. Фиксируйте таймстемпы: ранняя линия, предматчевая и инплей — это разные рынки, смешивать их нельзя. Сразу отсекайте аномалии: отмены, технические возвраты, подозрительные всплески объёма и ошибки ввода. Если матч прерван или котировка «поплыла» из-за скандала — помечайте и выносите в отдельный пул, иначе калибровка будет учить модель шуму.
Из фичей реально помогают метрики качества моментов: xG и xGA в футболе, ожидаемые ассисты, темп и владения в баскетболе, процент реализации в хоккее. Добавляйте контекст: плотность расписания, перелёты, дерби, погода (ветер, дождь, температура), кадровые потери и их влияние на роли. Но каждую переменную проверяйте: важна ли она на отложенной выборке и нет ли «утечки будущего» (например, финальный счёт в признаках до матча).
Калибровка не живёт вечно. Держите отложенную выборку (например, последние 8–12 недель) и делайте forward-тестирование на новых неделях без «подсматривания». Сравнивайте Brier и надёжность по корзинам вероятностей, следите за CLV: если рынок стабильно бьёт ваши числа — модель дрейфует. Обновляйте веса фичей и пороги, но малыми шагами; любой крупный апдейт — сначала на бумаге, затем на песочнице.
Методы калибровки: от платёжных весов до ансамблей
Когда модель систематически «переплачивает» или «недоплачивает» по вероятностям, её шкалу выравнивают. Простейший инструмент — платёжные веса (Platt scaling): логистическая регрессия натягивается на выходы модели по отложенной выборке. Это быстро, стабильно на малых данных и почти не шумит. Если зависимость нелинейна и данных много, берите изотоническую регрессию: она монотонно сортирует и «ступеньками» подтягивает вероятности к эмпирическим.
Для глубоких сетей часто достаточно температурного масштабирования: один параметр T «растягивает» логиты до более честных вероятностей, не ломая ранжирование. Это дёшево и эффективно, когда основная проблема — излишняя уверенность. Для стабильности на длинной дистанции собирайте ансамбли: усреднение нескольких моделей или бэггинг срезают случайные выбросы и смягчают хвосты распределения, что критично для банкролла.
Проверка — по бинам. Разбейте прогнозы на интервалы, например [0,50–0,60), [0,60–0,70) и т. д., и сравните среднюю прогнозную вероятность с фактической частотой побед. Обязательно взвешивайте по объёму: бин с 2% ставок не должен диктовать правки. Вводите минимальную ёмкость (условно 200–300 ставок на бин) или регуляризуйте к соседним бинам. Если в «0,70–0,80» по 5000 ставок частота 0,66 — тяните шкалу вниз именно там; если в «0,50–0,60» всего 40 ставок — правьте осторожно или объединяйте с соседним интервалом.
Пошаговый пайплайн калибровки на спортивном проекте
Пайплайн калибровки — это строгая последовательность шагов, которая превращает сырые вероятности модели в надёжные оценки. Начинаем со сбора: фиксируем исход, коэффициент закрытия линии (close price) и контекст — травмы, календарь, погоду. Разрезаем данные на train/val/test по сезонам или лигам, чтобы не было заглядывания в будущее. Например, обучаем на РПЛ 2024/25, валидируем на 2025/26, тестируем на стартах 2026/27. Это защищает от утечки времени и переоценки на знакомых матчах.
Строим базовую модель — градиентный бустинг или логистическую регрессию. Затем рисуем reliability diagram: по оси X — предсказанная вероятность, по оси Y — реальная частота побед в этом бинe. Если кривая прогнулась ниже диагонали — модель слишком уверена, завышенные вероятности нужно «тянуть» вниз. Если выше — наоборот, модель слишком осторожна. По форме прогиба выбираем метод: для общего сдвига хватит логистической калибровки (Platt scaling), для S-образной кривой — изотонической регрессии.
Пост-проверка обязательна. Считаем Brier score внутри бинов: хороший знак — низкий Brier в «опасной» зоне 60–80%, где принимаются крупные доли банка. Проверяем устойчивость на сдвиге линии: симулируем, что берём не close, а цену на час раньше — калибровка не должна развалиться. Финальный фильтр — A/B на рассылке: половина аудитории получает «сырые» сигналы, половина — калиброванные; сравниваем ROI, просадку и долю закрывшихся в плюс бинов. Калибровка побеждает, когда растёт не только винрейт, но и Brier при сопоставимом обороте.
Ошибки внедрения и как их избежать
Самая частая и грубая ошибка — проверять калибровку на том же наборе, где подбирались веса. Модель просто «заучит» шум, а график надёжности будет выглядеть идеально. На новых матчах иллюзия рассыплется, и банкролл просядет. Решение железное: держите отложенную выборку, которую никогда не видите при обучении и подборе гиперпараметров. Финальную калибровку валидируйте только на ней или используйте кросс-валидацию по времени, чтобы не было «протечки из будущего».
Вторая ловушка — слепая вера в график при малых выборках. Если в бине «80–90%» у вас всего 7 событий, одна случайная сенсация превращает 86% в 71%, и вы делаете ложный вывод о перекосе. Смотрите не только на отклонение, но и на N в ячейке. Объединяйте редкие бины на хвостах, применяйте сглаживание или требуйте минимальный порог наблюдений, например от 50–100 исходов на интервал, прежде чем судить о систематической ошибке.
Третья путаница — смешение калибровки и выбора порога под ROI. Калибровка выравнивает шкалу вероятностей: событие с p=0,65 действительно случается примерно в 65% случаев. Порог ставки — это бизнес-решение: где у вас появляется положительное ожидание с учётом маржи и дисперсии. Подтягивая калибровку под «доходные» коэффициенты, вы сознательно портите вероятности ради краткосрочного плюса. Это путь к хрупкой стратегии. Держите цели раздельно: сначала честная шкала, затем — правило входа, например ставка при EV>3% и ширине линии не хуже N.
Выводы
Калибровка — это мост между вашей интуицией и строгой математикой. Она превращает расплывчатое «кажется, победит» в измеримую вероятность, дисциплинируя банкролл-менеджмент и отсекая эмоциональные решения. Когда ваши оценки согласованы с реальностью, вы перестаёте переоценивать фаворитов и недооценивать аутсайдеров, что напрямую влияет на ожидание (EV) и устойчивость счёта.
Начинайте с честного бенчмарка — линии закрытия (CLV). Если ваши «сырые» вероятности стабильно хуже CLV, сначала чините модель: фичи, утечки данных, оверфит. Затем применяйте Platt scaling или изотоническую регрессию — они дешёво выравнивают шкалу без переписывания ядра. Проверку делайте через reliability-диаграмму и ECE: разбейте прогнозы на бины, посчитайте фактическую частоту событий в каждом. Условный пример: в бине 60% оказалось 45% побед — недокалибровка на 15 п.п., нужен повышающий коэффициент именно в этой зоне.
Повторяйте цикл регулярно: данные стареют, травмы, календарь и мотивация меняют распределения, а рынки умнеют. Раз в неделю — быстрая проверка ECE по лиге, раз в месяц — переобучение калибратора на свежем окне. Это не бюрократия, а техобслуживание: пренебрежёте — получите тихий дрейф и ложную уверенность, которая дороже любой комиссии.
Итог прост: дисциплина измерений побеждает «чутьё». Бенчмарк по CLV, Platt/isotonic, контроль reliability — и цикл поддержки. Так мнение становится вероятностью, а вероятность — контролируемым риском.
Частые вопросы
1. Как проверить калибровку прогнозов на своих данных?
Разбейте ваши прогнозные вероятности на интервалы (бины), например 50–60%, 60–70% и так далее. Для каждого бина посчитайте фактическую частоту наступления события и сравните её со средней прогнозной вероятностью внутри группы. Если для бина с прогнозом 75% фактическая частота побед составляет 70%, ваша модель завышает шансы и требует калибровки.
2. Чем калибровка отличается от точности и ROI?
Калибровка — это соответствие между предсказанной вероятностью и реальной частотой исхода, она отвечает на вопрос «насколько честна цифра». Точность — это просто доля верных предсказаний, а ROI — финансовый итог с учётом коэффициентов и размера ставок. Модель может быть идеально калиброванной, но убыточной при низких коэффициентах, или точной, но плохо калиброванной, что ведёт к неверной оценке рисков.
3. Какой метод калибровки выбрать: Platt scaling или изотоническая регрессия?
Выбирайте Platt scaling, если у вас мало данных для калибровки и вы предполагаете, что зависимость между прогнозом и реальностью близка к сигмоиде. Изотоническая регрессия предпочтительнее при больших объёмах данных, так как она не навязывает форму кривой и может исправить сложные искажения. Учтите, что изотоническая регрессия склонна к переобучению на малых выборках, в то время как Platt scaling более стабилен.
4. Как часто перекалибровывать модель при изменении линии и новостей?
p>Базовую перекалибровку стоит проводить раз в 1–3 месяца на свежих данных, чтобы учесть глобальные сдвиги в спорте. При резких изменениях, таких как травмы ключевых игроков или смена тренера, требуется оперативная корректировка в день события, а не полная перекалибровка всей модели. Для этого можно использовать поправочные коэффициенты к вероятностям, вместо того чтобы переобучать всю архитектуру.5. Можно ли калибровать прогнозы с учётом маржи букмекера и комиссии?
Да, для этого сначала нужно очистить коэффициенты букмекера от маржи (vig), чтобы получить «справедливые» вероятности, и только потом сравнивать их со своими. При расчёте ROI и оптимальной ставки (например, по критерию Келли) всегда используйте коэффициенты за вычетом комиссии, чтобы видеть реальную доходность. Калибровка же применяется именно к вашей «чистой» вероятности до её конвертации в коэффициент для сравнения с рынком.