Você está na página 1de 37

Universidade Federal de Pernambuco

Centro de Informática

Graduação em Engenharia da Computação

Um sistema inteligente para classificação


do resultado de uma partida de futebol

Sérgio de Souza Leão Pessoa

Trabalho de Graduação

RECIFE
13 de outubro de 2022
Universidade Federal de Pernambuco
Centro de Informática

Sérgio de Souza Leão Pessoa

Um sistema inteligente para classificação do resultado de


uma partida de futebol

Trabalho apresentado ao Programa de Graduação em En-


genharia da Computação do Centro de Informática da Uni-
versidade Federal de Pernambuco como requisito parcial
para obtenção do grau de Bacharel em Engenharia da
Computação.

Orientador: Prof. Dr. Paulo Salgado Gomes de Mattos Neto

RECIFE
13 de outubro de 2022
Agradecimentos

Gostaria de agradecer à minha mãe, Flávia, por sempre ter priorizado a minha educação e feito
o máximo possível para que eu conseguisse chegar até aqui. Também aos meus avós, Fernando
e Leninha, que também sempre deram um enorme suporte para minha educação.
Também gostaria de agradecer à minha irmã, Fernanda, ao meu pai, Sérgio, que foram
exemplos de como valorizar o trabalho, e ao meu tio Fernando, que sempre me mostrou a
importância de valorizar a vida acadêmica. Além disso, gostaria de fazer um enorme agradeci-
mento a todos da minha família que contribuíram de alguma forma com minha educação.
Faço um agradecimento especial à minha namorada, Camila, que esteve comigo durante
esse último ano de curso, e me ajudou a esquecer as inevitáveis dificuldades trazidas pela
graduação.
Gostaria de agradecer a todos os meus amigos que estiveram ao meu lado durante esse
período, e a todos os colegas de curso que me ajudaram nos momentos mais complicados dessa
trajetória.
Agradeço também ao professor Paulo Salgado, que me orientou nesse trabalho e também foi
o professor que ministrou a primeira aula que assisti no curso, na disciplina de álgebra linear.
Estendo esse agradecimento a todos os professores e professoras do Centro de Informática da
UFPE, por ter tido a oportunidade única de ter aprendido sobre tantos assuntos com pessoas de
enorme conhecimento.

iii
Money is not my definition of success. Inspiring people is a definition of
success.
—KANYE WEST
Resumo

A análise de eventos esportivos por meio de estatísticas é um tópico de grande interesse, tanto
pela popularidade dos esportes quanto pela imprevisibilidade deles, ainda podendo ser útil em
um mercado que move bilhões, como o de apostas esportivas. Os registros de partidas passadas
podem ser utilizados na tarefa de prever resultados ou eventos de uma partida, como gols,
pontuação das equipes ou até escanteios. Esse trabalho desenvolveu um sistema de classificação
do resultado de uma partida de futebol. O sistema é baseado na construção de um modelo
de Aprendizagem de Máquina, que tem como entrada uma base dados com variáveis como
aproveitamento, gols, e comparação das equipes envolvidas na partida, para prever se o jogo
terminará com vitória da equipe mandante ou não, usando os dados de jogos de temporadas
passadas da Premier League, o campeonato inglês. Os modelos foram testados na previsão
de jogos da temporada 2020-2021, simulando a aposta para o resultado previsto, e, com isso,
é observado que o sistema é capaz de prever o resultado com acurácia próxima ao de outros
trabalhos, e pode ser utilizado como um apoio à decisão da aposta, trazendo lucro e diminuindo
o risco da operação.

Palavras-chave: Aprendizagem de Máquina, Análise de Dados, Apostas Esportivas

v
Abstract

The analysis of sports events using statistics is a topic of huge interest both for its popularity
and for its unpredictability, and can also be useful in a market that moves billions, like sports
betting. The records of the past games can be used on the task of predicting results or events
of a game, like goals, points or corners. This work developed a classification system of a
football game result. The system is based on the construction of a Machine Learning model,
which has as input a database with variables like goals, points average, and comparision of the
teams involved in the match, to predict if a game will end with home team win or home team
lose/draw, using last seasons games from English Premier League. The models are tested on
the prediction of the games from 2020-2021 season, simulating the bet on predicted result, and,
with that, is concluded that the system can predict the result with accuracy close to other works
from the area, and can be used as bet decision support, bringing profit and decreasing the risk
of the operation.

Keywords: Machine Learning, Data Analysis, Sports Betting

vi
Sumário

1 Introdução 1
1.1 Contexto 1
1.2 Objetivo 2
1.3 Conceitos Básicos 2
1.3.1 Banca, Stake e Odd 2
1.3.2 Double Chance 2
1.3.3 Retorno Sobre Investimento (ROI) 3
2 Trabalhos Relacionados 4
3 Metodologia 6
3.1 Treinamento 8
3.2 Teste 8
4 Experimentos e Resultados 9
4.1 Desenvolvimento da Base de Dados 9
4.2 Desenvolvimento dos Modelos 12
4.3 Análise dos Modelos 16
4.4 Simulação de Apostas usando os Modelos 20
5 Conclusão 25
5.1 Trabalhos futuros 25
Referências Bibliográficas 27

vii
Lista de Figuras

3.1 Fluxograma da etapa de treinamento dos modelos. 8


3.2 Fluxograma da etapa de teste dos modelos. 8

4.1 Visão geral da base de dados sem processamento. 9


4.2 Visão geral da base de dados que será usada na simulação. 10
4.3 Nome de todas as características criadas. 11
4.4 Importância das características da base de dados. 13
4.5 Matriz de confusão do modelo Random Forest. 17
4.6 Matriz de confusão do modelo Gradient Boosting. 18
4.7 Matriz de confusão do modelo Logistic Regression. 18
4.8 Matriz de confusão do modelo SVM. 19
4.9 Matriz de confusão do modelo MLP. 19
4.10 Retorno sobre investimento. 22
4.11 Odd média de acerto. 23
4.12 Desvio-padrão da banca. 24

viii
Lista de Tabelas

2.1 Resumo de principais modelos e tipos de características usados. 5

3.1 Descrição de fatores que impactam no resultado de uma partida. 7

4.1 Descrição das colunas da base de dados sem processamento. 10


4.2 Descrição de todas as características criadas. 12
4.3 Descrição das características usadas no modelo. 13
4.4 Detalhamento dos parâmetros variados dos modelos. 14
4.5 Detalhamento das métricas dos modelos. 17
4.6 Detalhamento das métricas dos modelos sem seleção de características. 20
4.7 Descrição das estratégias simuladas. 21
4.8 Acertos e erros das estratégias simuladas. 23

ix
C APÍTULO 1

Introdução

1.1 Contexto

