Методология прогнозирования
ODP использует научный подход к прогнозированию матчей Dota 2, основанный на машинном обучении и строгой валидации моделей.
Ансамблевый подход
Наша система использует ансамбль моделей машинного обучения вместо одной модели. Это повышает надежность и точность прогнозов.
- LightGBM — быстрый градиентный бустинг для табличных данных
- CatBoost — специализирован на категориальных признаках
- XGBoost — классический градиентный бустинг с высокой точностью
Финальный прогноз формируется путем взвешенного усреднения предсказаний всех моделей, где веса определяются на основе производительности каждой модели на валидационных данных.
Инженерия признаков
Качество прогнозов напрямую зависит от качества признаков. Наша система использует несколько десятков признаков, сгруппированных по категориям.
Основные категории признаков:
Командные признаки
- История встреч (head-to-head)
- Текущая форма (скользящие окна)
- Разность средних KDA и GPM
- Стабильность результатов (дисперсия)
Игровые признаки
- Статистика игроков по ролям
- Мастерство на конкретных героях
- Глубина пула (кол-во героев)
- Индивидуальная форма игроков
Признаки драфта
- Агрегированный винрейт пула героев
- Мета-рейтинги героев на текущем патче
- Взаимодействие героев (разность агрегатов)
- Баланс ролей в команде
Контекстные признаки
- Тип и уровень турнира
- Формат серии (BO1, BO3, BO5)
- Сезонная история команд
- Патч — отклонение от базового периода
Валидация моделей
Мы используем строгую методологию валидации, чтобы избежать переобучения и получить реалистичные оценки точности.
Временное разделение данных (Temporal Split)
Данные разделяются строго по времени, а не случайным образом. Это критически важно:
- Мета игры меняется с каждым патчем — данные из будущего нельзя использовать при обучении
- Команды меняют составы и стратегии — их прошлые результаты не всегда репрезентативны
- Случайное разделение создаёт утечку данных и завышает оценки точности
5-fold временная кросс-валидация
Для оценки качества моделей мы применяем 5-fold temporal cross-validation: данные делятся на 5 последовательных временных периодов, модель обучается на предыдущих и оценивается на следующем. Финальная оценка — среднее по всем фолдам.
7-дневный буфер
Между обучающей и тестовой выборками оставляется 7-дневный буфер — матчи из этого периода исключаются полностью.
Метрики качества
- Accuracy — доля правильных предсказаний победителя (главная метрика)
- ROC AUC — ранжирующая способность модели (диагностическая, вторичная)
- Calibration — соответствие предсказанных вероятностей реальным частотам
- Brier Score — качество вероятностных прогнозов
prediction == match_result.
Улучшение AUC при ухудшении accuracy — это регрессия, не прогресс.
Только точность предсказания победителя имеет практическое значение для пользователей.
Калибровка и борьба с переобучением
Даже хорошо обученная модель может быть "самоуверенной" — давать вероятности близкие к 0% или 100%, когда реальная неопределенность выше.
Методы калибровки:
- Platt Scaling — логистическая регрессия поверх предсказаний модели
- Isotonic Regression — непараметрическая калибровка для сложных случаев
- Temperature Scaling — простой метод для нейронных сетей
Предотвращение переобучения:
- Early Stopping — остановка обучения при ухудшении на валидации
- Регуляризация — L1/L2 пенализация сложных моделей
- Feature Selection — удаление шумных и коррелирующих признаков
- Cross-Validation — проверка стабильности на разных временных периодах
Непрерывное улучшение
Модели переобучаются по мере накопления новых данных — особенно после смены патча, изменения состава команд или значительных сдвигов в мете.
- Мониторинг производительности в реальном времени через Accuracy Dashboard
- Проверка новых признаков на временной кросс-валидации перед включением в продакшн
- Анализ ошибок — какие команды и сценарии модель систематически угадывает неверно
- Аудит утечек данных (data leakage) при добавлении каждого нового признака
Результаты
Точность варьируется в зависимости от периода, уровня турнира и текущего патча. Мы не публикуем фиксированные цифры — они устаревают и создают ложное ощущение стабильности.
-
Случайное угадывание
50% — базовый ориентир для сравнения
- Актуальная статистика
-
Результаты нестабильны
После смены патча или крупных ростеров точность может временно снижаться
Важные ограничения
Наши прогнозы — это вероятностные оценки, а не гарантии. Даже при 80% вероятности победы команда может проиграть в 20% случаев.
- Непредвиденные факторы (технические проблемы, замены игроков)
- Психологическое состояние команд
- Новые стратегии и неожиданные драфты
- Случайность в игре (криты, баши, рандом рун)
Узнать больше
Хотите глубже погрузиться в технические детали?