ToolsGambling
TG
Модель вероятности MLB: построение и проверка

Как построить и честно проверить модель вероятности для MLB

Содержание

Чтобы построить модель для одного рынка MLB, сначала зафиксируй исход, правила расчёта ставки и время прогноза. Затем сохрани только доступные к этому моменту данные, создай простую базовую модель, проверь её на более поздних матчах и сравни оценку вероятности с коэффициентом. Ожидаемую ценность и размер ставки рассчитывай только после такой проверки — и считай их условными результатами, а не обещанием прибыли.

Вероятность, прогноз и выгодная цена — разные вещи. Модель оценивает вероятность исхода; прогноз выбирает исход; сравнение с ценой показывает, есть ли положительная расчётная ожидаемая ценность при условии, что оценка вероятности верна.

Выбери один исход и время прогноза

Начни со ставки на победителя матча (moneyline) и заранее определи, какой результат модель должна предсказывать и в какой момент.

Запиши до подготовки данных:

  • Целевой исход: победа выбранной команды по правилам конкретного рынка.
  • Правила расчёта: какие условия оператора относятся к переносу, прерыванию матча, смене стартового питчера и другим исключениям.
  • Время отсечения данных: момент, после которого новые сведения уже нельзя использовать для этого прогноза.
  • Единицу наблюдения: один матч и один выбранный исход.
  • Сравниваемую цену: коэффициент на тот же исход с теми же правилами расчёта, доступный в момент прогноза.

Не смешивай ставку на победителя с ран-лайном. Для ран-лайна нужна отдельная цель, учитывающая предложенную фору. Для тотала нужна цель, соответствующая конкретной границе общего числа ранов. Модель вероятности победы сама по себе не даёт вероятности прохода этих рынков.

Зафиксируй предматчевый снимок данных

Для каждого исторического прогноза сохрани состояние данных именно на выбранное время отсечения. Наличие сведений в сегодняшней базе ещё не означает, что они были доступны до матча.

Полезно хранить идентификатор матча, время прогноза, источник каждого признака, время его доступности и отметку о пропуске. Для стартового питчера, состава и буллпена отдельно отмечай, что было известно на тот момент.

ДанныеЧто можно использоватьОграничение
Исторические матчи и события RetrosheetПрошлые результаты и события для формирования цели и исторических признаковЭто не источник букмекерских коэффициентов
MLB StatcastДоступные к моменту прогноза показатели прошлых событийНельзя включать события текущего матча или поздние обновления
Стартовый питчерИнформацию, доступную до отсеченияПозднее подтверждение нельзя переносить в ранний прогноз
СоставИзвестный на момент отсечения состав или отметку, что он ещё неизвестенОкончательный состав не всегда доступен заранее
БуллпенИсторическую нагрузку и доступные сведения о группе питчеров на заменеНельзя назначать фиксированную поправку к ранам без проверки
КоэффициентыОтдельно сохранённую цену с временем полученияНельзя предполагать, что она входит в набор игровых данных

Retrosheet предоставляет исторические записи матчей и событий. Для сравнения модели с ценой тебе нужен отдельный архив коэффициентов. Если подходящих исторических цен нет, ты можешь проверить качество вероятностей, но не воспроизвести историческую доходность ставок по этим ценам.

Пропуски обрабатывай по заранее выбранному правилу. Не заменяй неизвестный на момент прогноза состав фактическим составом матча: так ты незаметно добавишь сведения из будущего.

Построй простую базовую модель и осмысленные признаки

Для рынка победы хозяев начни с воспроизводимого учебного примера. Приведи исторические игровые записи Retrosheet к таблице, где одна строка соответствует одному матчу, а бинарная целевая переменная равна 1 при победе хозяев и 0 при их поражении. Эти записи содержат данные об играх, а не коэффициенты букмекеров.

Для каждого матча зафиксируй момент отсечения данных — момент, на который строится прогноз. Рассчитай процент побед каждой команды только по завершённым предыдущим играм строго до этого момента. Первым признаком возьми разницу: процент побед хозяев минус процент побед гостей. Заранее определи обработку пропусков, например для команд без предыдущих игр.