O número de estudos que procuram prever algum tipo de evento é crescente em diversas áreas
[1], como saúde, mercado financeiro, e esportes. No último, a natureza imprevisível atrelada
ao resultado e a popularidade das competições torna grande o interesse na previsão de um
resultado ou de eventos que ocorrem na partida. Uma das maneiras de fazer essa previsão é
usando Aprendizagem de Máquina.
Quando se trata do uso de Aprendizagem de Máquina, a previsão do evento esportivo con-
siste em usar dados anteriores à partida para auxiliar no que está sendo estudado. Isso é denomi-
nado de aprendizagem supervisionada [2], e pode ser aplicado ao estudo de vários esportes [3],
impactando em áreas como a análise de desempenho de clubes profissionais e, principalmente,
de apostas esportivas. Nesse campo, uma previsão automática por meio de aprendizagem de
máquina pode trazer ganhos financeiros.
É possível modelar o problema de duas formas: classificação ou regressão. No primeiro
caso, o exemplo mais comum é a classificação entre vitória ou derrota de um time [4], já no
segundo caso, pode-se modelar eventos como quantidade de gols, pontos [5] ou número de
faltas que um time irá cometer na partida. Para obter bons resultados, uma parte crucial da
modelagem é a construção de características que tragam impacto ao modelo. Essa definição
varia de problema para problema, visto que cada esporte tem sua particularidade, assim como
cada evento que está sendo analisado. Uma possível abordagem para resolver isso é o uso de
um algoritmo de Aprendizagem de Máquina para análise dos fatores previamente coletados,
como, por exemplo, aplicar uma regressão linear a um grupo de possíveis características que
trazem impacto a um resultado de um jogo de futebol, como gols, confrontos diretos e fator
casa, e verificar quais desses fatores contribuiram mais para a previsão do resultado [6].
Para aplicação em partidas de futebol, a forma convencional de modelar o problema é clas-
sificando entre três classes, vitória, empate ou derrota do time mandante. Porém, também há a
possibilidade de excluir uma dessas classes da previsão e fazer uma classificação binária, como,
por exemplo, retirar o empate e classificar apenas entre vitória ou derrota do mandante [7].
A avaliação dos preditores pode ser feita da forma tradicional, utilizando métricas como
acurácia, recall, precisão e F1-Score, e, além disso, também há como medir a performance do
modelo analisando o impacto financeiro que a previsão teria caso o resultado previsto fosse
apostado [8].

1
1.2 OBJETIVO 2

1.2 Objetivo

O objetivo desse trabalho é o desenvolvimento de um sistema de classificação do resultado de


uma partida de futebol, para verificar se é possível obter lucros em apostas esportivas usando um
modelo de Aprendizagem de Máquina como apoio à decisão, e analisar se essa abordagem traz
mais risco ao apostador. Analisando o contexto, a abordagem trabalhada será a de modelar esse
problema por meio de Aprendizagem de Máquina, aplicando algoritmos de classificação binária
para prever se o resultado do jogo será vitória ou empate/derrota do mandante. Será construído
um banco de dados com características que tragam relevância para previsão do resultado de um
jogo de futebol a partir dos resultados dos jogos da Premier League, o campeonato inglês, com
as partidas das temporadas passadas. Para analisar o desempenho, serão usadas as métricas
tradicionais de acurácia, recall, precisão e F1-Score, e, por fim, o melhor modelo será usado
para prever os resultados de jogos do campeonato. Nesses jogos, será simulado uma aposta
para o resultado da previsão do modelo, e, ao fim da simulação, será possível analisar se houve
lucro ou perdas com essa abordagem.

1.3 Conceitos Básicos

Essa seção irá introduzir conceitos básicos e fundamentais sobre apostas esportivas, para en-
tendimento da simulação que será feita para avaliar os modelos.

1.3.1 Banca, Stake e Odd


No contexto de apostas esportivas, é denominado de banca o valor que o apostador tem dispo-
nível para apostar. Já stake, é o quanto da banca o apostador irá apostar.
É chamado de odd o valor definido pela Casa de Apostas que multiplica o stake do apostador
para um resultado. Por exemplo, ao falar que o time irá jogar com odd 2.5 para vencer, isso
significa que, caso o apostador faça a aposta no time e ele vença, ele irá ganhar 2.5 vezes o
stake apostado. Há diversos tipos de formas de representação para odd, e a que será usada
nesse trabalho será a decimal [9].

1.3.2 Double Chance


No futebol, existem três tipos de apostas tradicionais: vitória do mandante, empate, ou derrota
do mandante. Porém, é possível fazer a aposta Double Chance, onde o apostador só terá duas
opções: vitória ou empate/derrota do mandante. Esse tipo de aposta é o que será estudado no
trabalho, visto que o modelo irá classificar entre as duas opções que ela premia. O cálculo
usado para odd do Double Chance foi [10]:
1
o= 1
(1.1)
o1 + o12
1.3 CONCEITOS BÁSICOS 3

Em que:

o = odd Double Chance


o1 = odd do empate
o2 = odd da derrota do mandante

1.3.3 Retorno Sobre Investimento (ROI)


Essa métrica foi inicialmente definida para análise de aplicações financeiras, e será usada aqui
na avaliação dos modelos, após a simulação das apostas.
No caso do mercado financeiro, ela é definida como a razão entre o lucro dado por um
investimento e o valor desse investimento [11]. No contexto do trabalho, será calculada da
seguinte forma:
Valor Final da Banca −Valor Inicial da Banca
ROI = (1.2)
Valor Inicial da Banca
C APÍTULO 2

Trabalhos Relacionados

A natureza imprevisível dos esportes é um dos motivos que o fazem um produto de entrete-
nimento tão interessante e, ao mesmo tempo, tão desafiador de prever. Há uma infinidade de
fatores que podem influenciar um modelo de Aprendizagem de Máquina que atue nessa área, o
que gerou uma grande variedade de estudos abordando aspectos diferentes do problema.
Para o caso de futebol, é comum ter como base para características o aproveitamento das
equipes envolvidas na partida. Isso pode ser observado no trabalho de Pugsee [12], que, além de
usar o aproveitamento simples, utilizou a fase dos times, considerando esse fator para os últimos
5 jogos, e também o impacto de disputar a partida em casa, usando a pontuação ponderada para
jogos em casa e fora das equipes envolvidas.
É possível observar fatores que são difíceis de quantificar, como o apoio de torcedores, e
de difícil busca automática, como lesões de jogadores importantes. Isso é mostrado por Tax
e Joustra [13], que criaram uma base de características com vários princípios, entre eles gols
feitos e cedidos, fadiga (distância entre jogos), sequências invictas e confrontos diretos. O
modelo previa entre vitória do mandante, empate e derrota do mandante e atingiu uma acurácia
de 54,7% com uma rede neural MLP, em conjunto com um PCA como técnica de redução de
dimensionalidade, usando os dados do campeonato holândes.
Outra possibilidade que já foi estudada, é a de usar combinações lineares de fatores tradicio-
nalmente usados, como aproveitamento e gols marcados e sofridos pelos times. Isso foi testado
por Yezus [14], que propôs a criação de características estáticas, na qual apenas os dados de
um dos times envolvidos eram analisados, e consistiam na forma, concentração e motivação da
equipe, e de características dinâmicas, na qual eram comparados dados das duas equipes para
gerar a diferença de gols e diferença de placares. Essas características eram combinações line-
ares de dados como distância entre as equipes na tabela, rivalidade entre os times e diferença
de gols em jogos passados. O modelo de Random Forest, proposto por ela, atingiu 63,4% de
acurácia para as três classes analisadas.
O número de dados de treinamento é algo que varia nos diversos estudos. Berrar [15] por
exemplo, usou dados de 52 ligas diferentes, chegando a uma base com mais de 200.000 valores
para treino, e chegou em uma acurácia de 51%, para um algoritmo de árvores de decisão com
boosting, o XGBoost. Huang [16], por sua vez, desenvolveu um modelo de previsão baseado
no algoritmo de rede neural MLP, usando apenas dados da Copa do Mundo de Futebol de 2006.
Esse modelo, atingiu uma acurácia de 75% ao excluir o empate, testando para jogos da copa.
Existem também os modelos que analisam a qualidade dos atletas na modelagem. Esses
estudos precisam de uma quantidade de dados maior, sendo mais difícil de conseguir. Um
exemplo é o estudo de Al-Mulla e Alam [17], que coletou dados de performance dos atletas do
campeonato de futebol do Catar, como passes, dribles, interceptações e chutes para criar um

