privatliv& Cookies

denne side bruger cookies. Ved at fortsætte accepterer du deres brug. Lær mere, herunder hvordan du styrer cookies.

Fik Det!

annoncer

Note 1: Dette er del 1 af et todelt indlæg om opbygning af fantasy league-hold. Læs dette først og læs derefter Del 2 her.

Note 2: Selvom titlen siger” Fantasy Football”, kan den model, jeg beskriver nedenfor, i princippet ændres, så den passer til enhver fantasy league til enhver sport.

football jeg er for nylig blevet kontaktet af flere mennesker (nogle studerende, nogle venner) vedrørende oprettelsen af optimale hold til fantasy fodboldligaer. Med den nylige stigning i væddemålssider som Fan Duel og Draft Kings, dette er blevet en multi-million (eller skal jeg sige, milliard?) dollar industri. Så jeg regnede med, at jeg ville skrive ned en simpel opskrift for at hjælpe alle ud. Vi er ved at bruge receptpligtig analyse til at satse på sport. Er du klar? Lad os gøre det! Jeg starter med matematikmodellen og viser dig derefter, hvordan du får det hele til at fungere ved hjælp af et regneark.

reglerne

fantasy fodboldholdets regler angiver, at et hold skal bestå af:

  • 1 214>
  • 2 running backs (RB)
  • 3 brede modtagere (RR)
  • 1 tight end (TE)
  • 1 kicker
  • 1 Forsvar

nogle ligaer har også det, der kaldes en “flekspiller”, som enten kan være en RB, Hr. eller te. Jeg forklarer, hvordan man håndterer fleksafspilleren nedenfor. Derudover har spillerne en omkostning, og den person, der opretter holdet, har et budget, kalder det B, at overholde (normalt B er $50.000 eller $60.000).

dataene

