X

Privacy & Cookies

deze website maakt gebruik van cookies. Door verder te gaan, gaat u akkoord met het gebruik ervan. Meer informatie, waaronder het beheren van cookies.

Ik Heb Het!

reclame

Opmerking 1: Dit is deel 1 van een tweedelig artikel over het bouwen van fantasy league teams. Lees dit eerst en lees dan deel 2 hier.

noot 2: Hoewel de titel “Fantasy Football” zegt, Kan het model dat ik hieronder beschrijf, in principe worden aangepast aan elke fantasy league voor elke sport.

footballik ben onlangs benaderd door verschillende mensen (sommige studenten, sommige vrienden) met betrekking tot de oprichting van optimale teams voor fantasy football competities. Met de recente golf van weddenschappen sites zoals Fan Duel en Draft Kings, is dit uitgegroeid tot een multi-miljoen (of moet ik zeggen, miljard?) dollarindustrie. Dus ik dacht ik schrijf een eenvoudig recept om iedereen te helpen. We staan op het punt om Prescriptive Analytics te gebruiken om te wedden op sport. Ben je klaar? Laten we dit doen! Ik begin met het wiskundemodel en laat je dan zien hoe het allemaal werkt met behulp van een spreadsheet.

de regels

de regels van het fantasy football team bepalen dat een team moet bestaan uit:

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

sommige competities hebben ook een zogenaamde “flex player”, die ofwel een RB, WR of TE kan zijn. Ik zal uitleggen hoe de flex player hieronder omgaan. Daarnaast hebben spelers een kostprijs en de persoon die het team maakt heeft een budget, noem het B, om zich te houden aan (meestal B is $50.000 of $60.000).

de gegevens

voor elke speler i krijgen we de hierboven genoemde kosten, noem het c_i, en een puntprojectie p_i. Dit laatste is een schatting van het aantal punten dat we verwachten dat die speler in een bepaalde week of spel scoort. Als het gaat om de verdediging, hoewel het niet altijd scoort, is er ook een manier om punten te berekenen voor het (bijvoorbeeld punten voorkomen). Hoe worden deze puntprojecties berekend, vraag je je misschien af? Dit is waar voorspellende analyses in het spel komen. Het is in wezen voorspellingen. Je kijkt naar eerdere / recente prestaties, je kijkt naar de aankomende tegenstander, je kijkt naar de gezondheid van spelers, enz. Er zijn websites die u voorzien van deze projecties, of u kunt uw eigen berekenen. Hoe nauwkeuriger je bent op deze voorspellingen, hoe groter de kans dat je om geld in op de weddenschappen. Hier, we nemen deze getallen als gegeven.

het Optimalisatiemodel

de belangrijkste beslissingen die moeten worden genomen zijn eenvoudig: welke spelers moeten in ons team? Dit kan worden gemodelleerd als een ja / nee-beslissingsvariabele voor elke speler. Laten we dus een binaire variabele maken met de naam x_i die maar twee waarden kan aannemen: het is gelijk aan de waarde 1 als speler i in ons team zit, en het is gelijk aan de waarde nul als speler i niet in ons team zit. De waarde van i (de speler-ID) varieert van 1 tot het totale aantal spelers dat Voor ons beschikbaar is.

ons doel is om een team te creëren met de grootst mogelijke geaggregeerde waarde van geprojecteerde punten. Dat wil zeggen, we willen de som van punten projecties van alle spelers die we in het team te maximaliseren. Deze formule ziet er zo uit:

\max \displaystyle\sum_ {\text{all } I} p_i x_i

de bovenstaande formule werkt omdat wanneer een speler in het team zit (x_i=1), zijn p_i met één wordt vermenigvuldigd en aan de som wordt toegevoegd, en wanneer een speler niet in het team zit (x_i=0) zijn p_i met nul wordt vermenigvuldigd en niet aan de uiteindelijke som wordt toegevoegd. Het mechanisme dat ik zojuist beschreef is het belangrijkste idee achter wat alle formules in dit model laat werken. Bijvoorbeeld, als het punt voorspellingen voor de eerste 3 spelers van 12, 20 en 10, de maximalisatie van de functie start als: \max 12x_1 + 20x_2 + 10x_3 + \cdots