4
CAPÍTULO 2 TRABALHOS RELACIONADOS 5

score ponderado para cada setor do campo, ataque, meio de campo e defesa, de cada equipe.
Após testes com vários modelos, eles atingiram uma acurácia de 80% usando um Logistic
Regression, que classificava entre vitória ou derrota do time mandante.
Como observado pelos trabalhos citados, o mais comum é a análise do modelo por meio
da acurácia. Além disso, há estudos que testam se é possível obter ganhos por meio de apostas
esportivas usando as previsões do algoritmo desenvolvido, caso de Hubacek [18], que desenvol-
veu uma rede neural convolucional para prever resultados da NBA, liga de basquete americana,
e aplicou teoria de gestão de portfólio como estratégia de gestão de banca, usando como base
as previsões do modelo, obtendo lucro no seu modelo ótimo. Stubinger [8] simulou as apostas
com base nos modelos de Random Forest, Gradient Boosting e SVM, e atingiu um lucro médio
por aposta de 1.0158 no melhor caso.
A partir dos trabalhos analisados, observa-se uma variedade para seleção de modelos e
construção de características. Pode-se resumir da seguinte forma:

Tabela 2.1: Resumo de principais modelos e tipos de características usados.

Artigo Ano Principais Modelos Base para Característica


[13] 2015 MLP Baseado na Partida
[14] 2014 Random Forest Baseado na Partida
[15] 2019 XGBoost Baseado na Partida
[16] 2019 MLP Baseado na Partida
[17] 2014 Logistic Regression Baseado em dados dos jogadores
[8] 2019 Random Forest, Gradient Boosting, SVM Baseado em dados dos jogadores
C APÍTULO 3

Metodologia

Essa seção apresenta o sistema que será desenvolvido nesse trabalho. A proposta consiste em
desenvolver uma base de dados contendo informações relevantes para determinar o resultado
de um jogo de futebol, aplicá-las a um algoritmo de aprendizagem de máquina e obter uma
previsão de vitória ou empate/derrota do time mandante.
O desenvolvimento da base de dados passa pela criação de características para o modelo
preditivo. Para isso, foram usados fatores observados em trabalhos relacionados e colocados
em conjunto, aplicando, posteriormente, um método de seleção de características que não havia
sido aplicado na literatura estudada.
Foi decidido que gols e aproveitamento dos times seriam a base para criação das caracte-
rísticas. Isso se deve ao fato de que dados mais específicos de times, como posse de bola na
partida, número de finalizações e faltas são mais difíceis de se encontrar, assim como dados de
desempenho dos jogadores. Dessa forma, a base de dados precisará apenas conter os dados de
gols do time da casa, gols do visitante e resultado da partida para construção das características.
Aproveitamento prévio dos times analisados é o primeiro fator a ser considerado na criação
das características, por ter entrado em todos os trabalhos relacionados. O aproveitamento é a
média de pontos nos jogos por time.
Assim como feito por Berrar [15], serão definidas características de poder ofensivo e poder
defensivo. Como mostrado por Azhari [19], gols em jogos passados são um bom indicador
para prever o vencedor de uma partidas. Dito isso, o poder ofensivo de um time será definido
como a média de gols feitos nos jogos da temporada. Já o poder defensivo, como a média de
gols sofridos na temporada.
Como mostrado por Tax e Joustra [13], é importante analisar as sequências de vitórias e
derrotas dos times envolvidos, e também, fator casa e fase recente.
Tanto sequências de vitórias e fase recente serão construídas para que as variações de de-
sempenho de um time durante o campeonato sejam levadas em conta pelo modelo. Para cada
jogo, existirá a informação de quantos jogos sem perder e derrotas seguidas o time acumula até
esse jogo. A fase recente consiste no cálculo do aproveitamento, poder ofensivo e defensivo
para os últimos 5 jogos, que é o número mais usado na literatura, como feito por Pugsee [12], e
será testado a fase recente de 3 jogos, para que se possa verificar quantos jogos passados deve
se olhar ao analisar a fase de um time.
O fator casa consiste em uma influência do mando de campo no resultado. Para verificar se
ele existe, será analisado o aproveitamento, poder ofensivo e poder defensivo do time mandante
em casa e do time visitante fora de casa.
Por fim, será calculado a diferença entre aproveitamento, poder ofensivo e poder defensivo
dos times que estão se enfrentando. Isso ajuda a quantificar a diferença de qualidade entre as

6
CAPÍTULO 3 METODOLOGIA 7

Tabela 3.1: Descrição de fatores que impactam no resultado de uma partida.

Característica Cálculo
∑N Pontos
Aproveitamento APV = i=0 onde N é o número de jogos disputados
N
pelo time
∑N GolsMarcados
Poder Ofensivo OP = i=0 onde N é o número de jogos dis-
N
putados pelo time
∑N GolsSo f ridos
Poder Defensivo DP = i=0 onde N é o número de jogos dis-
N
putados pelo time
Fase de 5 jogos APV, DP e OP com i = N - 5
Fase de 3 jogos APV, DP e OP com i = N - 3
N
Sequência Invicta SP = ∑ 1 onde D é última derrota do time
i=D
N
Sequência sem vencer SV = ∑ 1 onde V é última vitória do time
i=V
APV, DP e OP apenas com jogos em casa para mandante e
Fator Casa
jogos fora para visitante
Diferença entre APV, DP e OP para time mandante e visi-
Diferença Geral
tante
Diferença nos últimos 5 Diferença entre APV, DP e OP para time mandante e visi-
jogos tante nos últimos 5 jogos
Diferença nos últimos 3 Diferença entre APV, DP e OP para time mandante e visi-
jogos tante nos últimos 3 jogos

equipes envolvidas na partida.


Após desenvolver as características com base na descrição da Tabela 3.1, pode-se iniciar
a modelagem definindo quais delas serão usadas nos modelos. Para fazer essa seleção de ca-
racterísticas, será usado um algoritmo de Árvore de Decisão. Esse método não foi testado na
literatura revisada, e apresenta bons resultados quando se analisa problemas de outras áreas
[20]. Uma Árvore de Decisão será treinada para toda base de dados, e as características man-
tidas serão as que obtiverem valor de importância de característica maior que um threshold
determinado por meio de análise gráfica, verificando que valor de importância de característica
divide melhor os fatores com alta e os com baixa importância.
Para desenvolvimento do modelo, a base de dados será dividida em treino e teste. Serão
excluídos os jogos das primeiras 5 rodadas do campeonato, que, por estarem no início, apre-
sentam dados de baixa confiabilidade.
A análise dos modelos será feita em duas etapas: avaliação usando métricas de aprendi-
zagem de máquina e simulação de apostas usando o resultado da classificação dos modelos
desenvolvidos, para verificar se há lucros e o risco trazido pelas apostas baseadas nos modelos.
3.1 TREINAMENTO 8

3.1 Treinamento

Como mostrado na Figura 3.1, a etapa de treinamento se inicia com a criação das características
seguindo o detalhamento da Tabela 3.1. Depois, é feito a seleção de característica, e, com isso,
os modelos são treinados.
Todos os modelos são treinados com variação de parâmetros, e os que têm inicialização
aleatória serão treinados 10 vezes. A etapa termina com a classificação entre vitória (0) e
empate/derrota (1) do time mandante.

