Elo vs Glicko-2 — рейтинговые системы в теннисных прогнозах

Разбираем Elo и Glicko-2 рейтинги. Почему Glicko-2 точнее учитывает неопределённость. Применение в ML-моделях StarkTennis.

Что такое Elo-рейтинг

Elo — система оценки силы игрока через числовой рейтинг, разработанная Arpad Elo для шахмат в 1960-х. Базовая идея: каждый игрок имеет рейтинг R, разница рейтингов R_a − R_b предсказывает вероятность победы одного над другим через formula P(a) = 1 / (1 + 10^((R_b − R_a) / 400)). После матча рейтинги обновляются: победитель получает K × (1 − P_expected), проигравший теряет столько же. K — константа обновления (обычно 20-40). В теннисе Elo впервые применил FiveThirtyEight (Nate Silver) в 2010-х — их surface-specific Elo показал лучшую calibration на Grand Slam чем WTA/ATP официальные рейтинги.

Проблемы стандартного Elo

(1) Не учитывает неопределённость. У нового игрока (только начавшего карьеру) и ветерана с 500+ матчами может быть одинаковый рейтинг, но реальная уверенность в оценке сильно разная. Elo этого не знает. (2) Фиксированный K. Если K большой — рейтинги волатильны, если маленький — медленно реагируют на изменения формы. Одно значение не подходит всем. (3) Нет времени. Игрок играл 3 матча за месяц — его рейтинг актуален. Игрок играл 1 матч за полгода — рейтинг устарел. Elo этого не учитывает. Эти проблемы особенно остро проявляются в теннисе с его неравномерным календарём и высокой дисперсией формы.

Что такое Glicko и Glicko-2

Glicko (Mark Glickman, 1995) исправляет проблему 1 — добавляет rating deviation (RD), измеряющий неопределённость рейтинга. Новый игрок имеет большой RD (~350), опытный — маленький (~50). Prediction formula учитывает RD обоих игроков — делает оценку более консервативной для неопределённых ratings. Glicko-2 (2013) добавляет volatility (σ) — показатель того, насколько стабильна или нестабильна форма игрока. Высокая volatility = рейтинг скачет, модель менее уверена. Низкая — стабильный игрок. Обе величины (RD и σ) обновляются вместе с рейтингом каждый матч.

Почему Glicko-2 лучше для тенниса

(1) Правильно обрабатывает новичков. Когда на ATP Tour приходит молодой игрок (например 19-летний), его RD высокий → модель предсказывает более неопределённо → меньше ложных ставок. Через 30-50 матчей RD снижается. (2) Учёт пауз. Если игрок не играл 6 месяцев (травма), RD автоматически растёт в период простоя — модель «забывает» точность оценки. Первые матчи после возвращения — низкая уверенность. (3) Surface-split. StarkTennis имеет отдельные Glicko-2 рейтинги для hard / clay / grass / indoor — каждое покрытие имеет свою dynamic. Игрок может быть #3 на харде и #30 на грунте — модель видит это разделение.

Практика Glicko-2 в StarkTennis

В системе Glicko-2 serve rating и return rating обновляются раздельно по каждому game'у. Это даёт гораздо более точный P(point on serve) для формулы Pure Math Winner чем overall Elo. Процесс: (1) каждый hold подачи добавляет point к serve_rating; (2) каждый break_against — снижает return_rating; (3) в конце матча — батч обновления с учётом силы оппонента. На длинной дистанции (1000+ матчей) surface-specific serve/return rating даёт лучший calibration чем любой агрегированный Elo. Используется в модели Pure Math Winner (+30% ROI на 31 picks).

Когда Elo всё ещё лучше

Elo проще и быстрее вычисляется. На огромных базах данных (10M+ матчей) разница Glicko-2 vs Elo становится статистически малой — оба сходятся к правде. Если вам нужен quick baseline для baseline модели, Elo сойдёт. Для живых прогнозов (Bayesian inference, uncertainty quantification) — только Glicko-2. В StarkTennis используется блендинг: 0.6 × Glicko-2-PBP + 0.4 × Surface Elo в итоговой формуле Pure Math Winner — это снижает variance обоих источников.

Частые вопросы

Можно ли использовать ATP / WTA официальный рейтинг вместо Elo?

Нет, они устарели по методологии. Основаны на сумме points за last 52 weeks в квалифицирующих турнирах, не учитывают силу оппонента. Федерер на rank 5 мог побеждать Nadal на rank 1 — система это не отражала в точной вероятности. Elo/Glicko решают эту проблему через pairwise сравнения.

Почему именно коэффициент 400 в формуле Elo?

Исторический выбор Elo — чтобы рейтинг разница 200 пунктов ≈ 76% вероятность победы (как в шахматах). В теннисе некоторые системы используют 500 или 300 для адаптации к своей dynamic. В StarkTennis используется стандартный 400 для совместимости с публичными сравнительными данными (FiveThirtyEight).

Как часто обновляются рейтинги в системе?

После каждого резолвленного матча через model_tracker. В среднем 50-100 матчей в день (ATP + WTA + Challengers) → рейтинги обновляются в реальном времени. Инкрементальное вычисление — не нужно пересчитывать всю историю.

Смотри также: модели StarkTennis

Другие статьи блога

Посмотреть live прогнозы

Теория — полезно, практика — полезнее. Все модели StarkTennis работают в реальном времени:

📊 Открыть миниапп

Telegram канал: @cxcap. Обновление каждые 30 минут. Всё бесплатно.