Раздели данные хронологически: ранний период — для обучения, следующий — для валидации, последний — для итоговой проверки. Используй явные границы по датам или сезонам, учитывая нерегулярное расписание MLB. Простейшая базовая модель выдаёт для каждого матча одну вероятность — долю побед хозяев в обучающем наборе. Затем обучи логистическую регрессию на указанной разнице процентов побед и получай вероятность победы хозяев через predict_proba, выбирая столбец класса 1. Этот метод описан в документации LogisticRegression; документация подтверждает возможность получать вероятности, но не качество модели для MLB.

Все признаки рассчитывай только из информации, доступной строго до момента отсечения. Параметры обработки пропусков и другие преобразования, зависящие от данных, определяй только на обучающем периоде; не используй будущие результаты для подготовки признаков. Настройки сравнивай на валидации, а итоговую оценку проводи на отложенном тестовом периоде. Это учебный рецепт, а не проверенная прибыльная стратегия. Более сложные модели и дополнительные признаки, включая перечисленные ниже метрики, сравнивай с этими базовыми вариантами.

Показатели игроков могут быть признаками, но не готовыми вероятностями ставки:

  • Ожидаемый взвешенный показатель выходов на базу (xwOBA) в Statcast оценивает ценность событий отбивания главным образом по скорости вылета мяча и углу вылета. Это не вероятность победы. Определение и область применения приведены в справочнике MLB.
  • Питчинг-независимая оценка (FIP) — оценка уровня допускаемых ранов на основе страйкаутов, прогулок, попаданий мячом в отбивающего и хоум-ранов с допущениями о средних результатах мячей в игре и последовательности событий. Она не является вероятностью исхода; см. описание FanGraphs.
  • Ожидаемый FIP (xFIP) использует сходную конструкцию, но заменяет отношение хоум-ранов к высоким летящим мячам средним по лиге. Это отдельное допущение, а не другое название той же оценки; см. описание FanGraphs.

Для исторических показателей заранее определи окно расчёта. В каждой строке используй только события, завершившиеся до времени отсечения. Не существует подтверждённого здесь «лучшего» алгоритма или универсального набора признаков: их пользу нужно проверять на отложенных данных.

Учитывай парк-фактор по метрике и окну

Парк-фактор Statcast используй как показатель влияния стадиона в определённой метрике и временном окне, а не как универсальный множитель прогноза ранов.

В официальном Baseball Savant для 2025 года с трёхлетним окном используются данные за 2023–2025 годы. Для Coors Field указаны:

МетрикаПарк-фактор
Общий показатель112
Раны125
Хоум-раны105

Значение 100 соответствует среднему уровню выбранной метрики. Эти показатели учитывают игроков и то, какой рукой они играют; разные метрики нельзя подменять друг другом.

Официальный экран Baseball Savant с парк-факторами Statcast на английском языке

Оригинальный англоязычный экран Baseball Savant. Выбраны 2025 год и трёхлетнее окно 2023–2025; подпись поясняет источник, а не переводит интерфейс.

Не умножай прогноз ранов одного матча напрямую на значение из этой таблицы. Парк-фактор описывает агрегированное соотношение в конкретной методике. Если ты включаешь его в модель, способ включения и полезность должны пройти ту же хронологическую проверку, что и остальные признаки.

Кроме того, окно 2023–2025 нельзя целиком использовать для раннего прогноза внутри этого периода: в нём содержатся более поздние события. Для исторической проверки нужен вариант показателя, доступный на соответствующее время отсечения.

Проверь модель на более поздних матчах без утечки

Разделяй данные по времени: ранний период — для обучения, следующий — для настройки, поздний отложенный период — для окончательной проверки. Случайное перемешивание матчей не воспроизводит применение модели к будущему.

Практический порядок проверки:

  1. Определи границы периодов по датам или сезонам.
  2. На раннем периоде подготовь признаки и обучи модель.
  3. На следующем периоде выбери настройки и, если требуется, способ калибровки вероятностей.
  4. Зафиксируй окончательный вариант.
  5. Получи прогнозы для позднего отложенного периода, не используя его результаты при настройке.
  6. Сравни модели на одних и тех же матчах, исходах и времени отсечения.

Для последовательной исторической проверки повторяй этот порядок: обучение использует только прошлое относительно очередного проверочного периода.

Не считай стандартное разделение по порядковым номерам строк автоматически корректным. В документации TimeSeriesSplit указано требование равномерных временных интервалов для сопоставимых проверочных периодов. Календарь MLB нерегулярен, поэтому границы по датам или сезонам нужно определить явно.

