После нашего выступления на конференции Арменского мы с моим другом-однокурсником Колей Яровым не остановились и продолжили развивать модель предсказания. Но в этот раз мы пытаемся максимально точно (по MSE) найти не итоговое положение команд в турнирной таблице на момент окончания следующего сезона, исходя из предыдущего, а точнее других коллег отыскать результаты конкретных матчей и вероятности W1, D, W2 - победы хозяев, ничьи и победы гостей соответственно.
Итак, мы участвуем в Soccer Prediction Challenge. Далее следует описание процедуры нахождения вероятностей.
- - - - -
На русском:
В качестве данных мы брали краткую информацию о матчах команды: название команды и число голов, забитое каждой из команд. Для прогноза каждого чемпионата был следующий выбор последних матчей: если в текущем сезоне было сыграно более 18 игр, то за основу брали этот сезон. Если же игр было меньше, то также брали информацию о матчах прошлого сезона, заменяя выбывшие команды теми, которые пришли в этом сезоне.
Вначале для каждой из команды мы рассчитывали среднее число голов, забитое и пропущенное дома и в гостях (SH, CH, SA, CA), а также считали рейтинг Эло на основании взятых матчей. Эти данные мы использовали в дальнейшем, чтобы построить модель матча.
Следующим шагом был расчет сдвига количества голов от (SH+CA)/2 для хозяев и (SA+CH)/2 для гостей на основании разностей рейтингов Эло с помощью линейной аппроксимации.
Последним этапом было предсказание результата матча. На основании всех уже известных ранее данных, мы находили среднее количество голов, которое должна была бы забить команда как (SH+CA)/2 + сдвиг, зависящий от разности рейтингов Эло. Количество голов, которые команда должна была бы забить считалось как арифметическое округление этого параметра наиболее вероятное значение количества голов при данном параметре, а вероятности получались из рассчитанных количеств голов из предположения, что количество голов распределено по Пуассону.
На английском:
The main idea of getting the number of team's scored goals is to generate them as the Poisson distribution with the parameter that was a linear combination of Elo Rating and goals scored and conceded. To find the most suitable coefficients, we used linear regression on the Elo rating. For example, for the Home team parameter, we tried to get the right step for elements: Goals Scored Home by our team, Goals Conceded Away by rivals and the difference in Elo ratings between teams.
We used data provided in TrainingSet and parsed it to know the mean values of goals scored/conceded at home/away (SH, CH, SA, CA) and to calculate the Elo rating of each team. If the current season contained enough (a criterion for enough was some share of the number of tours in a league) matches for a complete Elo rating for the teams, then we used only them to predict future matches. If not, we merged them with the previous one replacing relegated teams with the new ones or used only the previous season.
- - - - -
В дальнейшем планируем изучить машинное обучение и, применив элементы ML, улучшить модель предсказания результатов матчей и чемпионатов 🔜
Итак, мы участвуем в Soccer Prediction Challenge. Далее следует описание процедуры нахождения вероятностей.
- - - - -
На русском:
В качестве данных мы брали краткую информацию о матчах команды: название команды и число голов, забитое каждой из команд. Для прогноза каждого чемпионата был следующий выбор последних матчей: если в текущем сезоне было сыграно более 18 игр, то за основу брали этот сезон. Если же игр было меньше, то также брали информацию о матчах прошлого сезона, заменяя выбывшие команды теми, которые пришли в этом сезоне.
Вначале для каждой из команды мы рассчитывали среднее число голов, забитое и пропущенное дома и в гостях (SH, CH, SA, CA), а также считали рейтинг Эло на основании взятых матчей. Эти данные мы использовали в дальнейшем, чтобы построить модель матча.
Следующим шагом был расчет сдвига количества голов от (SH+CA)/2 для хозяев и (SA+CH)/2 для гостей на основании разностей рейтингов Эло с помощью линейной аппроксимации.
Последним этапом было предсказание результата матча. На основании всех уже известных ранее данных, мы находили среднее количество голов, которое должна была бы забить команда как (SH+CA)/2 + сдвиг, зависящий от разности рейтингов Эло. Количество голов, которые команда должна была бы забить считалось как арифметическое округление этого параметра наиболее вероятное значение количества голов при данном параметре, а вероятности получались из рассчитанных количеств голов из предположения, что количество голов распределено по Пуассону.
На английском:
The main idea of getting the number of team's scored goals is to generate them as the Poisson distribution with the parameter that was a linear combination of Elo Rating and goals scored and conceded. To find the most suitable coefficients, we used linear regression on the Elo rating. For example, for the Home team parameter, we tried to get the right step for elements: Goals Scored Home by our team, Goals Conceded Away by rivals and the difference in Elo ratings between teams.
We used data provided in TrainingSet and parsed it to know the mean values of goals scored/conceded at home/away (SH, CH, SA, CA) and to calculate the Elo rating of each team. If the current season contained enough (a criterion for enough was some share of the number of tours in a league) matches for a complete Elo rating for the teams, then we used only them to predict future matches. If not, we merged them with the previous one replacing relegated teams with the new ones or used only the previous season.
- - - - -
В дальнейшем планируем изучить машинное обучение и, применив элементы ML, улучшить модель предсказания результатов матчей и чемпионатов 🔜