Figura 3.1: Fluxograma da etapa de treinamento dos modelos.

3.2 Teste

Os modelos já treinados serão usados para prever os resultados da base de teste contendo as
características selecionadas pelo algoritmo de seleção de característica que foi usado no treino.
Após isso, serão simuladas as apostas com o resultado da classificação feita pelos modelos nos
jogos da base de teste. O detalhamento pode ser visto na Figura 3.2.

Figura 3.2: Fluxograma da etapa de teste dos modelos.

A simulação de apostas será feita com o resultado previsto dos modelos. Serão seleciona-
dos os jogos a serem simulados, e para cada um deles será previsto o resultado com base no
modelo. Para esse resultado, será simulado uma aposta, caso o resultado seja correto, o lucro é
adicionado à banca, caso contrário, é retirado o valor apostado da banca.
C APÍTULO 4

Experimentos e Resultados

4.1 Desenvolvimento da Base de Dados

A base de dados utilizada contém dados das temporadas 2005-2006 até 2020-2021. Para desen-
volvimento do modelo, foi retirado os dados da temporada 2020-2021, que será usado apenas
para teste das simulações de aposta.

Figura 4.1: Visão geral da base de dados sem processamento.

Nesses dados, estão incluídos os valores de resultado, gols do time mandante e gols do
time visitante na partida. Essas colunas serão a base para criação das características do modelo
preditivo. A coluna "FTR", que significa Full-Time Result e que contém o resultado, será
modificada para que o valor "H"seja substituído por 0, indicando vitória do mandante, e os
valores "A"e "D"foram substituídos por 1, indicando empate/derrota do mandante.
Já para os dados da temporada 2020-2021, que serão usados para fazer a simulação de
apostas usando os resultados previstos pelo modelo, é adicionada três colunas, indicando as
odds de vitória, empate ou derrota do mandante para o jogo em análise. A partir das odds
de empate e de derrota do mandante, será criada a odd de Double Chance para aquele jogo,
usando a Equação 1.1. Na Figura 4.2 os dados dessa temporada são mostrados já considerando
algumas manipulações que serão necessárias, como a substituição dos valores da coluna "FTR",
que contém o resultado final, e a não utilização das primeiras 5 rodadas do campeonato, que
contêm dados que não são relevantes para o modelo. As odds mostradas aqui são retiradas do

9
4.1 DESENVOLVIMENTO DA BASE DE DADOS 10

site Bet365, a maior empresa de apostas esportivas do mundo.

Figura 4.2: Visão geral da base de dados que será usada na simulação.

Tabela 4.1: Descrição das colunas da base de dados sem processamento.

Coluna Descrição
Date Data da partida
HomeTeam Nome do time mandante
AwayTeam Nome do time visitante
FTR Resultado final do jogo
FTHG Gols do time da casa no jogo
FTAG Gols do time visitante no jogo
season Temporada da partida
B365H Odd de vitória do time mandante
B365D Odd de empate
B365A Odd de vitória do time visitante
B365SADC Odd de Double Chance (empate/vitória do visitante)

A criação das características foi feita para cada temporada em análise, visto que, com a
mudança das temporadas, os times vão mudando, se reforçando ou perdendo jogadores, o que
afeta seu desempenho.
A primeira característica criada foi a de aproveitamento. Para cada partida, foi filtrado os
jogos passados dos dois times envolvidos, separadamente, e calculado quantos pontos eles fi-
zeram nas partidas. Após isso, dividiu-se os pontos feitos pela equipe pelo total de pontos
disputado naquele intervalo. Essa mesma abordagem foi feita para construção das característi-
cas de poder ofensivo e poder defensivo, substituindo a pontuação feita pelos gols marcados e
gols sofridos, respectivamente.
Para as características de fator casa, esse mesmo método se seguiu, porém, selecionando
apenas os jogos em casa para o mandante e fora de casa para o visitante. Para as características
4.1 DESENVOLVIMENTO DA BASE DE DADOS 11

de fase, tanto de 5 quanto de 3 jogos, a base de dados foi filtrada de forma que armazenasse
apenas os últimos 5 ou 3 jogos de cada equipe envolvida na partida, e, com isso, foi calculada
as médias para cada intervalo.
Para o cálculo das sequências, selecionou-se as partidas de cada time até a sua última der-
rota, e foi feito a contagem de quantos jogos isso resultou. Para o caso de sequência sem
vitórias, foi feito o mesmo porém a seleção era até a última vitória de cada equipe.
Para as diferenças, calculou-se a de pontos, poder ofensivo e defensivo para cada jogo, entre
o time da casa e o visitante, considerando tanto a geral, quanto a de 5 e 3 jogos.

Figura 4.3: Nome de todas as características criadas.

A Figura 4.3 mostra os nomes de todas as 31 características. Na Tabela 4.2, há o detalha-


mento dessas características.
Característica Significado
aprov_mandante/aprov_visitante Aproveitamento do time man-
dante/visitante
aprov_mandante_casa/aprov_visitante_fora Aproveitamento do time mandante
em casa/visitante fora
aprov_mandante_3jogos/aprov_visitante_3jogos Aproveitamento do man-
dante/visitante nos últimos 3 jogos
aprov_mandante_5jogos/aprov_visitante_5jogos Aproveitamento do man-
dante/visitante nos últimos 5 jogos
gols_mandante/gols_visitante Gols do time mandante/visitante por
jogo
gols_mandante_sofr/gols_visitante_sofr Gols sofridos do time man-
dante/visitante por jogo
gols_dif Diferença de gols entre os times
gols_dif_sofr Diferença de gols sofridos entre os ti-
mes
gols_mandante_sofr_casa/gols_visitante_sofr_fora Gols sofridos por jogo do mandante
em casa/visitante fora
gols_mandante_casa/gols_visitante_fora Gols por jogo do mandante em
casa/visitante fora
4.2 DESENVOLVIMENTO DOS MODELOS 12

gols_mandante_3jogos/gols_visitante_3jogos Gols do mandante/visitante nos últi-


mos 3 jogos
gols_mandante_5jogos/gols_visitante_5jogos Gols do mandante/visitante nos últi-
mos 5 jogos
dif_gols_marc_3jogos Diferença de gols entre os times nos
últimos 3 jogos
dif_gols_marc_5jogos Diferença de gols entre os times nos
últimos 5 jogos
dif_pontos Diferença de pontos entre os times
dif_pontos_3jogos Diferença de pontos nos últimos 3 jo-
gos
dif_pontos_5jogos Diferença de pontos nos últimos 5 jo-
gos
jogos_invic_mandante/jogos_invic_visitante Sequência de jogos sem perder do
time mandante/visitante
jogos_semvencer_mandante/jogos_semvencer_visitante Sequência de jogos sem vencer do
time mandante/visitante

Tabela 4.2: Descrição de todas as características criadas.

Após o desenvolvimento dessas características, será feita a seleção, que irá filtrar as mais
importantes como será detalhado na próxima seção.

4.2 Desenvolvimento dos Modelos

