Deep Learning система прогнозирования хоккейных матчей
Гибридная система машинного обучения, комбинирующая LSTM нейросеть для анализа последовательностей матчей с Random Forest для паттерного распознавания. Обучена на 7 сезонах NHL с интеграцией CPP-логики для определения критических точек разрыва серий.
Ликбез по машинному обучению на примере нашей системы
Человек физически не способен запомнить и проанализировать 5320 хоккейных матчей, найти в них закономерности, учесть сотни факторов одновременно и вычислить вероятности исходов. Компьютер может.
Машинное обучение — это способ научить компьютер находить паттерны в данных, которые человек не видит. Модель анализирует тысячи прошлых матчей и выявляет: "когда сходятся такие-то условия, в 63% случаев побеждает гостевая команда".
Цель нашей системы: превратить историю матчей в прибыльные прогнозы, находя ситуации, где вероятность исхода выше, чем думают букмекеры.
Качество прогнозов напрямую зависит от качества данных. Мы используем официальную статистику NHL за 7 сезонов (2016-2023), дополненную историческими коэффициентами букмекеров.
Что записывается по каждому матчу:
Кто играл дома, кто в гостях
Счёт, победитель, овертайм
Когда играли, день недели
Odds на победу каждой команды
Важно: Коэффициенты букмекеров — ценный источник информации. Они отражают коллективное мнение рынка о вероятности исхода. Коэффициент 2.0 означает, что букмекер оценивает шансы команды в 50%.
Модель не понимает человеческий язык. Она не знает что "Calgary хорошо играет дома".
Но она понимает числа: home_win_streak = 5, goals_per_game = 3.2.
Признак (feature) — это численная характеристика, которую модель может "увидеть" и использовать для предсказания. Мы преобразуем сырые данные матчей в 112 признаков.
Победы/поражения подряд дома и в гостях, длина серий, достижение критических порогов
Результаты личных встреч команд: кто побеждал, когда, с каким счётом
Голы забитые/пропущенные, % побед за последние 5/10 игр, тренды
Odds обеих команд, implied probability, разница коэффициентов, статус андердога
Дни отдыха, back-to-back игры, домашние/гостевые серии
Комбинации паттернов, количество совпадающих сигналов
Обучение модели — это процесс, в котором алгоритм анализирует тысячи примеров и находит правила, которые позволяют предсказывать результат. Модель ищет зависимости вида: "когда домашняя серия > 4 И коэффициент гостей < 2.5, гости побеждают в 63% случаев".
Почему делим на 80% и 20%?
Если проверять модель на тех же данных, на которых она училась — она покажет отличный результат, но на новых матчах провалится. Это называется переобучение (overfitting).
Представьте студента, который выучил ответы на все задачи из учебника, но не понял принцип решения. На экзамене с новыми задачами он провалится. Поэтому мы учим модель на 80% матчей, а проверяем на 20%, которые она никогда не видела.
Метрики успеха: Accuracy (% правильных прогнозов) показывает общую точность. Но для ставок важнее ROI — возврат инвестиций. Модель с 52% accuracy может быть прибыльной, если правильно выбирает матчи с высокими коэффициентами.
Random Forest (случайный лес) — это 100 деревьев решений, каждое из которых обучено на случайной выборке данных. Каждое дерево "голосует" за исход, и побеждает большинство.
Дерево решений — это цепочка вопросов "да/нет":
Почему "случайный лес" работает лучше одного дерева?
Одно дерево может ошибиться — оно переобучится на своих данных. Но когда 100 деревьев, каждое обученное на разных примерах, голосуют вместе — их ошибки компенсируются, а правильные ответы усиливаются. Это называется "мудрость толпы".
LSTM (Long Short-Term Memory) — это тип нейронной сети, который умеет работать с последовательностями. В отличие от Random Forest, который видит только текущий матч, LSTM анализирует последние 10 матчей каждой команды как единую историю.
Что видит LSTM в каждом матче (16 признаков):
Забито и пропущено
Дома или в гостях
Победа/поражение, OT
Коэффициенты, андердог
Преимущество LSTM: сеть видит контекст. После 5 побед подряд команда может быть уставшей или наоборот — "в потоке". LSTM учитывает такие динамические паттерны, которые Random Forest не видит.
CPP (Critical Pattern Prediction) — это набор правил, основанных на экспертном анализе хоккея. Машинное обучение не всегда находит очевидные закономерности. Иногда человеческий опыт даёт лучшие результаты.
Ключевой принцип CPP: "Серии ломаются"
Когда команда выигрывает или проигрывает слишком много матчей подряд — вероятность прерывания серии растёт. Победные серии заканчиваются из-за усталости и расслабленности. Серии поражений заканчиваются из-за мотивации и статистического возврата к среднему. Мы определили критические длины серий на основе анализа 5320 матчей:
Критическая длина: 4+ побед/поражений
Критическая длина: 3+ побед/поражений
Критическая длина: 5+ побед/поражений
Критическая длина: 4+ побед/поражений
Синергия — когда несколько паттернов указывают на одну команду одновременно. Если домашняя серия Calgary = 5 И H2H серия Calgary = 4 И гостевая серия Edmonton = 4 поражения — это синергия 3, и мы ставим на Edmonton (прерывание всех серий).
Результаты бэктеста CPP:
Разберём реальный пример: Edmonton Oilers @ Calgary Flames