Комментарии 20
Можно еще взять параметры как: Игра дома или в гостях(дома повышает вероятность судя по статистике), серия из последних матчей(если у команды несколько подряд проигрышей, то вероятность проигрыша увеличивается), необходимо учитывать травмы игроков, в том числе и основных, интенсивность матчей(наверное), в конце сезона турнирное положение(мотивированные команды играют лучше). Можно взять еще не статистические факторы(при увольнении/смене тренера, тоже есть отличие в игре, меняется тактика и т.д.). Можно учитывать громкие трансферы, в какой то степени бюджет клубов для постоянно обучающейся модели. Короче много можно придумать, дерзай) Очень просто и понятно для меня по крайней мере написано
Главная проблема — нехватка данных (особенно в российском футболе). Компании связанные со спортивной аналитикой предоставляют статистику по матчам, а вот насчёт травм/дисквалификации игроков и т.д. нет данных. Можно смотреть на спортивных сайтах информацию по каждому матчу и таким образом вручную собрать данные по травмам и дисквалификациям.
А вообще есть такая идея: сравнивать составы команд перед матчем. Например, по суммарной стоимости состава на матч. Но эти данные тоже придется собирать вручную.
А вообще есть такая идея: сравнивать составы команд перед матчем. Например, по суммарной стоимости состава на матч. Но эти данные тоже придется собирать вручную.
Ну вообще вы с такой идее можете обратится в какую нибудь контору по сбору статистики типа Instat — она российская, может быть их даже ваша инициатива заинтересует(ну или позаимствуют идею как обычно)). Из бесплатных статистических сайтов могу выделить ru.whoscored.com(там много данных, можно наверное даже парсить оттуда), sports.ru и прочие русские аналоги… Стоимость можно брать с transfermarket — достаточно авторитетный сайт.
Тут наверное не по стоимости можно ориентироваться а по пресловутому xG — оно стабильнее как то
Тут наверное не по стоимости можно ориентироваться а по пресловутому xG — оно стабильнее как то
спарсил, свой xg рассчитал.
Можно поподробнее? Какой сайт, если не секрет? xG стандартный или своя модель? И если спарсил xG, то и Packing (как xG, только не про удары, а про пасы) можно спарсить
Теперь можно и савки делать на футбол. Спасибо автору, очень интересная статья.
Метрикой качества такого алгоритма может быть суммарный выигрыш в букмекерской конторе, если поставить на все матчи равную сумму в соответствии с его прогнозами.
Будет стабильно в плюсе — имеет право на жизнь.
Будет стабильно в плюсе — имеет право на жизнь.
И очень маловероятно, что можно у букмекера таким образом выиграть, потому что у букмекера модель будет точнее
В теории букмекер не является игроком, его цель забрать маржу от ставок, а денежные потоки нужно уравновесить. В сущности букмекеру все равно выиграет игрок А или игрок Б. Ему важно, чтобы с учетом всех ставок получить гарантированную прибыль от комиссии. Поэтому в ставках часто наблюдается, так называемое, движение коэффициентов. Когда перекос денежных потоков идет на победу команды X, повышается коэффициент на победу команды Y (для привлечения денежных потоков от ставок на эту команду).
Развивая данную тему скажу, что если проект задумывается для осуществления ставок, то определение вероятностей исходов недостаточно. Нужно еще и рассчитывать с учетом полученных вероятностей исходов математическое ожидание, исходя из коэффициентов букмекеров. Разумеется, ставить нужно на события с положительным мат.ожиданием. Но основная проблема здесь в достоверном определении вероятностей, это трудно сделать в таком виде спорта как футбол, где исход матчей зависит от субъективных факторов — травмы, удаления, ошибки судей, договорные матчи.
Развивая данную тему скажу, что если проект задумывается для осуществления ставок, то определение вероятностей исходов недостаточно. Нужно еще и рассчитывать с учетом полученных вероятностей исходов математическое ожидание, исходя из коэффициентов букмекеров. Разумеется, ставить нужно на события с положительным мат.ожиданием. Но основная проблема здесь в достоверном определении вероятностей, это трудно сделать в таком виде спорта как футбол, где исход матчей зависит от субъективных факторов — травмы, удаления, ошибки судей, договорные матчи.
Это да, создавать модель без сравнения её прогнозирующих качеств с таковыми качествами коэффициентов букмейкеров — дело бессмыссленное.
С русским Вы конечно зря связались, тем более cp1251…
Огромное спасибо за статью!
PS некоторые параметры некорректно отобраны. Но это всего лишь мое мнение)
PS некоторые параметры некорректно отобраны. Но это всего лишь мое мнение)
почему во всех результатах прогнозирования для команды А и команды Б сумма составляет 72%?
Интересное замечание, спасибо.
Делаем прогноз на победу 1 команды
Потом делаем прогноз на победу 2 команды
Получается мы делаем прогнозы на победу/проигрыш, но в футболе есть ничья.
Можно добавить такой прогноз
То что ничья получается всегда примерно 28% это странно. Но стоит учитывать, что в РПЛ часто матчи заканчиваются ничьей (примерно 26-32% каждый сезон). Если бы мы обучили модель на матчах Украинской Премьер Лиги (ничья = 22%) или Ла-Лиги Испании (ничья = 22.3%), то получили бы процент ничей на уровне 22-23%. Это дало бы нам сделать более точный прогноз на победу/проигрыш
Делаем прогноз на победу 1 команды
createGamePrediction(team1_vector, team2_vector)
Потом делаем прогноз на победу 2 команды
createGamePrediction(team2_vector, team1_vector)
Получается мы делаем прогнозы на победу/проигрыш, но в футболе есть ничья.
Можно добавить такой прогноз
team1pred = createGamePrediction(team1_vector, team2_vector)
team2pred = createGamePrediction(team2_vector, team1_vector)
print("Вероятность победы 1 команды: ", team1pred)
print("Вероятность ничьи: ", 1.0-(team1pred+team2pred))
print("Вероятность победы 2 команды: ", team2pred)
То что ничья получается всегда примерно 28% это странно. Но стоит учитывать, что в РПЛ часто матчи заканчиваются ничьей (примерно 26-32% каждый сезон). Если бы мы обучили модель на матчах Украинской Премьер Лиги (ничья = 22%) или Ла-Лиги Испании (ничья = 22.3%), то получили бы процент ничей на уровне 22-23%. Это дало бы нам сделать более точный прогноз на победу/проигрыш
Можно ещё анализировать с помощью обработки естественного языка новости перед матчем(пресс-конференции, комментарии и т.д.). Таким образом можно учесть хоть как-то настрой команды на матч, что тоже очень немаловажно в футболе.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Прогнозирование результатов футбольных матчей