O primeiro passo para desenvolvimento dos modelos é a retirada dos dados dos primeiros 5
jogos de cada equipe na temporada. Como as características levam em conta o desempenho da
equipe por temporada, isso é necessário para que o modelo não leve em consideração desem-
penhos irreais que podem ocorrer no início de um campeonato. Por exemplo, na temporada
2019-2020, a equipe Wolverhampton, que terminou o campeonato em 7º, estava na 19ª coloca-
ção ao fim das 5 primeiras rodadas, onde enfrentou 3 equipes que terminariam acima dele no
final do campeonato.
Em seguida, foi feito a seleção de características da base de dados. Para isso, foi criado um
modelo de árvore de decisão, treinado em cima de toda a base de dados, obtendo-se a impor-
tância de características, uma medida gerada por qualquer algoritmo de árvore de decisão que
quantifica a importância de uma característica para o modelo preditivo avaliando uma queda
na acurácia de classificação quando valores de uma variável, em específico, são permutados
de forma aleatória em um dos nós da árvore de decisão [21], para todas as características do
modelo.
Para selecionar as características, é feita a análise gráfica da Figura 4.4, que é o gráfico
que contém as importâncias de características para cada uma das variáveis geradas para uso no
modelo, com o objetivo de achar um valor no qual as características com importância menor
4.2 DESENVOLVIMENTO DOS MODELOS 13

Figura 4.4: Importância das características da base de dados.

tenham um impacto muito baixo na previsão. Pode-se observar que há uma disparidade entre as
características com importância maior que 0.03 e as com importância menor. Logo, esse valor
será o threshold para a seleção das características, e, no modelo, serão usadas as que ficam
acima desse threshold. As características que foram selecionadas estão detalhadas na Tabela
4.3.
Tabela 4.3: Descrição das características usadas no modelo.

Característica Significado
aprov_visitante Aproveitamento do time vi-
sitante
aprov_mandante_casa/aprov_visitante_fora Aproveitamento do time
mandante em casa/visitante
fora
gols_dif_sofr Diferença de gols sofridos
entre os times
gols_mandante/gols_visitante Gols do time man-
dante/visitante por jogo
gols_mandante_sofr/gols_visitante_sofr Gols sofridos do time man-
dante/visitante por jogo
gols_dif Diferença de gols entre os ti-
mes
gols_mandante_sofr_casa/gols_visitante_sofr_fora Gols sofridos por jogo do
mandante em casa/visitante
fora
4.2 DESENVOLVIMENTO DOS MODELOS 14

gols_mandante_casa/gols_visitante_fora Gols por jogo do mandante


em casa/visitante fora
dif_pontos Diferença de pontos entre os
times

Para iniciar a construção dos modelos, foi feita a divisão da base de dados: todos os dados da
temporada 2020-2021 serão usados apenas na simulação de apostas, os dados das temporadas
2005-2006 até 2019-2020 serão aplicados a um algoritmo de variação de parâmetros e validação
cruzada, e, posteriormente, divididos em 20% para teste e 80% para treino, de forma aleatória.
Isso acontece porque não há temporalidade nos dados, visto que, para cada temporada, todas as
características são normalizadas com base no número de partidas disputados por cada equipe
até o jogo em análise.
A escolha de quais algoritmos serão usados na construção dos modelos foi baseada na
Tabela 2.1. São construídos os modelos a partir dos algoritmos de Random Forest, Gradient
Boosting, Logistic Regression, SVM e MLP.
A última manipulação dos dados antes de treinar os modelos foi a padronização dos dados,
para que a distribuição dos dados tenha média igual a 0 e desvio-padrão igual a 1. Para isso,
foi aplicada a Equação 4.1 para cada um dos valores da base de dados.
xo − µ
xn = (4.1)
σ
Em que:

xn = novo valor de x
xo = antigo valor de x
µ = média de x
σ = desvio-padrão de x

Essa etapa será necessária apenas para os modelos de SVM, Logistic Regression e MLP. Os
modelos baseados em árvores de decisão, Random Forest e Gradient Boosting, não precisam
desse pré-processamento por serem algoritmos baseados no particionamento dos dados para
fazer previsão.
Para a construção de todos os modelos, foi feito o procedimento de variação de parâmetros
com validação cruzada, e o detalhamento pode ser observado na Tabela 4.4. O melhor modelo
obtido por esse procedimento será testado 10 vezes para calcular as suas métricas. Isso é
necessário porque esses modelos usam inicialização aleatória.

Tabela 4.4: Detalhamento dos parâmetros variados dos modelos.

Modelo Parâmetros Valores Valor Escolhido


max_depth [10, 15, 20] 10
Random Forest max_leaf_nodes [200, 250] 200
n_estimators [50, 100, 150] 150
4.2 DESENVOLVIMENTO DOS MODELOS 15

max_depth [5, 10, 15] 10


min_samples_leaf [10, 12, 15] 15
Gradient Boosting n_estimators [50, 75, 100] 50
learning_rate [0.001, 0.01] 0.01
min_samples_split [5, 15, 20] 15
solver [’newton-cg’, ’libli- liblinear
Logistic Regression near’]
C [100, 10, 1, 0.1, 0.01] 100
penalty [’l1’, ’l2’] l1
kernel ["rbf", "linear"] rbf
SVM C [10, 1, 0.1] 1
gamma [0.1, 0.01] 0.01
hidden_layer_sizes [(50,100, 50), (50,), (100,)
(100, 100), (100,)]
MLP
activation [’tanh’, ’relu’] tanh
solver [’adam’, ’l-bfgs’] adam
learning_rate [’constant’,’adaptive’] constant

A necessidade de fazer a variação dos parâmetros com validação cruzada é evitar o so-
breajuste, que é quando um modelo se adequa muito bem aos dados de treinamento, mas não
consegue ser eficaz na previsão de novos dados [22]. Com a validação cruzada atrelada à varia-
ção de parâmetros, os modelos serão treinados em 4 seções diferentes dos dados, e testados na
restante. Dessa forma, os parâmetros que obtiverem melhor acurácia média serão escolhidos.
O primeiro modelo treinado foi o de Random Forest. O parâmetro de max_depth controla
o caminho máximo entre a raiz e as folhas das árvores de decisão do model, e, para evitar
sobreajuste dos dados evita-se usar valores maiores que 20 nesse parâmetro. O max_leaf_nodes
controla o número máximo de nós no fim da árvore, para não ocasionar alto viés, que surge
quando esse parâmetro está baixo, foi testado até um mínimo de 200, e n_estimators controla
o número de árvores geradas pelo modelo, e, para evitar alto tempo de treinamento, não é
indicado que se use valores muito altos para esse parâmetro, por isso, foi optado testar até 150
árvores geradas.
O modelo de Gradient Boosting foi treinado em seguida, o parâmetro de learning_rate
diminui a contribuição de cada árvore para o resultado final, e caso tenha valor maior que 1
aumenta o risco de sobreajuste do modelo. Já min_samples_leaf define o número mínimo de
amostras em um nó folha após um split, se esse número for baixo o risco de sobreajuste do
modelo aumenta, portanto, não foi testado valores abaixo de 10, min_samples_split controla o
número mínimo de observações em cada nó para ser suficiente para permitir um split, e também
causa sobreajuste se muito baixo. Os parâmetros max_depth e n_estimators são os mesmos do
Random Forest.
O modelo de Logistic Regression teve como entrada a base de dados padronizada como
distribuição normal. O parâmetro C consiste no inverso da força de regularização, que atua
para diminuir a complexidade do modelo, então, são testados valores grandes, como 100, que
faz com que o modelo se ajuste mais à base de treino, quanto valores menores como 0.01, que
4.3 ANÁLISE DOS MODELOS 16

