X

Privacidade & Cookies

Este site utiliza cookies. Ao Continuar, você concorda com o uso deles. Saiba mais, incluindo como controlar cookies.

Consegui!

anúncios

Nota 1: Esta é a parte 1 de uma postagem em duas partes sobre a construção de equipes da fantasy league. Leia isso primeiro e depois leia a parte 2 aqui.

Nota 2: Embora o título diga “Fantasy Football”, o modelo que descrevo abaixo pode, em princípio, ser modificado para caber em qualquer liga de fantasia para qualquer esporte.

footballfui recentemente abordado por várias pessoas (alguns alunos, alguns amigos) sobre a criação de Times ideais para ligas de futebol de fantasia. Com a recente onda de sites de apostas como Fan Duel e Draft Kings, isso se tornou um multimilionário (ou devo dizer, bilhões?) indústria do dólar. Então pensei em escrever uma receita simples para ajudar a todos. Estamos prestes a usar análises prescritivas para apostar em esportes. Estás pronto? Vamos a isto! Vou começar com o modelo matemático e depois mostrar como fazer tudo funcionar usando uma planilha.

Regras

A equipa de futebol estado de regras que uma equipe deve consistir de:

  • 1 quarterback (QB)
  • 2 running backs (RB)
  • 3 wide receivers (WR)
  • 1 tight end (TE)
  • 1 kicker
  • 1 defesa

Algumas ligas também têm o que é chamado um “flex jogador”, o que poderia ser um RB, WR, ou TE. Vou explicar como lidar com o Flex player abaixo. Além disso, os jogadores têm um custo e a pessoa que cria a equipe tem um orçamento, chame-o de B, para cumprir (geralmente B é $50.000 ou $60.000).

os dados

para cada jogador i, recebemos o custo mencionado acima, chamamos de c_i e uma projeção de ponto p_i. Este último é uma estimativa de quantos pontos esperamos que o jogador marque em uma determinada semana ou jogo. Quando se trata de defesa, embora nem sempre marque, há também uma maneira de calcular pontos para isso (por exemplo, pontos evitados). Como essas projeções pontuais são calculadas, você pode perguntar? É aqui que a análise preditiva entra em jogo. É essencialmente previsão. Você olha para o desempenho passado / recente, você olha para o próximo oponente, você olha para a saúde dos jogadores, etc. Existem sites que fornecem essas projeções, ou você pode calcular o seu próprio. Quanto mais preciso você estiver nessas previsões, maior a probabilidade de lucrar com as apostas. Aqui, vamos tomar esses números como dado.

o modelo de otimização

as principais decisões a serem tomadas são simples: quais jogadores devem estar em nossa equipe? Isso pode ser modelado como uma variável de decisão sim/não para cada jogador. Então, vamos criar uma variável binária chamado x_i o que só pode ter dois valores: é igual ao valor 1 quando o jogador i está em nossa equipe, e é igual ao valor zero quando o jogador i não está em nossa equipe. O valor de i (o ID do jogador) varia de 1 ao número total de jogadores disponíveis para nós.

nosso objetivo é criar uma equipe com o maior valor agregado possível de pontos projetados. Ou seja, queremos maximizar a soma das projeções pontuais de todos os jogadores que incluímos na equipe. Esta fórmula parece com isso:

\max \displaystyle \sum_{\text{todos } i} p_i x_i

A fórmula acima funciona, porque quando um jogador da equipe (x_i=1), o seu p_i fica multiplicada por um e é adicionado à soma, e quando um jogador não está na equipe (x_i=0) o seu p_i fica multiplicada por zero e não ficar adicionado ao montante final. O mecanismo que acabei de descrever é a ideia principal por trás do que faz todas as fórmulas neste modelo funcionarem. Por exemplo, se o ponto de previsões para os primeiros 3 jogadores são 12, 20 e 10, a maximização da função de iniciar como: \max 12x_1 + 20x_2 + 10x_3 + \cdots

A restrição orçamentária pode ser escrito dizendo que a soma dos custos de todos os jogadores na nossa equipa tem de ser menor ou igual ao nosso orçamento B, como este:

\displaystyle \sum_{\text{todos }i} c_i x_i \leq B

Por exemplo, se os primeiros 3 jogadores custo 9000, 8500, e 11000, e o nosso orçamento é de 60.000, a fórmula acima ficaria assim: 9000x_1 + 8500x_2 + 11000x_3 + \cdots \leq 60000.

para reforçar que a equipe tem o número certo de jogadores em cada posição, fazemos isso posição por posição. Por exemplo, para exigir que a equipe tem um quarterback, podemos escrever:

\displaystyle \sum_{\text{todos } i \text{ que são zagueiros}} x_i = 1

Para exigir que a equipe tem dois running backs e três de largura, receptores, podemos escrever:

\displaystyle \sum_{\text{todos } i \text{ que são running backs}} x_i = 2

\displaystyle \sum_{\text{todos } i \text{ que são wide receivers}} x_i = 3

As restrições para as restantes posições seria:

\displaystyle \sum_{\text{todos } i \text{ que estão apertadas, termina}} x_i = 1

\displaystyle \sum_{\text{todos } i \text{ que são kickers}} x_i = 1

\displaystyle \sum_{\text{todos } i \text{ que são defesas}} x_i = 1

O Curioso Caso do Flex Jogador