De budgettaire beperkingen kan worden geschreven door de zeggen dat de som van de kosten van alle spelers in ons team heeft minder dan of gelijk aan onze budget B, zoals:

\displaystyle \sum_{\text{voor alle }ik} c_i x_i \leq B

bijvoorbeeld, als de eerste 3 spelers kosten 9000, 8500, en 11000, en ons budget is 60.000, zou de bovenstaande formule er als volgt uitzien: 9000x_1 + 8500x_2 + 11000x_3 + \ cdots \ leq 60000.

om af te dwingen dat het team het juiste aantal spelers in elke positie heeft, doen we het positie voor positie. Om bijvoorbeeld te eisen dat het team één quarterback heeft, schrijven we:

\displaystyle \ sum_ {\text{all } i \ text{ die quarterbacks zijn}} x_i = 1

om te eisen dat het team twee running backs en drie brede ontvangers heeft, schrijven we:

\displaystyle \ sum_ {\text{all } i \ text{ that are running backs}} x_i = 2

\displaystyle \ sum_ {\text{all } i \ text{ die brede ontvangers zijn}} x_i = 3

de beperkingen voor de resterende posities zouden zijn:

\displaystyle \ sum_ {\text{all } i \ text{ that are tight ends}} x_i = 1

\displaystyle \ sum_ {\text{all } i \ text{ die Kickers}}} x_i = 1

\displaystyle \ sum_ {\text{all } i \ text{ die verdediging}}} x_i = 1

het merkwaardige geval van de Flex Player

de flex player voegt een interessante twist toe aan dit model. Het is een speler die, als ik het goed begrijp, de plaats inneemt van de kicker (wat betekent dat we de kicker beperking hierboven niet zouden hebben) en kan ofwel een RB, WR, of TE zijn. Daarom moeten we meteen een nieuwe beslissing nemen: wat voor soort speler moet de flex zijn? Laten we drie nieuwe ja/nee-variabelen maken om deze beslissing weer te geven: f_{\text{RB}}, f_{\text{WR}}, en f_{\text{TE}}. Deze variabelen betekenen respectievelijk: is de flex RB? is de flex WR? en is de flex TE? Om aan te geven dat slechts één van deze dingen waar kan zijn, schrijven we de beperking hieronder:

f_ {\text{RB}} + f_ {\text{WR}} + F_{\text{TE}} = 1

bovendien is het hebben van een flex-speler gelijk aan het verhogen van de rechterkant van de beperkingen die het aantal RB, WR en TE tellen met één, maar alleen voor een van die beperkingen. We bereiken dit door deze beperkingen te veranderen van het formaat dat ze hierboven hadden naar de volgende:

\displaystyle \sum_{\text{voor alle } i \text{ waarop rug}} x_i = 2 + f_{\text{RB}}

\displaystyle \sum_{\text{voor alle } i \text{ dat zijn brede ontvangers}} x_i = 3 + f_{\text{WR}}

\displaystyle \sum_{\text{voor alle } i \text{ die strak eindigt}} x_i = 1 + f_{\text{TE}}

Merk op dat, omdat slechts één van de f variabelen gelijk is aan 1, is slechts één van de drie bovenvermelde beperkingen zijn rechterhand verhoogd van de oorspronkelijke waarde van 2, 3, of 1.

andere potentiële vereisten

vanwege persoonlijke voorkeur, voorwetenschap of andere esoterische overwegingen zou men andere vereisten in dit model kunnen opnemen. Als ik bijvoorbeeld het beste team wil dat speler nummer 8 bevat en speler nummer 22 niet, dan moet ik gewoon de x variabele van speler 8 dwingen om 1 te zijn, en de x variabele van speler 22 om nul te zijn. Een andere beperking die van pas kan komen is dat als speler 9 in het team zit, speler 10 ook in het team moet zitten. Dit wordt bereikt door:

x_9 \leq x_{10}

