Um novo Expected Goal

“A loucura, objeto dos meus estudos, era até agora uma ilha perdida no oceano da razão; começo a suspeitar que é um continente.” 
― Machado de Assis, O Alienista

O post deste link explica de maneira detalhada o que é o Expected Goal, e qual o modelo utilizado para a construção dele. Fazendo um um resumo breve, a definição que utilizamos aqui de Expected Goal é a seguinte: “a probabilidade de uma finalização se tornar um gol. Isso nos dá a seguinte interpretação: Se um jogador médio tentasse esse chute 100 vezes, nesta mesma oportunidade de gol (distância, ângulo do chute, etc…), ele provavelmente marcaria 25 gols, o que corresponderia a uma oportunidade de gol com xG igual a 0,25”.

Para criarmos o Expected Goal, foi utilizado um modelo de regressão logística (Logit,) em que a variável explicada é a ocorrência ou não de um gol para um dado shot (arremates de cabeça, por exemplo, também são levados em consideração). As variáveis utilizadas para explicar a ocorrência ou não do gol são: distância do chute; o ângulo entre a posição da finalização e a goleira; contra-ataque; se a finalização vem de uma cobrança de falta, escanteio, pênalti ou jogada normal; se foi com o pé ou cabeça; se o finalizador recebeu (ou não) um passe para finalizar, entre outras coisas. Os parâmetros do modelo são significativos a um nível de significância de 1%, e dessa maneira, tínhamos coeficientes que explicavam a magnitude que cada uma das variáveis impactava para explicar a probabilidade da ocorrência ou não de um gol.

Ainda que o nosso modelo apresentasse resultados robustos, havia espaço para obter melhoras, principalmente em relação a acurácia (que nada mais é do que a taxa de erro) do modelo. Para tal, utilizamos modelos de Aprendizado Supervisionado, que são técnicas de Machine Learning para a previsão de dados.  Aprendizado Supervisionado pode tratar de dois problemas diferentes: previsão de resultados categóricos, chamados de classificação, ou de previsão de resultados contínuos, chamados de regressão. No nosso caso, é um problema de classificação já que estamos tentando prever a ocorrência de gol ou não gol. Não entraremos em maiores detalhes do funcionamento desses modelos aqui (fica para um post futuro), mas no fim do post há referências com maiores informações, porém, vamos expor os resultados obtidos por cada um dos modelos, e definir qual que foi usado na nossa plataforma.

Três metodologias foram utilizadas para a validação do novo Expected Goal: a regressão logística, ou seja, o modelo que já havíamos utilizado para a construção do nosso Expected Goal, o Random Forest e o XGBoost, estes dois últimos, modelos não paramétricos que se utilizam de Árvores de Decisão com alto poder de previsão. O XGBoost é a abreviação de Extreme Gradient Boosting, e é um dos modelos mais utilizados pelos vencedores das competições do Kaggle, famoso site utilizado por cientista de dados em que há competições com dados reais de empresas de diversas áreas que buscam modelos que auxiliem suas tomadas de decisão.

Para construirmos os modelos, utilizamos mais de cinquenta mil chutes dos campeonatos brasileiros de 2013 a 2018. De maneira aleatória, dividimos essa amostra em dois grupos: o de treino, onde os modelos serão construídos, e o de teste, onde os modelos serão aplicados e então poderemos ver o quão bem cada um dos modelos está prevendo os resultados.

treino_testeFigura 1. Separação dos dados originais em dados de treino e de teste.

Assim que os modelos são construídos utilizando os dados de treino, aplicamos os modelos nos dados de teste e analisamos cada um com a Matriz de Confusão, que nada mais é que uma matriz com os valores reais (valores observados) e os valores previstos.

Regressão Logística

Random Forest

XG Boost

Previsão Referência Previsão Referência Previsão Referência
Não gol Gol Não gol Gol Não gol Gol
Não gol 9766 57 Não gol 9700 123 Não gol 9617 692
Gol 870 96 Gol 720 246 Gol 206 274

Tabela 1.  Matriz de Confusão dos modelos

Há quatro resultados possíveis quando estamos tratando de um problema de classificação (previsão de um resultado categórico, no nosso caso, gol ou não gol): o verdadeiro positivo, que é quando o resultado é positivo e o modelo previu de maneira acertada (o resultado é gol e o modelo previu gol; Regressão logística = 96, Random Forest = 246, XG Boost = 274), o falso positivo, quando o resultado é positivo mas o modelo previu errado (gol mas o modelo previu não gol; RL = 57, RF = 123, XGB= 692), o falso negativo, quando o resultado é negativo mas o modelo previu positivo (não gol mas o modelo previu gol; RL = 870, RF = 720, XGB = 206) e o verdadeiro negativo, quando o resultado é negativo e o modelo previu negativo (não gol e o modelo previu de maneira correta o não gol; RL = 9766, RF = 9700, XGB = 9617).

Os resultados das Matrizes de Confusão nos ajudam a verificar o quão bem os modelos estão prevendo os valores observados. Como dito anteriormente, nosso objetivo aqui é verificar a acurácia dos modelos, e se algum deles apresenta essa variável maior que o nosso primeiro modelo utilizado, a Regressão Logística. A acurácia é a proporção de predições corretas, sem levar em consideração o que é positivo e negativo, ou seja,

AC = (VP + VN) / (VP + VN + FP + FN)

Dessa maneira, a acurácia dos modelos é:

Regressão Logística = 91,40%
Random Forest = 91,67%
Extreme Gradient Boosting = 92,18%

Há diversas maneiras de avalizar o poder de predição de um modelo. Aqui, simplificamos a discussão propondo o modelo que apresentasse a maior acurácia para utilizarmos na nossa plataforma, que foi o Extreme Gradient Boosting. Uma acurácia acima de 90% é um resultado expressivo, portanto todos modelos poderiam ser utilizados. Ainda que problemas de classificação façam a previsão de um resultado categórico (zero ou um), podemos expressá-lo na forma de probabilidade também, que é a maneira como apresentamos o Expected Goal.

Referências:

Expected Goals:

Stats Bomb – https://statsbomb.com/category/expg-model/

American Soccer Analysis – https://www.americansocceranalysis.com/explanation/

Opta – https://www.optasports.com/services/analytics/advanced-metrics/

Matriz de confusão: 

Blog Mineração de Dados – https://mineracaodedados.wordpress.com/tag/matriz-de-confusao/

Aprendizado de Máquina

Wikipedia – https://pt.wikipedia.org/wiki/Aprendizado_de_m%C3%A1quina

Extreme Gradient Boosting – https://www.serasaexperian.com.br/datalab/blog/xgboost

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s