Особенно проверяй следующие источники утечки:

  • состав, опубликованный после отсечения;
  • позднее подтверждение стартового питчера;
  • фактическую погоду вместо доступных тогда сведений;
  • статистику, включающую проверяемый матч или более поздние события;
  • коэффициент закрытия вместо цены раннего прогноза;
  • преобразования данных, настроенные сразу на всей выборке.

Сравни модель как минимум с простой базовой моделью и базовым прогнозом из коэффициентов — при наличии цен на то же время. Если используешь подразумеваемую вероятность одного исхода без снятия маржи, прямо укажи это ограничение.

Оцени качество вероятностей отдельно от прибыли

Проверь калибровку вероятностей, оценку Брайера и логарифмическую функцию потерь. Ни одна из этих проверок отдельно не доказывает прибыльность ставок.

ПроверкаНа какой вопрос отвечаетЧего не доказывает
Кривая калибровки вероятностейСоответствуют ли уровни прогнозов наблюдаемым частотам в сопоставимых группах?Наличие выгодных коэффициентов
Оценка БрайераНасколько вероятностные прогнозы расходятся с бинарными результатами?Калибровку или доходность сама по себе
Логарифмическая функция потерьНасколько велики ошибки вероятностей, особенно уверенные ошибки?Прибыль от ставок

Определения и методы расчёта доступны в документации по калибровке вероятностей, оценке Брайера и логарифмической функции потерь.

Сравни показатели на одной цели и одной выборке. Для кривой калибровки показывай число наблюдений в группах: без него трудно понять, насколько устойчиво наблюдаемое соответствие. Не назначай универсальный порог качества или достаточный размер выборки — такие значения здесь не подтверждены.

Если после просмотра позднего периода ты меняешь модель, этот период уже участвовал в разработке. Для независимой окончательной проверки потребуется следующий, ещё не использованный период.

Сравни вероятность с коэффициентом: пример 1

При гипотетическом десятичном коэффициенте 2.00 и вероятности модели 55% разница вероятностей составляет +5 процентных пунктов, а ожидаемая доходность ставки — +10%. Это разные величины.

Для десятичного коэффициента исходная подразумеваемая вероятность равна единице, делённой на коэффициент. Она описывает цену одного исхода до снятия букмекерской маржи, а не установленную «истинную» вероятность.

ВеличинаРасчётРезультат
Вероятность моделиЗаданная оценка55%
Исходная подразумеваемая вероятность1 / 2.0050%
Разница в процентных пунктах вероятности55% − 50%+5 п.п.
Ожидаемая ценность (EV) на $1 риска0.55 × (2.00 − 1) − (1 − 0.55)+$0.10
Ожидаемая доходность ставки+$0.10 / $1+10%

При выигрыше выплата по коэффициенту 2.00 включает возврат ставки; чистая прибыль составляет сумму ставки. При проигрыше теряется сумма ставки. Поэтому в формуле ожидаемой ценности выигрышная часть использует коэффициент − 1.

Знаменатель доходности здесь — сумма ставки под риском, а не банкролл и не выплата. Разница +5 п.п. не означает доходность +5%.

Этот расчёт предполагает два исхода расчёта ставки: полный выигрыш или полный проигрыш. Если правила допускают иной расчёт, его нужно отдельно учесть. Вероятность 55% здесь гипотетическая: это не прогноз конкретного матча и не рекомендация ставки.

Конвертер коэффициентов помогает получить подразумеваемую вероятность и сопоставить форматы. Американские коэффициенты — отдельный формат записи цены, не отдельный вид вероятности. Конвертер реализован, но точность введённой вероятности модели он не проверяет. Подробнее о смысле расчёта — в глоссарии ожидаемой ценности.

Задай банкролл и долю критерия Келли: пример 2

При коэффициенте 2.00, вероятности 55%, явном банкролле $1,000 и четвертной доле критерия Келли снимок калькулятора показывает ставку $25. Банкролл вводится отдельно — его нельзя выводить из размера ставки или количества ставок.

В калькуляторе Келли задай в соответствующих полях:

  • коэффициент — 2.00;
  • вероятность — 55%;
  • банкролл — $1,000;
  • долю критерия Келли — четвертную.

Для десятичного коэффициента полная доля критерия Келли определяется формулой:

[p × (коэффициент − 1) − (1 − p)] / (коэффициент − 1)