als je het tegenovergestelde wilt, dat wil zeggen als speler 9 in het team zit dan Speler 10 niet in het team zit, zou je schrijven:

x_9 + x_{10} \leq 1

andere voorwaarden langs deze lijnen zijn ook mogelijk.

alles in elkaar zetten

als je geduldig genoeg was om me helemaal tot hier te volgen, ben je gretig om deze wiskunde aan het werk te zetten. Laten we het doen met behulp van Microsoft Excel. Begin met het downloaden van deze spreadsheet en het openen op uw computer. Hier is wat het bevat:

  • kolom A: lijst met spelersnamen.
  • kolom B: ja / nee beslissingen of een speler in het team zit (dit zijn de x variabelen die Excel Solver voor ons zal berekenen).
  • kolommen C tot en met H: vlaggen die aangeven of een speler van een bepaald type is (0 = nee, 1 = ja).
  • kolommen I en J: de kosten-en puntenprognoses voor elke speler.

scroll nu naar beneden zodat u de rijen 144 tot en met 150 kunt zien. De cellen in kolom B zijn momenteel leeg omdat we nog niet hebben gekozen welke spelers we aan het team willen toevoegen. Maar als die keuzes waren gemaakt (dat wil zeggen, als we kolom B hadden gevuld met 0 ‘en en 1’ s), zou het vermenigvuldigen van kolom B met kolom C in een cel-wijze manier en het optellen van het allemaal zou je vertellen hoeveel quarterbacks je hebt. Ik heb deze vermenigvuldiging opgenomen in cel C144 met behulp van de SOMPRODUCT-formule. Op dezelfde manier berekenen cellen D144:H144 hoeveel spelers van elke soort we zouden hebben zodra de cellen in kolom B waarden ontvangen. De berekeningen van de totale kosten van het team en de totale geprojecteerde punten voor het team zijn analoog aan de voorgaande berekeningen en maken ook gebruik van de SOMPRODUCT formule (zie cellen I144 en J144). Je kunt proberen een aantal spelers met de hand te kiezen (1 ‘ s in sommige cellen van kolom B zetten) om te zien hoe de waarden van de cellen in rij 144 zullen veranderen.

als u nu het Excel Solver-venster opent (Onder het tabblad Data, als uw solver-invoegtoepassing actief is), zult u zien dat ik het hele model al voor u heb ingesteld. Als u Excel Solver nog nooit eerder hebt gebruikt, kunt u met de volgende tweedelige video aan de slag: deel 1 en deel 2.

de objectieve cel is J144, en dat is wat we willen maximaliseren. De variabelen (a.k.a. het veranderen van cellen) zijn de speler selecties in kolom B, plus de flex-speler type beslissingen (cellen D147:F147). De beperkingen zeggen dat: (1) het werkelijke aantal spelers van elk type (C144:H144) gelijk is aan het gewenste aantal van elk type (C146:H146), (2) de totale kosten van het team (I144) niet hoger zijn dan het budget (I146), (3) de drie Flex-player binaire variabelen optellen tot 1 (D150 = F150), en, (4) alle variabelen in het probleem zijn binair. (Ik stel het vereiste aantal kickers in cel G146 in op nul omdat we de flex-player optie gebruiken. Als je zowel een flex-speler als een kicker kunt hebben, typ dan gewoon een 1 in cel G146.) Als je op de “Oplossen” knop klikt, zul je zien dat het beste antwoord een team is dat precies $50.000 kost en een totale geprojecteerde puntwaarde van 78,3 heeft. De flex-speler eindigde als een RB.

dit model is klein genoeg om het op te lossen met de gratis studentenversie van Excel Solver (die standaard bij elke Office-installatie wordt geleverd). Als je toevallig meer spelers hebt en je totaal aantal variabelen hoger is dan 200, zal de gratis oplosser niet werken. Maar wanhoop niet! Er bestaat een grote oplosser add-in voor Excel die is ook gratis en heeft geen limiet grootte. Het heet OpenSolver, en het zal werken met exact dezelfde setup die ik hier heb.

Articles

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.