Adatvédelem & cookie-k
ez az oldal cookie-kat használ. A folytatással elfogadja azok használatát. Tudj meg többet, beleértve a cookie-k kezelésének módját is.
1.Megjegyzés: Ez a fantasy league csapatok építéséről szóló kétrészes bejegyzés 1. része. Először olvassa el ezt, majd olvassa el a részt 2 itt.
2. megjegyzés: Bár a cím azt mondja: “Fantasy Football”, Az alábbiakban ismertetett modell elvileg módosítható, hogy bármilyen fantasy bajnoksághoz illeszkedjen bármilyen sporthoz.
a közelmúltban több ember (néhány diák, néhány barát) megkereste a fantasy football ligák optimális csapatainak létrehozását. A fogadási oldalak, például a Fan Duel és a Draft Kings közelmúltbeli hullámával ez több millió (vagy mondhatnám, milliárd?) dollár ipar. Ezért úgy gondoltam, hogy leírok egy egyszerű receptet, amely mindenkinek segít. Arra készülünk, hogy előíró elemzéseket használjunk a sport fogadására. Készen van? Csináljuk! A matematikai modellel kezdem, majd megmutatom, hogyan lehet mindezt egy táblázat segítségével működtetni.
a szabályok
a fantasy football team szabályai kimondják, hogy egy csapatnak a következőkből kell állnia:
- 1 hátvéd (QB)
- 2 running backs (RB)
- 3 wide receivers (WR)
- 1 tight end (TE)
- 1 kicker
- 1 defense
néhány ligában van úgynevezett “flex player” is, amely lehet RB, WR vagy te. Az alábbiakban elmagyarázom, hogyan kell kezelni a flex lejátszót. Ezenkívül a játékosoknak költségeik vannak, a csapatot létrehozó személynek pedig költségvetése van, hívja , hogy betartsa (általában
50 000 vagy 60 000 dollár).
az adatok
minden játékos számára , megkapjuk a fent említett költségeket, hívjuk
, és egy pontvetítés
. Ez utóbbi annak becslése, hogy hány pontot várunk el az adott játékostól egy adott héten vagy meccsen. Amikor a védekezésről van szó, bár nem mindig szerez gólt, van egy módja annak is, hogy kiszámítsuk a pontokat (pl. Hogyan lehet ezeket a pont előrejelzések kap számított, lehet kérni? Itt jön be a prediktív elemzés. Ez lényegében előrejelzés. Megnézed a múltbeli / közelmúltbeli teljesítményt, megnézed a közelgő ellenfelet, megnézed a játékosok egészségét stb. Vannak olyan webhelyek, amelyek biztosítják ezeket az előrejelzéseket, vagy kiszámíthatja a sajátját. Minél pontosabb vagy ezeken az előrejelzéseken, annál valószínűbb, hogy beváltja a fogadásokat. Itt ezeket a számokat adjuk meg.
az optimalizálási modell
a főbb döntések egyszerűek: melyik játékosnak kell lennie a csapatunkban? Ez lehet modellezni, mint egy igen/nem döntés változó minden játékos. Tehát hozzunk létre egy nevű bináris változót, amely csak két értéket vehet fel: egyenlő az 1 értékkel, ha
játékos a csapatunkban van, és egyenlő a nulla értékkel, ha
játékos nincs a csapatunkban. A
(a játékos azonosítója) értéke 1-től a rendelkezésünkre álló játékosok teljes számáig terjed.
célunk, hogy olyan csapatot hozzunk létre, amely a lehető legnagyobb összesített értékkel rendelkezik. Vagyis maximalizálni akarjuk a csapatba felvett összes játékos pont-előrejelzéseinek összegét. Ez a képlet így néz ki:
a fenti képlet azért működik, mert ha egy játékos a csapatban van (), akkor a
eggyel megszorozódik és hozzáadódik az összeghez, ha pedig egy játékos nincs a csapatban (
), akkor a
megszorozzuk nullával, és nem adjuk hozzá a végső összeghez. Az imént leírt mechanizmus a fő gondolat, ami a modell összes képletét működteti. Például, ha az első 3 játékos pont-előrejelzései 12, 20 és 10, akkor a maximalizációs függvény a következőképpen kezdődik:
a költségvetési megszorítás úgy írható le, hogy a csapatunk összes játékosának költségeinek összege kisebb vagy egyenlő a költségvetésünkkel , mint ez:
például, ha az első 3 játékos 9000, 8500 és 11000 dollárba kerül, és a költségvetésünk 60 000, a fenti képlet így néz ki: .
annak érdekében, hogy a csapat minden pozícióban megfelelő számú játékossal rendelkezzen, pozícióról pozícióra tesszük. Például, hogy megköveteljük, hogy a csapatnak legyen egy hátvédje, írunk:
ahhoz, hogy megköveteljük, hogy a csapatnak két futóhátvédje és három elkapója legyen, írunk:
a fennmaradó pozíciók korlátai a következők lennének:
a Flex lejátszó kíváncsi esete
a flex lejátszó érdekes csavart ad ehhez a modellhez. Ez egy olyan játékos, aki, ha jól értem, átveszi a kicker helyét (vagyis nem lenne fent a kicker kényszer), és lehet RB, WR vagy TE. Ezért azonnal új döntést kell hoznunk: milyen játékosnak kell lennie a flex-nek? Hozzunk létre három új Igen / Nem változót a döntés ábrázolásához: ,
és
. Ezek a változók azt jelentik: a flex RB?, a flex WR? és a flex TE? Annak jelzésére, hogy ezek közül csak egy lehet igaz, az alábbiakban írjuk a korlátozást:
ezenkívül a flex lejátszó használata egyenértékű az RB, WR és TE számát számoló korlátok jobb oldalának növelésével, de csak egyetlen ilyen korlátozás esetén. Ezt úgy érjük el, hogy ezeket a korlátozásokat a fenti formátumról a következőkre változtatjuk:
ne feledje, hogy mivel a változók közül csak az egyik lehet egyenlő 1-gyel, a fenti három korlátozás közül csak az egyiknek lesz jobb oldala az eredeti 2, 3 vagy 1 értékéhez képest.
egyéb lehetséges követelmények
személyes preferenciák, bennfentes információk vagy más ezoterikus megfontolások miatt érdemes lehet más követelményeket is belefoglalni ebbe a modellbe. Például, ha azt akarom, hogy a legjobb csapat, amely tartalmazza a 8-as számú játékost, és kizárja a 22-es játékost, egyszerűen ki kell kényszerítenem a 8-as Játékos x változóját 1-re, a 22-es játékos x változóját pedig nullára. Egy másik kényszer, amely hasznos lehet, ha azt mondjuk, hogy ha a 9.játékos a csapatban van, akkor a 10. játékosnak is a csapatban kell lennie. Ezt úgy érik el, hogy:
ha az ellenkezőjét akarta, vagyis ha a 9. játékos a csapatban van, akkor a 10. játékos nincs a csapatban, írnál:
ezen vonalak mentén más feltételek is lehetségesek.
mindent összerakva
ha elég türelmes voltál ahhoz, hogy végig itt maradj velem, alig várod, hogy ez a matematika működjön. Csináljuk a Microsoft Excel használatával. Először töltse le ezt a táblázatot, és nyissa meg a számítógépen. Itt van, amit tartalmaz:
- oszlop: listája játékos nevét.
- B oszlop: Igen/Nem döntések arról, hogy egy játékos a csapatban van-e (ezek az X változók, amelyeket az Excel Solver kiszámít nekünk).
- C-H oszlopok: zászlók, amelyek jelzik, hogy egy játékos adott típusú-e (0 = Nem, 1 = igen).
- I és J oszlop: az egyes játékosok költség-és pontvetítései.
most görgessen lefelé, hogy láthassa a 144-150 sorokat. A B oszlop cellái jelenleg üresek, mert még nem választottuk ki, mely játékosokat adjuk hozzá a csapathoz. De ha ezeket a döntéseket meghozták volna (vagyis ha a B oszlopot 0-val és 1-gyel töltöttük volna meg), a B oszlopot a C oszlopmal megszorozva cellánként, és mindezt összeadva megmondaná, hogy hány hátvédje van. Ezt a szorzást a C144 cellába beépítettem a SUMPRODUCT képlet segítségével. Hasonló módon a d144:H144 cellák kiszámítják, hogy hány játékosunk lenne, ha a B oszlop cellái értékeket kapnak. A csapat teljes költségének és a csapat összes tervezett pontjának kiszámítása hasonló a korábbi számításokhoz, és a SUMPRODUCT képletet is használja (lásd az I144 és J144 cellákat). Meg lehet próbálni szedés néhány játékos kézzel (üzembe 1-es néhány cellában a B oszlop), hogy az értékek a sejtek sorban 144 változni fog.
ha most megnyitja az Excel Solver ablakot (az Adatok lapon, ha a Solver bővítmény aktív), látni fogja, hogy már a teljes modellt beállítottam az Ön számára. Ha még soha nem használta az Excel Solver programot, akkor a következő kétrészes videó kezdi meg vele: 1. és 2. rész.
az objektív cella J144, és ez az, amit maximalizálni akarunk. A változók (más néven változó cellák) a B oszlop játékosválasztásai, valamint a flex-player típusú döntések (d147 cellák:F147). A megszorítások azt mondják, hogy: (1) az egyes típusú játékosok tényleges száma (C144:H144) megegyezik az egyes típusok kívánt számával (C146:H146), (2) a csapat teljes költsége (I144) nem haladja meg a költségvetést (I146), (3) A három flex-player bináris változó összeadódik 1 (D150 = F150), és (4) a probléma összes változója bináris. (A G146 cellában a szükséges számú rúgót nullára állítottam, mert a flex-player opciót használjuk. Ha lehet mind flex lejátszó, mind kicker, csak írja be az a 1-et a g146 cellába.) Ha rákattint a “megoldás” gombra, látni fogja, hogy a legjobb válasz egy olyan csapat, amely pontosan 50 000 dollárba kerül, és a teljes tervezett pontértéke 78,3. A flex játékos végül, hogy egy RB.
ez a modell elég kicsi ahhoz, hogy meg tudom oldani az Excel Solver ingyenes hallgatói verziójával (amely alapértelmezés szerint minden irodai telepítéshez tartozik). Ha több játékosod van, és a teljes változó számod meghaladja a 200-at, az ingyenes megoldó nem fog működni. De ne ess kétségbe! Létezik egy nagyszerű megoldó bővítmény az Excel számára, amely szintén ingyenes, és nincs méretkorlátja. Opensolvernek hívják, és pontosan ugyanazzal a beállítással fog működni, mint itt.