flex jogador adiciona um toque interessante para este modelo. É um jogador que, se eu entender corretamente, toma o lugar do kicker (o que significa que não teríamos a restrição do kicker acima) e pode ser um RB, WR ou TE. Portanto, imediatamente, temos uma nova decisão a tomar: Que tipo de jogador deve ser o flex? Vamos criar três novas variáveis sim / não para representar esta decisão: f_ {\text{RB}} ,  f_{\text{WR}}e f_{\text{TE}}. Essas variáveis significam, respectivamente: é o flex RB?, é o flex WR?, e é o flex TE? Para indicar que apenas uma dessas coisas pode ser verdadeira, escrevemos a restrição abaixo:

f_{\text{RB}} + f_{\text{AM}} + f_{\text{TE}} = 1

além disso, ter um flex jogador é equivalente a aumentar o lado direito das restrições que contar o número de RB, WR, e TE não por um, mas apenas para uma única dessas restrições. Conseguimos isso alterando essas restrições do formato que tinham acima para o seguinte:

\displaystyle \sum_{\text{todos } i \text{ que são running backs}} x_i = 2 + f_{\text{RB}}

\displaystyle \sum_{\text{todos } i \text{ que são wide receivers}} x_i = 3 + f_{\text{AM}}

\displaystyle \sum_{\text{todos } i \text{ que estão apertadas, termina}} x_i = 1 + f_{\text{TE}}

Observe que, porque apenas um dos f variáveis pode ser igual a 1, apenas uma das três restrições acima terão seu lado direito o aumento de seu valor original de 2, 3 ou 1.

outros requisitos potenciais

devido à preferência pessoal, informações privilegiadas ou outras considerações Esotéricas, pode-se incluir outros requisitos neste modelo. Por exemplo, se eu quiser a melhor equipe que inclui o número do Jogador 8 e exclui o número do jogador 22, eu simplesmente tenho que forçar a variável x do Jogador 8 a ser 1, e a variável x do jogador 22 a ser zero. Outra restrição que pode ser útil é dizer que, se o jogador 9 estiver na equipe, o jogador 10 também terá que estar na equipe. Isso é conseguido por:

x_9 \leq x_{10}

Se você queria o oposto, isto é, se o jogador 9 da equipe, em seguida, player 10 NÃO está na equipe, você teria que escrever:

x_9 + x_{10} \leq 1

Outras condições ao longo dessas linhas também são possíveis.

colocando tudo junto

se você fosse paciente o suficiente para ficar comigo até aqui, você está ansioso para colocar essa matemática para funcionar. Vamos fazer isso usando o Microsoft Excel. Comece baixando esta planilha e abrindo-a em seu computador. Aqui está o que ele contém:

  • coluna A: lista de nomes de jogadores.
  • coluna B: sim / não decisões sobre se um jogador está na equipe (estas são as variáveis x que o Excel Solver calculará para nós).
  • colunas C A H: sinalizadores indicando se um jogador é ou não de um determinado tipo (0 = não, 1 = SIM).
  • colunas I E J: as projeções de custo e ponto para cada jogador.

agora role para baixo para que você possa ver as linhas 144 a 150. As células da coluna B estão vazias porque ainda não escolhemos quais jogadores Adicionar à equipe. Mas se essas escolhas tivessem sido feitas (ou seja, se tivéssemos preenchido a coluna B com 0 e 1), multiplicar a coluna B com a coluna C de maneira inteligente e adicionar tudo isso lhe diria quantos quarterbacks você tem. Eu incluí esta multiplicação na célula C144 usando a fórmula SUMPRODUCT. De forma semelhante, as células D144:H144 calculam quantos jogadores de cada tipo teríamos uma vez que as células da coluna B recebessem valores. Os cálculos do custo total da equipe e do total de pontos projetados para a equipe são análogos aos cálculos anteriores e também usam a fórmula SUMPRODUCT (ver células I144 e J144). Você pode tentar escolher alguns jogadores à mão (colocando 1 em algumas células da coluna B) para ver como os valores das células na linha 144 serão alterados.

se Agora você abrir a janela do Excel Solver (na guia Dados, se o complemento do Solver estiver ativo), verá que já tenho todo o modelo configurado para você. Se você nunca usou o Excel Solver antes, o vídeo de duas partes a seguir o iniciará: parte 1 e parte 2.

a célula objetiva é J144, e é isso que queremos maximizar. As variáveis (também conhecidas como células em mudança) são as seleções do jogador na coluna B, além das decisões do tipo Flex-player (células D147:F147). As restrições dizer que: (1) o número real de jogadores de cada tipo (C144:H144) são iguais para o número desejado de cada tipo (C146:H146), (2) o custo total da equipe (I144) não exceder o orçamento (I146), (3) três flex-jogador binário variáveis adicionar até 1 (D150 = F150), e, (4) todas as variáveis do problema são binários. (Eu defino o número necessário de kickers na célula G146 para zero porque estamos usando a opção flex-player. Se você puder ter um flex player e um kicker, basta digitar um 1 na célula G146.) Se você clicar no botão” Resolver”, verá que a melhor resposta é uma equipe que custa exatamente US $50.000 e tem um valor total de ponto projetado de 78,3. Seu Flex player acabou sendo um RB.

este modelo é pequeno o suficiente para que eu possa resolvê-lo com a versão gratuita do estudante do Excel Solver (que vem por padrão com qualquer instalação do Office). Se você tiver mais jogadores e sua contagem total de variáveis exceder 200, o solucionador gratuito não funcionará. Mas não se desespere! Existe um ótimo complemento Solver para o Excel que também é gratuito e não tem limite de tamanho. É chamado OpenSolver, e funcionará exatamente com a mesma configuração que tenho aqui.

Articles

Deixe uma resposta

O seu endereço de email não será publicado.