for hver spiller i får vi ovennævnte omkostninger, kalder det c_iog en punktprojektion p_i. Sidstnævnte er et skøn over, hvor mange point vi forventer, at spilleren scorer i en given uge eller et spil. Når det kommer til forsvaret, selvom det ikke altid scorer, er der også en måde at beregne point for det (f.eks. Hvordan beregnes disse punktfremskrivninger, kan du spørge? Det er her prædiktiv analyse kommer i spil. Det er i det væsentlige prognoser. Du ser på tidligere / nylige præstationer, du ser på den kommende modstander, du ser på spillernes helbred osv. Der er hjemmesider, der giver dig disse fremskrivninger, eller du kan beregne din egen. Jo mere præcis du er ved disse forudsigelser, jo mere sandsynligt er du at indbetale på væddemålene. Her tager vi disse tal som angivet.

Optimeringsmodellen

de vigtigste beslutninger, der skal træffes, er enkle: hvilke spillere skal være på vores hold? Dette kan modelleres som en ja/nej beslutningsvariabel for hver spiller. Så lad os oprette en binær variabel kaldet x_i, som kun kan tage to værdier: den er lig med værdien 1, Når spiller i er på vores hold, og den er lig med værdien nul, når spiller i ikke er på vores hold. Værdien af i (player ID) varierer fra 1 til det samlede antal spillere, der er tilgængelige for os.

vores mål er at skabe et team med den størst mulige samlede værdi af projicerede point. Det vil sige, Vi ønsker at maksimere summen af pointfremskrivninger for alle spillere, Vi inkluderer på holdet. Denne formel ser sådan ud:

\maks. \displaystyle \sum_{\tekst{alle } i} p_i

formlen ovenfor fungerer, fordi når en spiller er på holdet (h_i=1), bliver dens p_i ganget med en og føjes til summen, og når en spiller ikke er på holdet (h_i=0) dens p_i får ganget med nul og bliver ikke tilføjet til det endelige beløb. Den mekanisme, jeg lige har beskrevet, er hovedideen bag, hvad der får alle formler i denne model til at fungere. For eksempel, hvis punktforudsigelserne for de første 3 spillere er 12, 20 og 10, starter maksimeringsfunktionen som: \maks 12h_1 + 20h_2 + 10h_3 + \cdots

budgetbegrænsningen kan skrives ved at sige, at summen af omkostningerne for alle spillere på vores hold skal være mindre end eller lig med vores budget B, som dette:

\for eksempel, hvis de første 3 spillere koster 9000, 8500 og 11000, og vores budget er 60.000, vil ovenstående formel se sådan ud:  9000h_1 + 8500h_2 + 11000h_3 + \cdots \LEKS 60000.

for at håndhæve, at holdet har det rigtige antal spillere i hver position, gør vi det position efter position. For eksempel at kræve, at holdet har en kvartback, skriver vi:

\displaystyle \ sum_ {\tekst{alle } i \ tekst{ der er kvartbacks}}= 1

for at kræve, at holdet har to running backs og tre brede modtagere, skriver vi:

\displaystyle \ sum_ {\tekst{alle } i \ tekst{ der kører tilbage}}= 2

\ displaystyle \ sum_ {\tekst{alle } i \ tekst{ der er brede modtagere}}= 3

begrænsningerne for de resterende positioner ville være:

\displaystyle \ sum_ {\tekst{alle } i \ tekst{ der er stramme ender}}= 1

\ displaystyle \ sum_ {\tekst{alle } i \ tekst{ der er kickers}}= 1

\ displaystyle \ sum_ {\tekst{alle } i \ tekst{ der er forsvar}}= 1

den nysgerrige sag om Fleksafspilleren

fleksafspilleren tilføjer en interessant vri til denne model. Det er en spiller, der, hvis jeg forstår rigtigt, tager plads til kicker (hvilket betyder, at vi ikke ville have kicker-begrænsningen ovenfor) og kan enten være en RB, VR eller TE. Derfor har vi med det samme en ny beslutning at tage: hvilken slags spiller skal bøjningen være? Lad os oprette tre nye ja / nej-variabler til at repræsentere denne beslutning:  f_{\tekst{RB}},  f_{\tekst{VR}}og f_{\tekst{TE}}. Disse variabler betyder henholdsvis: er Fleksen RB? er det fleksjob? og er det flekset? For at indikere, at kun en af disse ting kan være sandt, skriver vi begrænsningen nedenfor:

 f_{\tekst{RB}} + f_{\tekst{RR}} + f_{\tekst{TE}} = 1

derudover svarer det at have en fleksibel spiller til at øge højre side af de begrænsninger, der tæller antallet af RB, VR og TE med en, men kun for en enkelt af disse begrænsninger. Vi opnår dette ved at ændre disse begrænsninger fra det format, de havde ovenfor, til følgende:

\displaystyle \ sum_ {\tekst{alle } i \ tekst{ der kører tilbage}} h_i = 2 + f_ {\tekst{RB}}

\displaystyle \ sum_ {\tekst{alle } i \ tekst{ der er brede modtagere}} = 3 + f_ {\tekst{VR}}

\displaystyle \ sum_ {\tekst{alle } i \ tekst{ der er stramme ender}} = 1 + f_ {\tekst{TE}}

Bemærk, at fordi kun en af f – variablerne kan være lig med 1, vil kun en af de tre begrænsninger ovenfor have sin højre side øget fra sin oprindelige værdi på 2, 3 eller 1.

andre potentielle krav

på grund af personlig præference, intern viden eller andre esoteriske overvejelser vil man måske medtage andre krav i denne model. For eksempel, hvis jeg vil have det bedste hold, der inkluderer spiller nummer 8 og ekskluderer spiller nummer 22, er jeg simpelthen nødt til at tvinge Variablen for spiller 8 til at være 1, og variablen for spiller 22 til at være nul. En anden begrænsning, der kan komme til nytte, er at sige, at hvis spiller 9 er på holdet, så skal spiller 10 også være på holdet. Dette opnås ved:

 h_9{10}

hvis du ville have det modsatte, det er hvis spiller 9 er på holdet, så spiller 10 er ikke på holdet, du ville skrive:

h_9 + H_{10} 1

andre forhold i denne retning er også mulige.

at sætte det hele sammen

hvis du var tålmodig nok til at holde fast ved mig hele vejen igennem her, er du ivrig efter at sætte denne matematik i arbejde. Lad os gøre det ved hjælp af Microsoft. Start med at hente dette regneark og åbne det på din computer. Her er hvad den indeholder:

  • kolonne A: liste over spillernavne.
  • kolonne B: ja/nej beslutninger for, om en spiller er på holdet (disse er de variabler, som udmærker sig Solver vil beregne for os).
  • kolonner C til H: flag, der angiver, om en spiller er af en given type (0 = Nej, 1 = Ja).
  • kolonne i og J: omkostnings-og pointfremskrivninger for hver spiller.

rul nu ned, så du kan se rækker 144 til 150. Cellerne i kolonne B er i øjeblikket tomme, fordi vi endnu ikke har valgt, hvilke spillere der skal føjes til holdet. Men hvis disse valg var blevet lavet (det vil sige, hvis vi havde fyldt kolonne B med 0 og 1), multiplicere kolonne B med kolonne C på en cellevis måde og tilføje det hele op ville fortælle dig, hvor mange kvartbacks du har. Jeg har medtaget denne multiplikation i celle C144 ved hjælp af SUMPRODUCT-formlen. På samme måde beregner celler D144:H144, hvor mange spillere af hver art vi ville have, når cellerne i kolonne B modtager værdier. Beregningerne af de samlede holdomkostninger og de samlede forventede point for holdet er analoge med de tidligere beregninger og bruger også SUMPRODUKT-formlen (se cellerne i144 og J144). Du kan prøve at vælge nogle spillere i hånden (sætte 1 ‘ er i nogle celler i kolonne B) for at se, hvordan værdierne for cellerne i række 144 vil ændre sig.

hvis du nu åbner vinduet til løsning af problemer (under fanen Data, hvis din tilføjelse til løsning er aktiv), vil du se, at jeg allerede har konfigureret hele modellen til dig. Hvis du aldrig har brugt før, følgende todelt video vil få dig i gang med det: del 1 og del 2.

målcellen er J144, og det er det, vi ønsker at maksimere. Variablerne (alias skiftende celler) er spillervalgene i kolonne B plus beslutninger om flekspillertype (celler D147:F147). Begrænsningerne siger, at: (1) det faktiske antal spillere af hver type (C144:H144) er lig med det ønskede antal af hver type (C146: H146), (2) de samlede omkostninger for holdet (I144) overstiger ikke budgettet (I146), (3) de tre binære variable tilføjer op til 1 (D150 = F150), og (4) alle variabler i problemet er binære. (Jeg indstiller det krævede antal kickers i celle G146 til nul, fordi vi bruger indstillingen fleksafspiller. Hvis du kan have både en fleksibel afspiller og en kicker, skal du bare skrive a 1 i celle G146.) Hvis du klikker på knappen “Løs”, vil du se, at det bedste svar er et team, der koster nøjagtigt $50.000 og har en samlet forventet pointværdi på 78,3. Dens fleksible spiller endte med at blive en RB.

denne model er lille nok til, at jeg kan løse den med den gratis elevversion af (som leveres som standard med enhver Kontorinstallation). Hvis du tilfældigvis har flere spillere, og dit samlede variable antal overstiger 200, fungerer den gratis solver ikke. Men fortvivl ikke! Der findes en stor Solver add – in, der er også gratis og har ingen størrelse grænse. Det hedder OpenSolver, og det vil arbejde med nøjagtig samme opsætning jeg har her.

Articles

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.