Дробная доля уменьшает полученную величину. Она не исправляет ошибку вероятности и не делает ставку безопасной.

Показатель снимкаЗначение
Коэффициент2.00
Вероятность модели55%
Банкролл$1,000
Доля критерия КеллиЧетвертная
Исходная подразумеваемая вероятность50%
Ожидаемая доходность ставки+10%
Размер ставки$25
Ожидаемая ценность в интерфейсе$3, округлённо

Ожидаемая доходность +10% применяется к сумме ставки $25, поэтому ожидаемая ценность до округления составляет $2.50. Интерфейс показывает её округлённо как $3. Это не ожидаемая выплата и не фактическая чистая прибыль.

Русский интерфейс калькулятора Келли: банкролл $1,000, ставка $25; локальный сервер разработки проекта, не рабочий сайт

Снимок русского интерфейса калькулятора Келли: источник — локальный сервер разработки проекта, а не рабочий сайт. При коэффициенте 2.00, вероятности 55%, банкролле $1,000 и использовании четверти Келли ставка составляет $25. Ожидаемая ценность $2.50 отображается с округлением до целого доллара — $3.

В этом снимке показатель +10% означает ожидаемую доходность ставки, а не разницу вероятностей в процентных пунктах. Знаменатель размера ставки по критерию Келли — явный банкролл; знаменатель ожидаемой доходности — сумма ставки.

Калькулятор реализует расчёт по введённым данным. Он не проверяет модель, не подтверждает вероятность 55% и не гарантирует прибыль.

Реши, что именно подтверждает проверка

Считай результатом работы проверенную процедуру получения вероятности, а не обещание выигрыша. Переходить к сравнению с ценой имеет смысл только тогда, когда ты можешь восстановить данные и прогноз на выбранный момент.

Перед применением проверь:

  • цель и правила расчёта ставки однозначны;
  • предматчевый снимок не содержит будущих сведений;
  • модель сравнивалась с базовыми прогнозами на одинаковых условиях;
  • поздний отложенный период не использовался для настройки;
  • калибровка вероятностей и оценки качества рассмотрены отдельно от денежных результатов;
  • ожидаемая ценность рассчитана по доступной цене;
  • банкролл задан явно, а округление размера ставки и ожидаемой ценности понятно.

Ценность закрывающей линии (CLV) можно использовать как дополнительную диагностику: сравнивай полученную цену с ценой закрытия того же рынка и с теми же правилами расчёта. Это не показатель фактической прибыли, а цена закрытия не должна попадать в признаки раннего прогноза.

Если ты рассматриваешь ставки на менее вероятную команду, стратегия ставок на аутсайдера MLB относится к выбору цены и исхода, но не заменяет проверку вероятности.

Даже положительная расчётная ожидаемая ценность зависит от качества оценки и может сопровождаться проигрышами. Честная модель показывает не только число, но и момент его получения, доступные данные, границы проверки и допущения расчёта.

FAQ

Часто задаваемые вопросы

Вероятность модели описывает неопределённость конкретного исхода. Прогноз победителя лишь выбирает сторону. Даже более вероятный исход может быть невыгоден по предложенному коэффициенту.

Нет. Ожидаемая ценность зависит от точности вероятности, коэффициента и правил расчёта ставки. Ошибка модели может сделать положительную расчётную величину отрицательной, а отдельная ставка может проиграть.

Случайное разделение не воспроизводит применение модели к будущим матчам. Используй хронологические периоды: обучайся на ранних данных, настраивай модель на следующих и проверяй окончательный вариант на позднем отложенном периоде.

Нет. Калькулятор использует введённую вероятность, коэффициент, банкролл и долю критерия Келли. Он рассчитывает размер ставки, но не подтверждает качество модели и не гарантирует прибыль.

Евгений Волков

Верифицирован
Fullstack-разработчик

Fullstack-разработчик с математическим образованием. Делаю калькуляторы и игровые инструменты ToolsGambling на Pixi.js и современном вебе, и каждый результат основан на прозрачных формулах теории вероятностей, которые можно проверить самому.

ОбразованиеМатематика
СпециализацияiGaming
СтатусАктивен

Была ли статья полезной?

Поделиться статьёй

Бесплатные калькуляторы и инструменты

Посчитай числа перед ставкой. Наши калькуляторы работают на прозрачных формулах, которые можно проверить самому.