Я вчера три часа разбирал матч «Саксан» — «Андижан», а потом лёг спать с мыслью: а что, если бы я мог предсказать исход с точностью выше 60%? Оказывается, можно. И не один, а целая армия алгоритмов уже делает это за вас.
С чего начинается магия: feature engineering
Любая ML-модель сначала нужно «накормить» данными. Мы не просто скормим ей таблицу результатов — мы создаём признаки (features), которые реально влияют на исход. Вот ключевые:
xG (ожидаемые голы) — probably самый важный метрик в современном футболе. Это не просто «сколько забила команда», а «сколько должна была забить» с учётом качества моментов. Если «Брайтон» в прошлом туре создал xG=2.3, но забил 1 — модель это запомнит и скорректирует прогноз.
Форма команды — последние 5-10 матчей с весовым коэффициентом (свежие важнее старых). Glicko-2 — это как ELO, но с учётом изменчивости рейтинга (RD). Модель видит не только «кто сильнее», но и «насколько уверенно» этот рейтинг установлен.
Дополнительные фичи: домашнее преимущество, травмы ключевых игроков, мотивация (турнирное положение), стиль игры (pressing vs counter-attack), погода, арбитр.
Кто в армии важен: модели, которые мы используем
Random Forest — наш «старший товарищ». Дерево решений, но не одно, а сотни. Каждое дерево смотрит на матч под своим углом: один — на xG, другой — на форму, третий — на исторические очные. Итоговый прогноз — голосование большинства. Хорошо работает на небольших выборках, устойчив к переобучению.
XGBoost — градиентный бустинг, который доминирует на Kaggle уже лет пять. Построен на идее: каждое следующее дерево «исправляет ошибки» предыдущих. На данных РПЛ и АПЛ даёт точность 58-62% на рынке 1X2. Мы используем его как основу для большинства прогнозов.
LightGBM — «младший брат» XGBoost от Microsoft. Работает в 2-3 раза быстрее, особенно на больших датасетах. Идеален для live-прогнозов, где нужно пересчитать вероятности за секунды после гола.
CatBoost — от Яндекса, специализируется на категориальных признаках. Если у вас есть данные о судьях, стадионах, городах — CatBoost обработает это лучше всех. Для российских лиг — часто самый точный.
Нейросети (MLP, LSTM) — для тех, кто верит в deep learning. MLP (многослойный перцептрон) отлично ловит нелинейные взаимосвязи: например, «если команда теряет мяч в средней зоне чаще 12 раз за тай, вероятность проигрыша растёт на 18%». LSTM (рекуррентная сеть) — для анализа временных рядов: последовательности матчей, динамика формы.
Ансамбль — сила
Ни одна модель в отрыве не даёт нам прогноз. Мы используем стекинг (stacking): базовые модели (XGBoost, LightGBM, CatBoost, Random Forest, нейросеть) дают свои вероятности, а мета-модель (обычно снова XGBoost) учитывает их ошибки и выдает финальный прогноз.
Это как совет экспертов: каждый может ошибаться по-своему, но коллективное решение — точнее.
Точность: где мы сейчас
На рынке Тотал голов (Over/Under 2.5) наша ансамблевая модель показывает 61-64% точности на дистанции 1000+ матчей. Для 1X2 — 55-58%, что при коэффициентах 1.80-2.20 даёт положительный ROI.
Важно: мы не гонимся за 80% точности. Это миф. Букмекеры тоже не ошибаются чаще чем на 55-60%. Наша задача — найти валуй: ситуацию, где наша вероятность выше implied-вероятности букмекера.
Реальный пример: смотрите на цифры
Вот что модель показала сегодня. Pyramids FC — Abu Qair Semad: ML П1=42%, но наш прогноз — Тотал голов, потому что обе команды в последних 5 матчах дают в среднем 3.2 гола. Jeddah Club — Al Najma: ML П1=43%, но мы видим value на победу Al Najma — перевес над кэфом букмекера ощутимый.
А Deportivo Riestra Res. — Defensa y Justicia Res.? Классический валуй: модель даёт 46% на гостевую победу, кэф 2.65, implied-вероятность ~37.7%. Перевес +7.8% — именно такие ставки делают долгосрочный профит.
Риски: да, мы тоже ошибаемся
Наша модель не всесильна. Red card на 10-й минуте, травма за 5 минут до свистка, погода, которая изменилась после выхода линий — всё это ломает прогноз. Мы честно показываем: даже лучшая модель ошибается в 35-40% случаев на 1X2. Поэтому банкролл-менеджмент — не менее важен, чем сама модель.
Вывод
ML-прогнозы — это не хрустальный шар, а мощный инструмент для поиска валуя. Ключ к успеху: не слепо
#модель #прогноз #xgboost #даёт #наша