5. Специфика
• Предсказываем будущее
• Соревнование проходит уже три года подряд
• Значительное влияние случайности
• Можно использовать любые внешние данные
• Мало информации о турнирных матчах (~2000 строк)
• Преобладание feature enginering’a
6. Данные
• Исторические данные с 1985 года: кто, когда, где и с кем сыграл
• Подробные данные с 2003 года, добавляется статистика матчей:
броски, подборы, …
~145K строк для регулярного сезона
~2K – для турниров
~71K строк для регулярного сезона
~850 – для турниров
7. Elo rating system
• Каждой команде присваивается начальный рейтинг, например, 1500.
• Для каждой команды считается матожидание выигранных очков
(1 – победа, 0 – поражение):
• Обновляется рейтинг:
K – K-factor, чем меньше K, тем более консервативна система.
• Можно ввести поправки на игру дома, на разность в счёте.
Wiki
8. Другие рейтинговые системы
• Glicko – улучшенная версия Elo.
• Chessmetrics – попроще, но более чувствительна к «восходящим
звёздам».
• TrueSkill – рейтинговая система от Microsoft.
9. История встреч
• Пусть дана история матчей между двумя командами.
Введём для каждой из команд «вес», определяемый давностью её побед:
𝑤1 = 0,5 + 𝑤𝑖𝑛𝑠_1 𝑛 ∗ γ 𝑛 𝑤2 = 0,5 + 𝑤𝑖𝑛𝑠_2 𝑛 ∗ γ 𝑛
где 𝑤𝑖𝑛𝑠_1 𝑛 – количество побед первой команды над второй n лет назад, γ –
коэффициент затухания.
Тогда можно сделать предсказание:
p1 =
𝑤1
𝑤1+𝑤2
p2 =
𝑤2
𝑤1+𝑤2
Например, если команды играли один раз в этом году и больше встреч никогда
не было, вероятность повторной победы победителя оценивается в 0.75.
12. Как формировать датасет
w_team l_team w_team features l_team features
l_team w_team l_team features w_team features
1
0
Train:
13. Как формировать датасет
w_team features l_team features delta features
l_team features w_team features - delta features
1
0
p1+p2 не всегда равно 1. Например, для xgboost’а.
Тогда можно пересчитать по формулам:
Train:
team_1 team_2 delta features
team_2 team_1 - delta features
p1
p2
Test:
p1’ =
𝑝1
𝑝1+𝑝2
p2’ =
𝑝2
𝑝1+𝑝2
14. Идея регрессии
• Пусть 1-я команда победила 2-ю с разницей Δ, тогда целевые
переменные будут равны +Δ и -Δ соответственно. Либо можно
использовать 1+0,03*Δ и 0-0,03*Δ.
• Не теряется информация о том, насколько одна команда
оказалась сильнее другой.
15. Признаки
History results
Статистика бросков, подборов и т.п. за последний год (скользящее среднее)
Победы, поражения и winrate за последний год
Средняя разность очков после матча за последний год
Сколько дней назад была предыдущая игра
Сколько сезонов команда участвует в турнире, домашний ли матч и т.д.
StatsTeams achievements
Например, просуммируем число игр
в турнирах за последние N лет
16. Дополнительные данные
Massey ordinals
Kenpom data
Teams coaches
Доп. данные для всех команд с 2002 года
Рейтинги команд у разных систем(132 уникальных) с 2003 года
Информация о тренерах для каждой команды
Tourney seeds Данные о посевных номерах команд
Geography data Где проходили матчи
17. Идея разных датасетов
Massey ordinals
Kenpom data
Teams coaches
Geography data Teams Achievements
Coaches Achievements
Stats 1
Tourney seeds
Elo
Glicko
HistoryStats 2
Dataset 1
2003+
Dataset 2
1985+
Tourney Dataset 1
2003+
Tourney Dataset 2
1985+
2003+ 1985+
18. Massey ordinals
Kenpom data
Teams coaches
Tourney seeds
Geography data
Teams Achievements
Coaches Achievements
Stats
Elo
Glicko
Dataset 1
2003+
Dataset 2
1985+
Tourney Dataset 1
2003+
Tourney Dataset 2
1985+
History
XGB Level 1
XGB Regression
Elo
Glicko
History
+
XGB Level 2
Logistic Regression
Level 0 Level 1 Level 2 Level 3 Final
Elo predict
Glicko predict
History predict
+
+?
Net Prophet’s Entry
Prediction
x4
blending
19. Наиболее важные признаки
• Географические данные
• Elo
• Δ(Δscore)
• Предсказание по истории игр
• Рейтинги некоторых систем
23. Идеи на будущее
1. Добавить новую информацию (данные о ставках, игроках…)
2. Использовать алгоритмы: NeuralNets, KNN…
3. Можно оптимизировать не logloss, а матожидание выигрыша в
деньгах или место на leaderboard
• Проанализировать предсказания других участников
4. Придумать метод симуляции турнира
• Поможет получить больше данных
• Будет полезен для анализа предсказаний других участников