Preveja os resultados do Super Bowl 2023 usando Python

Feb 11 2023
Faltam apenas alguns dias para o Super Bowl da NFL e estou realmente empolgado com isso este ano. Como uma pessoa curiosa, mal posso esperar por mais alguns dias para ver o vencedor, então pensei que seria interessante tentar prever o vencedor com antecedência.

Faltam apenas alguns dias para o Super Bowl da NFL e estou realmente empolgado com isso este ano. Como uma pessoa curiosa, mal posso esperar por mais alguns dias para ver o vencedor, então pensei que seria interessante tentar prever o vencedor com antecedência. Usei o Python e o RandomForest Classifier para prever o vencedor e, em seguida, usei o Regressor para adivinhar a pontuação. Aqui está minha maneira de prever o resultado do Super Bowl.

os dados

As primeiras coisas vêm primeiro. Então eu comecei com os dados. Depois de algumas pesquisas e uma breve visão geral das estatísticas, percebi que não faz muito sentido olhar para os dados que não sejam da última temporada. Muitas variáveis ​​estão mudando ao longo do tempo. Novos jogadores, novas transferências, novas estratégias e lesões. Tudo isso torna o jogo tão imprevisível e interessante de assistir. Portanto, usei apenas as estatísticas da temporada de 2022 para prever o resultado do Super Bowl. Claro que isso me deixou com apenas 17 jogos para cada equipe. Não há muitos dados, se não dizer pior. Mas vamos ver até onde podemos ir com isso.

Os dados que usei incluem todos os jogos da temporada de 2022. Portanto, no total, existem 532 linhas de informações valiosas. Eu usei as próximas métricas para a análise.

Eu olhei para 32 times da NFL na última temporada e tomei o núcleo, então aqui estão os gráficos de dispersão para as métricas do time para cada jogo da temporada.

Os gráficos de dispersão mostram a correlação entre qualquer par de métricas dentro do quadro de dados.

Olhando rapidamente para os dados, não consigo notar nenhuma correlação linear entre o desempenho da equipe e as pontuações que esperavam obter durante o jogo. Eu diria que as jardas corridas são mais significativas do que as jardas passadas e o número de viradas tende a se correlacionar com um jogo passado.

A próxima coisa a observar antes de prosseguir com a previsão é a variação da métrica principal. Qual é a faixa de pontuação que eu preciso para atirar?

A pontuação total é distribuída em torno de 44 pts por jogo

Distribuição do total de pts por jogo

E a pontuação para vencedores e perdedores é de cerca de 28 e 17 pts, respectivamente

Distribuição dos pts para vencedores e perdedores
O histograma das pontuações obtidas para vencedores e perdedores

Equipes Alvo

Como tenho a sorte de ver o Super Bowl começar em alguns dias, já sei quais times vão competir pelo troféu. Tendo uma ajuda tão grande, a previsão deve ser tão fácil quanto escolher entre A e B. Então, vamos olhar mais de perto as equipes.

Kansas City Chiefs, que venceu o Super Bowl duas vezes em sua história. A última vez em 2019. Não faz muito tempo.

O Philadelphia Eagles venceu apenas uma vez em sua história, que foi em 2018. Ok, parece que isso não vai nos deixar perto de escolher o favorito do jogo. Vejamos o desempenho das equipes durante a temporada passada.

Parece que ambas as equipes são igualmente fortes. A única coisa que posso notar é que Phila tende a ganhar mais Rushing Yard por jogo, já que os Chiefs são melhores no passe. Ok, vamos ver até onde podemos chegar com esses dados.

Classificador RandomForest para prever o vencedor

Inicialmente, vamos dividir os dados em conjuntos de dados de treinamento e teste. Isso significa ainda menos dados para treinar o modelo, mas pelo menos podemos verificar se podemos prever algo ou não.

Divida os dados em conjuntos de dados de treinamento e teste

Ao escolher preditores para construir meu modelo, tenho que ignorar fatores como jogo em casa/fora e número do jogo na temporada, pois é o mesmo para ambas as equipes.

Com base nos dados, o RF pode fazer uma previsão com taxa de precisão de 73,6%.
A pontuação de precisão é 0,731

Aqui vamos nós! O modelo que construímos pode prever o vencedor em 106 de 145 jogos e o perdedor em 98 de 132 jogos. O que nos dá a pontuação de precisão de 0,731. Absolutamente nada mal para dados tão limitados.

E aqui é o momento da Verdade. Quem ganhará?

Águias!

Ta-dam. Os Chiefs podem perder o jogo com o , o que significa uma vitória dos Eagles com 73,6% de acerto.

RandomForest Regressor para prever a pontuação

Seguindo em frente, podemos querer saber o resultado potencial do jogo. E aqui usaremos RandomForest Regressor para construir o modelo para dados nominais.

Ok, parece que prever a pontuação é uma tarefa mais complicada, mesmo para modelos avançados de ML. Aqui temos apenas 62,16% de taxa de precisão. Ok, vamos ver onde isso nos levaria.

Usando as métricas principais para cada equipe, temos a previsão de ..

RandomForest Regressor para prever a pontuação

24–31. Águias vencem!

sumário

Aí está! Agora temos uma previsão que leva em consideração as estatísticas sazonais, o desempenho das equipes e prevê o vencedor do jogo do Super Bowl. Claro, a probabilidade do placar final é bem menor que 100% e não posso dizer que apostaria nisso. Mas esse resultado parece mais provável de acontecer do que qualquer outro. Esse modelo pode ser desenvolvido ainda mais, adicionando mais fatores à análise, como: estatísticas do quarterback, relatório de lesões, condições climáticas e assim por diante. Assim, mais adiante tentaremos trazer uma previsão mais precisa.

links

  • Caderno Jupyter original
  • LinkedIn