Модель Бредли — Терри: что это такое простыми словами
Суть и формула модели Бредли — Терри
Модель Бредли — Терри отвечает на простой вопрос: какова вероятность, что участник i победит участника j? За каждым игроком стоит скрытая «сила» s. Чем она выше, тем чаще победы. Базовая формула выглядит так: . Если s_i=3, а s_j=1, то p=3/(3+1)=0,75. Силы всегда положительны, их масштаб не важен — важна пропорция.
Чтобы перейти к линейной математике, модель переводят в логит-форму. Логит — это логарифм шансов. Получается красиво и просто: . Теперь разница логарифмов сил равна логарифму шансов. Это позволяет оценивать параметры привычными методами регрессии: логарифмы сил ведут себя как аддитивные рейтинги.
Как найти s по результатам матчей? Используют метод максимального правдоподобия: подбирают такие s, при которых наблюдаемые исходы наиболее вероятны. На практике почти всегда добавляют регуляризацию (штраф за слишком большие значения), чтобы модель не «переобулась» под шум и редкие пары встреч. Для идентифицируемости обычно фиксируют сумму логарифмов сил или один из параметров. Так рейтинги становятся устойчивыми и сравнимыми между сезонами.
Применение в спорте и киберспорте
Модель Бредли — Терри — рабочий инструмент для рейтингов, когда не все сыграли со всеми. Она оценивает скрытую «силу» по парам: чем чаще аутсайдер побеждает фаворита, тем сильнее подтягивается к нему. Для неполных турниров алгоритм сходится за десятки итераций, заполняя пробелы объективнее, чем «очки за место».Корректировки: поле, формат, вес
Преимущество площадки добавляют как множитель к «силе» хозяев (условно +5–10%). Формат серии до N побед сжимает дисперсию: модель учитывает P(победа в серии), а не одну игру. Вес матча повышают для плей‑офф и поздних туров (например, ×1,5–2), чтобы регулярка не «размывала» важные игры.Кейсы: от NCAA до рекомендательных систем
В NCAA по американскому футболу и баскетболу модель собирает единую шкалу из сотен матчей с неполной сеткой. В шахматах она дополняет Эло: оценивает не только факт победы, но и перекосы календаря. В киберспорте — Valorant, Dota 2, CS2 — ранжируют команды по картам и сериям BO3/BO5, отделяя случайные BO1-турниры. В рекомендациях «пользователь–товар» та же математика: «победа» — клик или покупка в сравнении пары позиций.Оценка параметров и масштабируемость
Оценку параметров ведут через максимум правдоподобия. Задача выпуклая, значит, итерации MM или IRLS сходятся к глобальному максимуму, а не к локальной яме. На практике алгоритм прост: пересчитываем «силы» команд пропорционально их доле побед против ожидаемой, пока изменения не станут мизерными. На тестах 10–20 проходов по таблице обычно достаточно. Ничьи модель не любит, но расширение Дэвидсона решает проблему. Вводится параметр ν>0, который «съедает» вероятность ничьей, не ломая порядок сил. Для трёх исходов (П1, Х, П2) вероятность ничьей растёт, когда силы равны, и падает при разрыве. Если нужно больше исходов (например, победа в основное, овертайме, по буллитам), используют мультиномиальный вид: исходы получают веса, а логарифм правдоподобия расширяют на все категории. На больших данных градиент считают не целиком, а кусками. Стохастический градиент обновляет параметры по мини-пакету матчей, онлайн-режим — по одной игре. Это даёт мгновенную реакцию на апсет: сила «андердога» подрастает сразу после сенсации, а не в конце недели. Пакетные обновления раз в сутки — золотая середина между стабильностью и скоростью.| Режим | Задержка | Где уместен |
|---|---|---|
| Пакетный (batch) | Высокая | Ночной пересчёт лиги |
| Мини-пакет (SGD) | Низкая | Поток матчей дня |
| Онлайн | Минимальная | Live-скоринг, киберспорт |
Сравнение с Elo, Glicko и рейтинговыми очками
Elo — это частный случай Бредли—Терри с фиксированной логистической связкой и одним фактором «сила». В BT можно добавить ковариаты: домашний лёд, форму, стиль, усталость. Вероятность тогда зависит не только от разницы рейтингов, но и от признаков. Условный пример: при прочих равных фаворит дома получает +0,2 к лог-оддсам — Elo так не умеет без «костылей». Glicko вводит «неуверенность» — RD: чем меньше игр, тем шире интервал силы. BT дополняется аналогами: байесовскими априорами и иерархическими членами, которые «сжимают» оценки редких участников к среднему. Это стабилизирует рейтинги на неполных графах и при холодном старте. Когда выбирать BT: парные сравнения, неполные графы, многофакторные лог-оддсы. BT естественно работает с несвязанными подгруппами, стыкует их через общих оппонентов и факторы. Elo требует «мостиков» и калибровки K-фактора; Glicko — настройки RD и частоты обновления.| Критерий | Elo | Glicko | Бредли—Терри |
|---|---|---|---|
| Факторы | Один (сила) | Сила + RD | Сила + ковариаты |
| Неполный граф | Нужны мосты | Лучше | Естественная стыковка |
| Старт | Жёсткий | Сглаженный | Байесовское сжатие |
Выводы
БТ даёт интерпретируемую шкалу силы: вероятность победы i над j — p = exp(s_i) / (exp(s_i) + exp(s_j)). Это статистически обоснованная логистическая регрессия на парных исходах, где коэффициенты — лог-силы. В отличие от эвристик, у модели есть функция правдоподобия, стандартные ошибки и профили доверия — значит, рейтинг не «рисуется», а оценивается. Модель устойчива к «дырявой» сетке: достаточно частичных сравнений, чтобы связать компоненты графа. Легко расширяется: ничьи — отдельным параметром, контекст — ковариатами (дом/выезд, формат BO1/BO3). Условный пример: при 3 командах с 4 матчами из 6 возможных БТ всё равно вернёт согласованные s, если граф связен. Для продакшена критичны регуляризация (L2) против переобучения на малых объёмах, мониторинг сходимости (градиент/Ньютона, допуск), исключение квазинеразрешимых пар. Калибровка — на отложенной выборке: оценивайте лог‑правдоподобие и Brier; проверяйте калибровку по децилям вероятностей. Без этого «красивые» s не гарантируют адекватные p.- Интерпретируемость: s сравнимы, разность s даёт отношение шансов.
- Гибкость: ничьи, ковариаты, групповые эффекты.
- Надёжность: регуляризация, контроль сходимости, валидация вероятностей.
Частые вопросы
1. Как рассчитать рейтинг Бредли — Терри по таблице матчей?
Рейтинги вычисляются итеративно методом максимального правдоподобия, где вероятность победы команды i над j равна exp(s_i) / (exp(s_i) + exp(s_j)). На практике используют численную оптимизацию (например, алгоритм Бройдена — Флетчера — Гольдфарба — Шенно), подбирая значения s так, чтобы предсказанные вероятности максимально соответствовали реальным исходам. Условный пример: если команда A выиграла у B 3 раза из 4, оптимизатор подберет s_A > s_B так, чтобы exp(s_A) / (exp(s_A) + exp(s_s_B)) было близко к 0,75.
2. Чем модель Бредли — Терри отличается от Elo и Glicko?
Бредли — Терри — это вероятностная модель на основе экспоненциальных «сил» (skills), оптимизируемая глобально по всей истории матчей, тогда как Elo и Glicko — это рекуррентные системы, обновляющие рейтинг после каждой игры по формуле. В Elo/Glicko есть понятие «волатильности» и «неопределенности» (особенно в Glicko-2), а в базовой БТ параметры статичны до пересчета, что делает её более устойчивой на малых выборках при регулярной переоценке. БТ естественнее обрабатывает неравномерное число игр между парами, в то время как Elo требует явного обхода всех матчей.
3. Как учесть преимущество домашнего поля в модели Бредли — Терри?
Добавляют единый глобальный параметр home_advantage h, который суммируется с силой хозяев: вероятность победы хозяев становится exp(s_home + h) / (exp(s_home + h) + exp(s_away)). Параметр h оценивается вместе с рейтингами команд по всей выборке матчей и обычно выражается в логитах (например, h ≈ 0,3 соответствует увеличению шансов на ~10–15% в зависимости от базовых сил). Если h статистически неотличим от нуля, значит, фактора своего поля в данном виде спорта или лиге нет.
4. Как добавить ничьи в модель Бредли — Терри (расширение Дэвидсона)?
Используют расширение Дэвидсона, добавляя параметр ничьей nu > 0: вероятность ничьей пропорциональна sqrt(exp(s_i) * exp(s_j)) и параметру nu. В этой модели сумма вероятностей (победа i, победа j, ничья) равна единице, а ничья тем вероятнее, чем ближе силы команд и чем больше nu. Условный пример: при равных силах s_A = s_B и nu = 0,1 распределение может быть 40% — победа A, 40% — победа B, 20% — ничья.
5. Как часто обновлять параметры БТ в лайв-режиме?
Базовая БТ не предназначена для посекундного лайва, так как требует переоценки на батче матчей; для лайва её используют скользящим окном (например, последние 1000 игр или 30 дней) с ежедневным или матчевым пересчетом. Если нужна мгновенная реакция, применяют онлайн-варианты (например, стохастический градиент), но чаще БТ комбинируют с Elo: Elo дает оперативное обновление, а БТ — калиброванную базу на длинном горизонте. Оптимальная частота — раз в сутки для основных лиг и внепланово при значимых составных изменениях, чтобы избежать переобучения на шум.