leva o modelo à se ajustar mais à base de teste. O solver define o algoritmo usado no problema
de otimização em questão, e penalty adiciona um tipo de penalidade para o algoritmo.
O modelo de SVM também usou dados de entrada padronizados para seguirem uma dis-
tribuição normal. O parâmetro kernel seleciona o tipo de hiperplano usado pelo modelo para
separar os dados, sendo testado um linear e o outro não-linear (rbf ). O gamma é o parâmetro
para hiperplano não lineares, e controla o quão curva a superfície de decisão será. C define
quanto de erro é tolerado pela superfície de decisão. Para esses dois parâmetros, quanto mais
alto, maior risco de sobreajuste, portanto, não houve testes com valores acima de 10.
Por fim, foi desenvolvido um modelo de rede neural, MLP. Assim como os dois últimos,
ele também usa a base de dados padronizada para seguir uma distribuição normal. O parâmetro
hidden_layer_sizes controla o número de camadas ocultas da rede neural, e, em cada camada,
o número de neurons. Quanto maior a quantidade de neurons, maior chance de sobreajuste,
e, para evitar isso, não se usou mais de 100 neurons em alguma das camadas, activation é a
função de ativação e learning_rate controla o quanto mudar o modelo levando em consideração
o erro estimado. O parâmetro solver é o algoritmo que soluciona o problema de otimização em
análise.

4.3 Análise dos Modelos

A análise dos modelos começa com a visualização das matrizes de confusão. Ela consiste em
uma Tabela que indica erros e acertos do modelo detalhadamente. Após isso, é calculada a
acurácia, recall, precisão e f1-score.
TN +TP
Acurácia = (4.2)
T N + T P + FP + FN
TP
Recall = (4.3)
T P + FN
TP
Precisão = (4.4)
T P + FP
2 x precisão x recall
F1-Score = (4.5)
precisão + recall
Em que:

T P = Verdadeiro Positivo
T N = Verdadeiro Negativo
FP = Falso Positivo
FN = Falso Negativo

O uso da acurácia é para verificar de forma geral o quanto o modelo está acertando. Com a
precisão, é verificado o quanto do que foi previsto em empate/derrota do mandante era vitória
4.3 ANÁLISE DOS MODELOS 17

do mandante, com recall é observado o quanto do que foi previsto vitória do mandante era
empate/derrota, e o f1-score é a média harmônica entre as duas últimas.
Para evitar vieses por causa da inicialização aleatória dos modelos, eles são treinados 10
vezes, e são calculadas a média e desvio-padrão das métricas considerando essas execuções,
que pode ser visualizado na Tabela 4.5, e visualização da matriz de confusão do modelo com
maior acurácia, que estão mostradas nas Figuras 4.5 até 4.9.

Tabela 4.5: Detalhamento das métricas dos modelos.


Acurácia Recall Precisão F1-score
Modelo Média Desvio-Padrão Média Desvio-Padrão Média Desvio-Padrão Média Desvio-Padrão
Random Forest 0.667 0.007 0.734 0.006 0.689 0.006 0.713 0.000
Gradient Boosting 0.665 0.006 0.786 0.009 0.669 0.005 0.733 0.000
Logistic Regression 0.662 0.000 0.689 0.007 0.699 0.000 0.695 0.000
SVM 0.664 0.000 0.747 0.000 0.681 0.000 0.712 0.000
MLP 0.662 0.005 0.732 0.016 0.683 0.005 0.714 0.000

Figura 4.5: Matriz de confusão do modelo Random Forest.


4.3 ANÁLISE DOS MODELOS 18

Figura 4.6: Matriz de confusão do modelo Gradient Boosting.

Figura 4.7: Matriz de confusão do modelo Logistic Regression.


4.3 ANÁLISE DOS MODELOS 19

Figura 4.8: Matriz de confusão do modelo SVM.

Figura 4.9: Matriz de confusão do modelo MLP.

A acurácia média próxima de 0.66 entre todos os modelos é um falso indicativo de que
os modelos tenham desempenhos parecidos. Por mais que eles consigam acertar o total tes-
tado de forma similar, há diferenças nas proporções de acertos, que é mostrada nas matrizes de
4.4 SIMULAÇÃO DE APOSTAS USANDO OS MODELOS 20

confusão. Há modelos que desempenham melhor acertando vitória, como Logistic Regression,
enquanto outros desempenham melhor acertando empate/derrota do mandante, tal qual o Gra-
dient Boosting. Também é importante analisar o desvio-padrão, visto que a acurácia mostrada
é a média de 10 simulações. Logo, nas matrizes de confusão, vê-se o valor do modelo com
maior acurácia, sendo melhor que a média.
Analisando o recall, apenas o modelo de Logistic Regression teve valor abaixo de 0.7.
Isso significa que os modelos têm baixo erro quando há um empate/derrota do mandante, com
destaque para o Gradient Boosting, que apresenta um recall de 0.78 na média, valor muito bom
para o problema.
A precisão de todos os modelos é menor que 0.7, o que mostra uma dificuldade maior
quando ocorre uma vitória do mandante, prevendo vários desses jogos como um empate/derrota
do mandante.
Outra análise feita busca verificar se o método de seleção de características usado nos mo-
delos traz melhora ou não. Para isso, os mesmo modelos descritos são treinados novamente,
com mesma divisão de base de dados, mesma padronização quando necessário e também são
testados 10 vezes aleatoriamente, porém, utilizando todas as características criadas. O resultado
desse experimento está descrito na Tabela 4.6.

Tabela 4.6: Detalhamento das métricas dos modelos sem seleção de características.
Acurácia Recall Precisão F1-score
Modelo Média Desvio-Padrão Média Desvio-Padrão Média Desvio-Padrão Média Desvio-Padrão
Random Forest 0.654 0.004 0.824 0.005 0.642 0.003 0.718 0.000
Gradient Boosting 0.649 0.004 0.837 0.005 0.624 0.003 0.714 0.000
Logistic Regression 0.651 0.001 0.726 0.000 0.670 0.0001 0.697 0.000
SVM 0.645 0.000 0.778 0.000 0.637 0.000 0.700 0.000
MLP 0.628 0.006 0.672 0.016 0.636 0.005 0.653 0.000

Por mais que haja um ganho geral no recall, a melhora é visível em todas as outras métricas
quando se usa o método de seleção de características. Dessa forma, é possível afirmar que o
método apresentado no trabalho traz um ganho para o problema de previsão de resultado de um
jogo de futebol.

4.4 Simulação de Apostas usando os Modelos

Com os modelos treinados, a última etapa para avaliação é verificar se é possível obter lucros
de apostas esportivas usando eles. Os 5 modelos serão usados para fazer previsão dos jogos
da Premier League do dia 24/10/2020 até 29/12/2020. Será simulada uma aposta de $10 no
resultado previsto, e o lucro ou perda será adicionado à banca inicial, de $1000.
Após isso, para analisar a lucratividade, será calculado o retorno sobre investimento (ROI)
de cada modelo, mostrado na Equação 1.2, a odd média de acerto, mostrada na Equação 4.7 e
o desvio-padrão da banca, mostrado na Equação 4.6.
s
∑Ni=0 (Bancai − Banca)
2
DPBanca = (4.6)
N
4.4 SIMULAÇÃO DE APOSTAS USANDO OS MODELOS 21

Em que:

DPBanca = Desvio-Padrão da Banca


Banca = Média da Banca no período analisado
i = i-ésimo jogo
N = total de jogos analisados

∑NR
i=0 Odd
Odd = (4.7)
NR
Em que:

Odd = Odd média de acerto


i = i-ésimo jogo
NR = jogos onde o modelo previu corretamente o resultado

Para viés de comparação, serão simuladas três estratégias de benchmark [23], a aposta em
todos os jogos na vitória do mandante, a aposta em todos os jogos no Double Chance, e a
aposta aleatória, que funciona da seguinte forma: são criados aleatoriamente 10 palpites de
vitória e empate/derrota do mandante, e é selecionado como palpite para o jogo o que aparecer
mais vezes entre esses 10. O objetivo é comparar como se sairiam apostadores que usassem os
modelos em relação a apostadores que usam análises tradicionais para apostas esportivas. A
descrição das estratégias simuladas pode ser vista na Tabela 4.7.

Tabela 4.7: Descrição das estratégias simuladas.

Estratégia Descrição
HOME_STRAT Aposta sempre no time mandante
DC_STRAT Aposta sempre no Double Chance
RANDOM_STRAT Aposta aleatória
RF_STRAT Aposta no resultado gerado pelo Random Forest
GBM_STRAT Aposta no resultado gerado pelo Gradient Boosting
LR_STRAT Aposta no resultado gerado pelo Logistic Regression
SVM_STRAT Aposta no resultado gerado pelo SVM
MLP_STRAT Aposta no resultado gerado pelo MLP

Após a simulação, a primeira análise feita é o cálculo do retorno sobre investimento, se-
guindo a Equação 1.2, e seu resultado é apresentado na Figura 4.10. Analisando-o, é observado
que o modelo que bate o benchmark que aposta sempre em Double Chance é o que usa Random
Forest. Além disso, o modelo de Gradient Boosting tem performance igual à do benchmark,
4.4 SIMULAÇÃO DE APOSTAS USANDO OS MODELOS 22

terminando com a banca no mesmo valor. Durante os 100 jogos, em vários momentos, os ou-
tros modelos estiveram com maior lucratividade que esse benchmark, porém, há o acerto em
odds muito altas em alguns jogos que faz com que ele ultrapasse os outros modelos ao final da
análise.
Nessa simulação, foram usados os modelos que geraram as matrizes de confusão, que estão
nas Figuras 4.5 até 4.9. Entre os modelos com maior lucratividade, observa-se que o Random
Forest tem a melhor acurácia e também maior precisão. Já o Gradient Boosting apresenta o
maior recall. Uma possibilidade é que isso faz com que ele acerte maiores odds, o que traria
maior lucro mesmo com acurácia menor.
Entre os outros modelos, destaca-se de forma negativa o Logistic Regression. Por mais que
acerte muitas vitórias de mandante, ele não tem boa acurácia em acertos de empate/derrota
do mandante, o que pode ter ocasionado um baixo acerto de odds altas. Já os modelos de
MLP e SVM apresentam boa acurácia no teste, mas quando viram dados novos não tiveram um
desempenho alto, o que indica sobreajuste.

Figura 4.10: Retorno sobre investimento.

É importante analisar quais odds os modelos têm acertado. A primeira etapa é ver em
quantos jogos a previsão de cada estratégia foi correta, ou seja, a acurácia para os 100 jogos de
teste em análise, como mostrado na Tabela 4.8.
Todos os modelos acertam mais que os três benchmarks. Como a acurácia da estratégia
HOME_STRAT é muito baixa, ela acaba tendo prejuízo maior que qualquer estratégia baseada
nos modelos, assim como a abordagem aleatória. Já a DC_STRAT tem lucro maior que três
modelos, empata com a estratégia do Gradient Boosting e perde apenas para a estratégia base-
ada em Random Forest. Isso é um indicativo de que essa estratégia, mesmo acertando menos,
acerta odds mais altas.
4.4 SIMULAÇÃO DE APOSTAS USANDO OS MODELOS 23

Tabela 4.8: Acertos e erros das estratégias simuladas.

Estratégia Acertos Erros


HOME_STRAT 39 61
DC_STRAT 61 39
RANDOM_STRAT 44 56
RF_STRAT 69 31
GBM_STRAT 67 33
LR_STRAT 62 38
SVM_STRAT 66 34
MLP_STRAT 65 35

Figura 4.11: Odd média de acerto.

A Figura 4.11 deixa isso explícito. Enquanto todas as estratégias baseadas em modelo
têm odd média em torno de 1.5, a estratégia que aposta sempre em Double Chance tem odd
média de 1.72. Isso faz com que, mesmo que ela acerte menos, tenha lucro próximo ao das
duas melhores estratégias baseadas em modelos. Também é visível que os modelos de Random
Forest e Gradient Boosting conseguem acertar odds médias levemente maiores que a dos outros
modelos, e são os modelos com maior recall. Nesse caso, então, fica visível que um aumento
no recall dos modelos leva a um acerto de odds maiores.
Um ponto a ser analisado é o risco de cada estratégia. Por mais que acertar odds maiores
possa parecer vantajoso, isso pode implicar em um maior risco para gestão de banca. Para medir
4.4 SIMULAÇÃO DE APOSTAS USANDO OS MODELOS 24

isso, será usada a mesma definição de risco de uma carteira de investimentos [24], que consiste
em medir o desvio-padrão da carteira, que no contexto do trabalho será o desvio-padrão da
banca.
Na Figura 4.12 pode ser visto o resultado dessa análise. A estratégia com maior desvio-
padrão é a que sempre aposta de forma aleatória, seguida pela que sempre aposta no time
mandante, e, além de serem as mais arriscadas, têm baixa acurácia. A terceira é a RF_STRAT,
que aposta no resultado do modelo de Random Forest. Essa é também a estratégia que apresen-
tou maior lucro, porém, seu alto risco pode ser um fator que desencoraje o uso de apostadores
mais conservadores. A estratégia de Gradient Boosting pode ser a melhor para quem usar
o modelo como apoio à decisão em apostas. Ela tem o mesmo retorno da DC_STRAT, que
aposta sempre em Double Chance, mas com menor risco. O fato desse modelo diminuir riscos
é muito interessante, visto que o mercado de apostas esportivas é notoriamente rotulado como
uma aplicação de alto risco.

Figura 4.12: Desvio-padrão da banca.


C APÍTULO 5

Conclusão

Pode-se concluir que é possível obter lucros em apostas esportivas usando os modelos desen-
volvidos no trabalho como previsão de resultado dos jogos da Premier League. Os resultados
apontam que os modelos baseados nos algoritmos de Random Forest e Gradient Boosting apre-
sentam ganhos seguindo a estratégia de apostas simulada, o que mostra que, para esse tipo de
previsão, algoritmos de árvore de decisão se saem bem. Além disso, modelos de MLP e SVM
também conseguiram performance lucrativa, e acima de benchmarks durante boa parte da simu-
lação. Todos os modelos apresentaram valores dentro do esperado para acurácia, considerando
outros trabalhos estudados da área.
O método de seleção de características usado no trabalho é inovador e eficaz. Os modelos
desenvolvidos usando as características selecionadas pelo método apresentaram ganho de acu-
rácia em relação aos modelos testados sem. Na bibliografia estudada, não houve testes com
esse método, que consiste em fazer a análise gráfica da importância de características calculada
por uma árvore de decisão.
Também é possível concluir que uma estratégia baseada nesses modelos traz menor risco
ao apostador. Isso é visível quando se analisa o desvio-padrão da banca inicial, sendo o modelo
de Random Forest o único com essa métrica acima da estratégia de apostas sempre em Double
Chance. Destaca-se aqui o modelo baseado em Gradient Boosting, que tem desvio-padrão de
banca menor que o Double Chance, mas termina a simulação com o mesmo Retorno sobre
Investimento, mostrando que é mais assertivo e menos dependente de acerto em odds altas.
Apesar de ser possível obter ganhos, não há uma grande diferença em acurácia para estraté-
gia de apostar sempre em Double Chance. Considerando os trabalhos relacionados, vê-se que
esse é um grande desafio para área atualmente. A maioria dos trabalhos consegue desenvol-
ver modelos satisfatórios, mas não há grande diferença em relação aos acertos provenientes de
palpites baseados apenas no conhecimento de pessoas que acompanham o esporte.

