Предисловие
Для многих старожилов нашего сайта Fightnews.info я, пользователь с ником Andrey Wiki, известен не только как автор статей о боксе в Википедии, но и как тот, кто когда‑то подробно и досконально разбирал сайт BoxRec.com. Формулы и порядок продвижения боксёров в рейтинге интересовали многих. Однако BoxRec никогда не стоял на месте: время от времени сайт пересматривал, редактировал и улучшал свою формулу и подход к отображению различных параметров.
В какой‑то момент всё стало настолько сложным и закрытым, что невозможность корректно проверить изменения в рейтингах вызвала у меня раздражение и разочарование. В результате я написал большую статью, в которой аргументированно раскритиковал нововведения, и на некоторое время оставил идею дальнейшего анализа сайта.
Тем не менее интерес к боксу, а затем и к боксу на голых кулаках, вновь погрузил меня в этот вид спорта, и однажды я решил попробовать стать редактором на BoxRec.com. Я подготовил письмо с указанием своих работ в Википедии и на спортивном сайте; после проверки моих навыков мне предоставили права редактирования для ряда видов спорта в отдельных странах.
Хотя мои полномочия скромны и не безграничны, сам факт статуса редактора дал доступ к расширенной версии сайта - той, где видны формулы, очки и даже скрытые титулы, недоступные обычным пользователям. Обладая этими возможностями, я решил вернуться к разбору BoxRec.
Первая часть серии статей посвящена анализу официальной информации о формуле расчёта очков.
Для начала я максимально дословно переведу имеющуюся на сайте информацию.
Введение
BoxRec.com публикует два типа рейтингов боксёров: Active (Current) и Active and Inactive (All Time); оба рейтинга ежедневно пересчитываются автоматической системой сайта. Эти оценки не зависят от субъективных мнений и полностью базируются на поединках, внесённых в базу данных BoxRec.
В рейтинг Active включаются только те боксёры, которые провели бой в последние 365 дней. Если боксёр не выходил на ринг в течение года, система автоматически переводит его в статус «Inactive». Статус «Inactive» также присваивается боксёру, объявившему о завершении карьеры, даже при наличии поединка в последние 365 дней. В базе данных имеет рейтинг каждый зарегистрированный боксёр, включая тех, у кого рекорд 0-1.
Система BoxRec пересчитывает рейтинги мгновенно при добавлении или изменении любого поединка. Поэтому рейтинг боксёра может изменяться при вводе или корректировке его собственных боёв редакторами BoxRec. Рейтинг также может меняться, если вносятся поединки в записи его соперников или в записи соперников их соперников - даже если сам боксёр с момента последнего пересчёта не дрался.
Следует учитывать, что в рейтингах, особенно в All Time, встречаются неточности и аномалии, в основном из‑за неполноты исторических записей в базе данных. Даже при полном рекорде самого боксёра записи его соперников могут быть фрагментарными. Боксёры довоенной эпохи особенно уязвимы в сравнении с современниками: записи их соперников часто неполны из‑за дефицита источников или ограниченного времени редакторов, тогда как у соперников современных боксёров данные могут быть гораздо полнее. В результате, например, Майк Тайсон может иметь полный рекорд и рекорды своих соперников, что приносит ему значительное количество очков и высокое место среди всех тяжеловесов за всю историю, тогда как у Янг Стриблинга записи соперников могут быть сильно урезаны, что даёт ему меньше очков и более низкий рейтинг All Time. Внешне может показаться, что Стриблинг дрался с множеством дебютантов или бойцами с небольшим числом поединков, тогда как на самом деле не все поединки его соперников внесены в базу (многие старые бои утеряны, поскольку о них не сообщали газеты или источники были уничтожены). По мере того как редакторы BoxRec находят и вносят исторические поединки или корректируют ранее внесённые данные, рейтинг старинного боксёра может постепенно меняться - вверх или вниз - в зависимости от добавлений в записи соперников и далее по цепочке.
Также из‑за малого числа профессиональных женщин в боксе (в некоторых весах активных спортсменок очень мало) боксёру с рекордом 0-1 может быть присвоен статус «world ranked» на BoxRec; это, скорее всего, артефакт, связанный с небольшим объёмом женских записей в базе.
Алгоритм рейтингов BoxRec
Алгоритм Whole‑History Rating
Рейтинги на BoxRec строятся на основе алгоритма Whole‑History Rating (WHR) Реми Кулома, описанного в статье Whole‑History Rating.
Аннотация. WHR - новый метод оценки силы бойцов, меняющейся во времени, в парных сравнениях. Как и многие варианты системы Эло, подход whole‑history опирается на динамическую модель Брэдли‑Терри. В отличие от инкрементных приближений, WHR напрямую вычисляет точный максимум апостериори по всей истории рейтингов всех игроков. Такая точность требует больших вычислительных ресурсов по сравнению с традиционными методами, но расчёты остаются достаточно быстрыми для применения в реальном времени на крупномасштабных игровых серверах (новая игра добавляется менее чем за 0.001 секунды). Эксперименты показывают, что по сравнению с Elo, Glicko, TrueSkill и алгоритмами с затухающей историей WHR даёт более точные прогнозы.
Основные положения
- Все боксёры имеют рейтинг в момент каждого своего поединка.
- Рейтинги определяются по результатам поединков между двумя соперниками a и b.
- Результат поединка - победа или поражение.
- Вероятность победы боксера a с рейтингом r_a против боксера b с рейтингом r_b в тексте задана как
\frac{r_a}{(r_b+r_b)}.
- Примечание. В оригинальном тексте именно такая запись; обычно в моделях Брэдли‑Терри ожидают формулу . Я оставил исходную запись, но отмечаю это как возможную опечатку.
- Совокупное правдоподобие (likelihood) всех результатов равно произведению вероятностей отдельных исходов:
L=\prod _{\mathrm{все\ поединки}}P(\mathrm{результат}).
Начальные условия и виртуальные результаты
Все боксёры стартуют с рейтинга 1. Для этого каждому приписываются виртуальная победа и виртуальное поражение против виртуального соперника с рейтингом 1 в момент их первого поединка.
Рассмотрим первый реальный поединок между a и b, в котором победил a. Тогда учитываются пять событий:
- a победил v с вероятностью (где v - виртуальный соперник с рейтингом 1).
- v победил a с вероятностью .
- b победил v с вероятностью .
- v победил b с вероятностью .
- a победил b с вероятностью .
Если все рейтинги равны 1, совместная вероятность всех пяти событий равна
При изменении рейтингов a и b общее правдоподобие меняется. Примеры из исходного текста:
- Для r_a=1.1,\; r_b=0.9:
L=\frac{1.1}{1.1+1}\cdot \frac{1}{1+1.1}\cdot \frac{0.9}{0.9+1}\cdot \frac{1}{1+0.9}\cdot \frac{1.1}{1.1+0.9}=0.0342.
- Для r_a=1.2,\; r_b=0.8:
L=\frac{1.2}{1.2+1}\cdot \frac{1}{1+1.2}\cdot \frac{0.8}{0.8+1}\cdot \frac{1}{1+0.8}\cdot \frac{1.2}{1.2+0.8}=0.0367.
Алгоритм WHR ищет такие значения рейтингов, которые максимизируют общее правдоподобие всех поединков. В приведённом примере оптимум достигается при
r_a=1.70,\quad r_b=0.59,\quad L_{\max }=0.0404.
Логарифмическая форма и временная регуляризация
Максимизация произведения вероятностей эквивалентна максимизации суммы логарифмов вероятностей:
\mathrm{maximize}\quad \sum _{\mathrm{поединки}}\log P(\mathrm{результат}).
Это удобнее и численно устойчивее при оптимизации.
WHR также учитывает, что рейтинг боксёра меняется со временем: от r_1 в момент t_1 (поединок 1) до r_2 в момент t_2 (поединок 2). Вводится регуляризующий член, отражающий изменение рейтинга во времени, который добавляется к сумме логарифмов вероятностей по всем поединкам. В исходном описании отмечено, что этот член:
- может быть пропорционален абсолютной разнице логарифмов рейтингов;
- может быть обратно пропорционален разнице во времени между поединками.
Иными словами, WHR штрафует чрезмерные или слишком быстрые изменения рейтинга, добавляя соответствующий член к целевой функции, и тем самым находит оптимальные, временно изменяющиеся рейтинги путём максимизации скорректированного правдоподобия.
Итог
Алгоритм WHR формализует задачу получения рейтингов, меняющихся во времени, как задачу максимизации правдоподобия всех результатов всех боксёров с учётом временной регуляризации. Все ключевые формулы и численные примеры сохранены в переводе в исходном виде для точности и воспроизводимости расчётов.
BoxRec как обобщённый Whole‑History Rating
Общая идея
В боксе не всегда бывает однозначный победитель: встречаются ничьи и спорные решения судей. Поэтому BoxRec присваивает каждому исходу поединка числовое значение результата в диапазоне от 0 до 1: 1 - явная победа боксёра со стороны a, 0 - явная победа боксёра со стороны b, 0.5 - ничья. Значения между 0.5 и 1 отражают близкую победу боксёра a, между 0 и 0.5 - близкую победу боксёра b.
Обобщённый Whole‑History Rating
В обобщённой версии WHR дробные результаты интерпретируются как дробные «победы» для каждой стороны:
- близкая победа с результатом 0.7 представляется как 0.7 побед для стороны a и 0.3 для стороны b;
- ничья 0.5 представляется как 0.5 и 0.5;
- близкое поражение 0.2 представляется как 0.2 для стороны a и 0.8 для стороны b.
Специальные дополнения BoxRec для профессионального бокса
BoxRec стремится обеспечить наилучшую предсказательную способность победителя. В настоящий момент точность предсказаний для профессионального бокса составляет 86.57%. Для достижения такой точности в WHR введены дополнительные параметры, значения которых подбираются путём максимизации доли правильно предсказанных побед.
Инициализация рейтинга боксёров (seeding)
Инициализация (seeding) на старте карьеры - критически важный этап.
- В стандартном WHR боксёр «сеется» одной виртуальной победой и одним виртуальным поражением против соперника с рейтингом 1.
- BoxRec инициализирует боксёров в зависимости от их связности: считается, что боксёры связаны с другими, если существует хотя бы один результат >0.16 с уже связанным боксёром.
BoxRec добавляет для инициализации по 3 виртуальных поединка с результатом 0.05 против:
- соперника с рейтингом 1 для связанных боксёров;
- соперника с рейтингом 1/6 для боксёров, имеющих хотя бы одну победу;
- соперника с рейтингом 1/20 в остальных случаях.
Привязка рейтинга к базовому уровню со временем
BoxRec «привязывает» рейтинг боксёра к базовому значению, добавляя 0.1 виртуального поединка за каждый год, прошедший с его последнего боя, с результатом 0.05 против:
- соперника с рейтингом 1 для связанных боксёров;
- соперника с рейтингом 1/6 для боксёров с хотя бы одной победой;
- соперника с рейтингом 1/20 в остальных случаях.
Результат поединка и фактор явности решения
- Возможные решения: KO (knockout), TKO (technical knockout), RTD (retired), PTS (on points), UD (unanimous decision), MD (majority decision), SD (split decision), D (draw), DQ (disqualification).
- Степень явности победы задаётся фактором clear decision cd.
- Для KO, TKO, RTD: cd=1.
- Для решений по очкам без известных судейских счётов:
- \mathrm{PTS},\; \mathrm{UD}=0.875
- \mathrm{MD}=0.55
- \mathrm{SD}=0.45
- Для решений по очкам при известных счётах:
- берётся средняя разница очков scd на судью и на отработанные раунды;
- если scd\leq 0.5, то cd=1.75\cdot scd;
- если scd\leq 1, то cd=0.875+0.25\cdot (scd-0.5);
- если scd>1, то cd=1;
- при этом для MD cd не может превышать 0.55, для SD - 0.45.
- Окончательный числовой результат поединка вычисляется как
\mathrm{bout\_ result}=\frac{1+cd}{2}.
Веса поединков
- Поединок, завершившийся остановкой (KO/TKO/RTD), имеет вес 1.
- Результат по очкам обесценивается, если поединок длился меньше 12 раундов: вес равен
\left( \frac{\mathrm{rounds\_ boxed}}{12}\right) ^2,
- при этом значения \mathrm{rounds\_ boxed}>12 трактуются как \mathrm{rounds\_ boxed}=12.
- Поединок между несвязанными соперниками обесценивается коэффициентом 1/20.
Текущие рейтинги и правило «победитель выше проигравшего»
- Текущий рейтинг боксёра выводится из рейтингов BoxRec на момент его последних боёв.
- Правило «победитель выше проигравшего»: в течение последних 36 месяцев победитель поединка удерживается выше проигравшего в ранжировании.
- Это ограничение может быть преодолено, если проигравший в будущем добьётся успеха против более высоко оценённого соперника.
Рейтинги за всю историю (All‑time Ratings)
All‑time Ratings основываются, по крайней мере, на пиковом карьерном рейтинге боксёра и на его лучших побеждённых соперниках. Формула выглядит так:
(0.67\times \mathrm{average\_ 5\_ top\_ defeated\_ opponents}+0.33\times \mathrm{career\_ top\_ rating})\times \mathrm{division\_ factor}\times 10.
Для нижних весовых категорий очки корректируются с учётом соотношения эталонной верхней массы тяжёлого веса (240 фунтов) к верхнему пределу веса соответствующей дивизии боксёра.
Лучшие боксёры могут получить более высокий all‑time рейтинг, если выше следующие показатели:
- их очки за лучшие 10 побед над соперниками из p4p топ‑1000;
- их очки за лучшие 10 годовых позиций в p4p топ‑1000.
Звёздные рейтинги поединков (Bout Star Ratings)
Все поединки оцениваются от 0 до 5 звёзд. Баллы рейтинга переводятся с учётом куба соотношения эталонной верхней массы тяжёлого веса к эталонной верхней массе дивизии поединка.
Мужчины
- 5 звёзд - оба соперника имеют не менее 9.45 рейтинговых очков (примерно лучшие 100 боксёров).
- 4 звезды - оба соперника имеют не менее 5.0 очков (примерно лучшие 300).
- 3 звезды - оба соперника имеют не менее 2.36 очков (примерно лучшие 900).
- 2 звезды - оба соперника имеют не менее 0.893 очка (примерно лучшие 2700).
- 1 звезда - оба соперника имеют не менее 0.159 очка (примерно лучшие 8100).
- 0 звёзд - хотя бы один из соперников имеет менее 0.015 очка (не ранжируемые боксёры).
Женщины
- 5 звёзд - оба соперника имеют не менее 13.6 рейтинговых очков (примерно лучшие 10 боксёров).
- 4 звезды - оба соперника имеют не менее 7.36 очков (примерно лучшие 30).
- 3 звезды - оба соперника имеют не менее 3.41 очка (примерно лучшие 90).
- 2 звезды - оба соперника имеют не менее 1.61 очка (примерно лучшие 270).
- 1 звезда - оба соперника имеют не менее 0.303 очка (примерно лучшие 810).
- 0 звёзд - хотя бы один из соперников имеет менее 0.013 очка (не ранжируемые боксёры).
---
Andrey "Wiki" Atanasov