5.1 Trabalhos futuros

As primeiras mudanças possíveis, passam pela construção de outras características. Dados de


jogadores podem trazer características com maior poder preditivo, mas aumentam a complexi-
dade do problema e são mais difíceis de se obter.
Também pode-se testar características baseadas em estatísticas para qualificar a equipe. Um
exemplo é o pi-ranking [25]. Essa estatística foi criada para determinar o nível de habilidade
dos times tendo como base a diferença entre gols marcados. Em [25], ela é usada direto para
previsão, atribuindo a vitória ao time com maior pi-rating, mas, poderia ser usada como carac-

25
5.1 TRABALHOS FUTUROS 26

terística de um modelo de Aprendizagem de Máquina que tenta prever o resultado.


Além disso, uma possível melhoria poderia ser observada testando outros algoritmos de
seleção de características. Em [13], por exemplo, usou-se o algoritmo de PCA, porém, os
resultados foram próximos aos obtidos aqui.
Como observado nos trabalhos relacionados, o tamanho do dataset analisado pode ser dife-
rente de acordo com o problema. Em geral, modelos que usaram datasets menores que o usado
aqui apresentaram acurácia maior, o que pode ser um indicativo de que não seja necessário
uma grande quantidade de dados para esse problema. O campeonato e o esporte que é usado
para modelagem também são fatores que poderiam ser mudados, e que trariam impactos na
avaliação do modelo.
Para trazer melhorias na simulação das apostas, uma possibilidade é acrescentar os jogos
que se passaram à base de dados, e treinar o modelo novamente com esses dados. Como
mostrado nos resultados, as previsões baseadas em alguns dos modelos, como SVM, MLP e
Logistic Regression, apresentam queda na acurácia à medida que o tempo vai passando. Caso
o modelo fosse utilizado em produção, o ideal seria que ele fosse treinado novamente com os
novos dados à cada rodada do campeonato.
Referências Bibliográficas

[1] Vladimir Nasteski. An overview of the supervised machine learning methods. HORI-
ZONS.B, 4:51–62, 12 2017.
[2] Irem Barman and Ibrahim Demir. Modelling sport events with supervised machine lear-
ning. Fundamental Journal of Mathematics and Applications, 4(4):232–244, 2021.
[3] Rory Bunker and Teo Susnjak. The application of machine learning techniques for pre-
dicting results in team sport: A review, 12 2019.
[4] Rory Bunker and Fadi Thabtah. A machine learning framework for sport result prediction.
Applied Computing and Informatics, 15, 09 2017.
[5] Mei-Ling Huang and Yi-Jung Lin. Regression tree model for predicting game scores for
the golden state warriors in the national basketball association. Symmetry, 12(5), 2020.
[6] Margarita Castillo Ramirez, Amelec Viloria, Alexander Parody Muñoz, and Heidi Posso.
Application of multiple linear regression models in the identification of factors affecting
the results of the chelsea football team. International Journal of Control Theory and
Applications, 10:7–13, 2017.
[7] Youri Geurkink, Jan Boone, Steven Verstockt, and Jan Bourgois. Machine learning-based
identification of the strongest predictive variables of winning and losing in belgian pro-
fessional soccer. Applied Sciences, 11:2378, 03 2021.
[8] Johannes Stübinger, Benedikt Mangold, and Julian Knoll. Machine learning in football
betting: Prediction of match results based on player characteristics. Applied Sciences,
10:46, 12 2019.
[9] How do sports betting odds/lines work? https://www.rotowire.com/
betting/faq/how-do-sports-betting-oddslines-work-5b6264fa.
Acessado em: 23/08/2022.
[10] Double chance bet calculator. https://betcalcul.com/calculator/
double-chance-bet/. Acessado em: 23/08/2022.
[11] Return on investment: Definition. https://www.investopedia.com/terms/
r/returnoninvestment.asp#:~:text=Return%20on%20investment%
20(ROI)%20is%20calculated%20by%20dividing%20the%20profit,
when%20expressed%20as%20a%20percentage. Acessado em: 23/08/2022.

27
REFERÊNCIAS BIBLIOGRÁFICAS 28

[12] Pakawan Pugsee and Pattarachai Pattawong. Football match result prediction using the
random forest classifier. In Proceedings of the 2nd International Conference on Big Data
Technologies, ICBDT2019, page 154–158, New York, NY, USA, 2019. Association for
Computing Machinery.
[13] Niek Tax and Yme Joustra. Predicting the dutch football competition using public data: A
machine learning approach. Transactions on knowledge and data engineering, 10(10):1–
13, 2015.
[14] Albina Yezus. Predicting outcome of soccer matches using machine learning. Saint-
Petersburg University, 2014.
[15] Daniel Berrar, Philippe Lopes, and Werner Dubitzky. Incorporating domain knowledge
in machine learning for soccer outcome prediction. Machine Learning, 108, 01 2019.
[16] Kou-Yuan Huang and Kai-Ju Chen. Multilayer perceptron for prediction of 2006 world
cup football game. Advances in Artificial Neural Systems, 2011, 01 2011.
[17] Jassim Al-Mulla and Tanvir Alam. Machine learning models reveal key performance
metrics of football players to win matches in qatar stars league. IEEE Access, 8, 12 2020.
[18] Hubacek, O. Sourek, G. Zelenzy, F. Exploiting sports-betting market using machine lear-
ning. In International Journal of Forecasting, 2019.
[19] H Azhari, Yekti Widyaningsih, and Dian Lestari. Predicting final result of football match
using poisson regression model. Journal of Physics: Conference Series, 1108:012066, 11
2018.
[20] K. Grabczewski and N. Jankowski. Feature selection with decision tree criterion. In Fifth
International Conference on Hybrid Intelligent Systems (HIS’05), pages 6 pp.–, 2005.
[21] Ramón Díaz-Uriarte and Sara Alvarez de Andrés. Gene selection and classification of
microarray data using random forest. BMC bioinformatics, 7(1):1–13, 2006.
[22] Miguel Cárdenas-Monte. Sobreajuste - overfitting. Course notes, October 2015. Acessado
em: 16/09/2022.
[23] Financial benchmarking - what is financial benchmarking? https:
//debitoor.com/dictionary/financial-benchmarking#:~:
text=The%20term%20’benchmarking’%20refers%20to,common%
20values%20that%20are%20measured. Acessado em: 08/09/2022.
[24] John B Guerard. Markowitz and the expanding definition of risk: applications of multi-
factor risk models. In Handbook of Portfolio Construction, pages 31–60. Springer, 2010.
[25] Anthony Constantinou and Norman Fenton. Determining the level of ability of football te-
ams by dynamic ratings based on the relative discrepancies in scores between adversaries.
Journal of Quantitative Analysis in Sports, 9:37–50, 01 2013.

Você também pode gostar