X

Datenschutz & Cookies

Diese Seite verwendet Cookies. Indem Sie fortfahren, stimmen Sie deren Verwendung zu. Erfahren Sie mehr, einschließlich der Kontrolle von Cookies.

Verstanden!

Advertisements

Hinweis 1: Dies ist Teil 1 eines zweiteiligen Beitrags zum Aufbau von Fantasy League-Teams. Lesen Sie dies zuerst und lesen Sie dann Teil 2 hier.

Anmerkung 2: Obwohl der Titel „Fantasy Football“ sagt, kann das Modell, das ich unten beschreibe, im Prinzip so modifiziert werden, dass es zu jeder Fantasy-Liga für jede Sportart passt.

footballIch wurde kürzlich von mehreren Leuten (einige Studenten, einige Freunde) bezüglich der Schaffung optimaler Teams für Fantasy-Football-Ligen angesprochen. Mit dem jüngsten Anstieg von Wett-Sites wie Fan Duel und Draft Kings ist dies zu einer Million geworden (oder sollte ich sagen, Milliarde?) Dollar-Industrie. Also dachte ich mir, ich würde ein einfaches Rezept aufschreiben, um allen zu helfen. Wir sind dabei, Prescriptive Analytics zu verwenden, um auf Sport zu wetten. Bist du bereit? Lass uns das machen! Ich beginne mit dem mathematischen Modell und zeige Ihnen dann, wie Sie alles mithilfe einer Tabelle zum Laufen bringen.

Die Regeln

Die Fantasy Football Team Regeln besagen, dass ein Team aus:

  • 1 quarterback (QB)
  • 2 Running Backs (RB)
  • 3 Wide Receiver (WR)
  • 1 Tight End (TE)
  • 1 Kicker
  • 1 Verteidigung

Einige Ligen haben auch einen sogenannten „Flex Player“, der entweder ein RB, WR oder TE sein kann. Ich werde unten erklären, wie man mit dem Flex-Player umgeht. Darüber hinaus haben die Spieler Kosten und die Person, die das Team erstellt, hat ein Budget, nennen Sie es B, an das sie sich halten müssen (normalerweise B ist $ 50.000 oder $ 60.000).

Die Daten

Für jeden Spieler ierhalten wir die oben genannten Kosten, nennen sie c_i und eine Punktprojektion p_i. Letzteres ist eine Schätzung, wie viele Punkte wir erwarten, dass dieser Spieler in einer bestimmten Woche oder einem bestimmten Spiel erzielt. Wenn es um die Verteidigung geht, gibt es zwar nicht immer Punkte, aber auch eine Möglichkeit, Punkte dafür zu berechnen (z. B. verhinderte Punkte). Wie werden diese Punktprojektionen berechnet, fragen Sie vielleicht? Hier kommt Predictive Analytics ins Spiel. Es ist im Wesentlichen Prognose. Sie betrachten die vergangene / jüngste Leistung, Sie betrachten den bevorstehenden Gegner, Sie betrachten die Gesundheit der Spieler usw. Es gibt Websites, die Ihnen diese Projektionen zur Verfügung stellen, oder Sie können Ihre eigenen berechnen. Je genauer Sie diese Vorhersagen treffen, desto wahrscheinlicher ist es, dass Sie von den Wetten profitieren. Hier nehmen wir diese Zahlen als gegeben.

Das Optimierungsmodell

Die wichtigsten Entscheidungen sind einfach: Welche Spieler sollten in unserem Team sein? Dies kann als Ja / Nein-Entscheidungsvariable für jeden Spieler modelliert werden. Erstellen wir also eine binäre Variable namens x_i, die nur zwei Werte annehmen kann: Sie ist gleich dem Wert 1, wenn Spieler i in unserem Team ist, und sie ist gleich dem Wert Null, wenn Spieler i nicht in unserem Team ist. Der Wert von i (die Spieler-ID) reicht von 1 bis zur Gesamtzahl der uns zur Verfügung stehenden Spieler.

Unser Ziel ist es, ein Team mit dem größtmöglichen Gesamtwert der projizierten Punkte zu schaffen. Das heißt, wir wollen die Summe der Punktprojektionen aller Spieler maximieren, die wir in das Team aufnehmen. Diese Formel sieht so aus:

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

Die obige Formel funktioniert, denn wenn ein Spieler im Team ist (x_i=1), wird sein p_i mit eins multipliziert und zur Summe addiert, und wenn ein Spieler nicht im Team ist (x_i=0), wird sein p_i mit null und wird nicht zur endgültigen Summe addiert. Der Mechanismus, den ich gerade beschrieben habe, ist die Hauptidee dahinter, warum alle Formeln in diesem Modell funktionieren. Zum Beispiel, wenn die Punktvorhersagen für die ersten 3 Spieler 12, 20 und 10 sind, beginnt die Maximierungsfunktion als: \max 12x_1 + 20x_2 + 10x_3 + \cdots

Die Budgetbeschränkung kann geschrieben werden, indem man sagt, dass die Summe der Kosten aller Spieler in unserem Team kleiner oder gleich unserem Budget B sein muss, wie folgt:

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

Wenn zum Beispiel die ersten 3 Spieler 9000, 8500 und 11000 kosten und unser Budget 60.000 beträgt, würde die obige Formel folgendermaßen aussehen: 9000 x_1 + 8500 x_2 + 11000 x_3 + \cdots \leq 60000.

Um sicherzustellen, dass das Team die richtige Anzahl von Spielern auf jeder Position hat, tun wir dies Position für Position. Um beispielsweise zu verlangen, dass das Team einen Quarterback hat, schreiben wir:

\ displaystyle \sum_{\text{alle } i \text{ die Quarterbacks sind}} x_i = 1

Um zu verlangen, dass das Team zwei Running Backs und drei Wide Receiver hat, schreiben wir:

\ displaystyle \sum_{\text{alle } i \text{ die zurücklaufen}} x_i = 2

\ displaystyle \sum_{\text{alle } i \text{ die breite Empfänger sind}} x_i = 3

Die Einschränkungen für die verbleibenden Positionen wären:

\ displaystyle \sum_{\text{alle } i \text{ das sind enge Enden}} x_i = 1

\ displaystyle \sum_{\text{alle } i \text{ die Kicker sind}} x_i = 1

\ displaystyle \sum_{\text{alle } i \text{ die {}} x_i sind = 1

Der kuriose Fall des Flex Players

Der Flex Player verleiht diesem Modell eine interessante Wendung. Es ist ein Spieler, der, wenn ich es richtig verstehe, den Platz des Kickers einnimmt (was bedeutet, dass wir die obige Kicker-Einschränkung nicht haben würden) und entweder ein RB, WR oder TE sein kann. Daher müssen wir sofort eine neue Entscheidung treffen: Was für ein Spieler sollte der Flex sein? Erstellen wir drei neue Ja / Nein-Variablen, um diese Entscheidung darzustellen: f_{\text{RB}}, f_{\text{WR}} und f_{\text{TE}}. Diese Variablen bedeuten jeweils: Ist der Flex RB?, ist der Flex WR?, und ist der Flex TE? Um anzuzeigen, dass nur eines dieser Dinge wahr sein kann, schreiben wir die folgende Einschränkung:

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

Darüber hinaus entspricht ein Flex-Player dem Erhöhen der rechten Seite der Einschränkungen, die die Anzahl von RB, WR und TE um eins zählen, jedoch nur für eine einzelne dieser Einschränkungen. Wir erreichen dies, indem wir diese Einschränkungen von dem Format, das sie oben hatten, in das folgende ändern:

\ displaystyle \sum_{\text{alle } i \text{ die zurücklaufen}} x_i = 2 + f_{\text{RB}}

\ displaystyle \sum_{\text{alle } i \text{ die breite Empfänger sind}} x_i = 3 + f_{\text{WR}}

\ displaystyle \sum_{\text{alle } i \text{ das sind enge Enden}} x_i = 1 + f_{\text{TE}}

Beachten Sie, dass, da nur eine der Variablen f gleich 1 sein kann, nur eine der drei obigen Einschränkungen ihre rechte Seite von ihrem ursprünglichen Wert von 2, 3 oder 1 erhöht hat.

Andere potenzielle Anforderungen

Aufgrund persönlicher Vorlieben, Insiderinformationen oder anderer esoterischer Überlegungen sollten möglicherweise andere Anforderungen in dieses Modell aufgenommen werden. Wenn ich beispielsweise das beste Team haben möchte, das die Spielernummer 8 enthält und die Spielernummer 22 ausschließt, muss ich einfach die x-Variable von Spieler 8 auf 1 und die x-Variable von Spieler 22 auf Null setzen. Eine weitere Einschränkung, die nützlich sein kann, ist zu sagen, dass Spieler 10 auch im Team sein muss, wenn Spieler 9 im Team ist. Dies wird erreicht durch:

x_9 \leq x_{10}

Wenn Sie das Gegenteil wollten, das heißt, wenn Spieler 9 im Team ist, dann Spieler 10 ist NICHT im Team, du würdest schreiben:

 x_9 + x_{10} \leq 1

Andere Bedingungen in dieser Richtung sind ebenfalls möglich.

Alles zusammenfassen

Wenn Sie geduldig genug waren, den ganzen Weg hier bei mir zu bleiben, sind Sie bestrebt, diese Mathematik zum Laufen zu bringen. Machen wir es mit Microsoft Excel. Laden Sie zunächst diese Tabelle herunter und öffnen Sie sie auf Ihrem Computer. Hier ist, was es enthält:

  • Spalte A: liste der Spielernamen.
  • Spalte B: Ja / Nein-Entscheidungen darüber, ob ein Spieler im Team ist (dies sind die x-Variablen, die Excel Solver für uns berechnet).
  • Spalten C bis H: Flags, die angeben, ob ein Spieler einem bestimmten Typ angehört oder nicht (0 = nein, 1 = ja).
  • Spalten I und J: die Kosten- und Punkteprojektionen für jeden Spieler.

Scrollen Sie nun nach unten, sodass Sie die Zeilen 144 bis 150 sehen können. Die Zellen in Spalte B sind derzeit leer, da wir noch nicht ausgewählt haben, welche Spieler dem Team hinzugefügt werden sollen. Aber wenn diese Entscheidungen getroffen worden wären (das heißt, wenn wir Spalte B mit 0 und 1 gefüllt hätten), würde das Multiplizieren von Spalte B mit Spalte C zellweise und das Addieren von allem Ihnen sagen, wie viele Quarterbacks Sie haben. Ich habe diese Multiplikation in Zelle C144 unter Verwendung der SUMPRODUCT-Formel aufgenommen. In ähnlicher Weise berechnen die Zellen D144: H144, wie viele Spieler jeder Art wir haben würden, sobald die Zellen in Spalte B Werte erhalten. Die Berechnungen der gesamten Teamkosten und der gesamten projizierten Punkte für das Team sind analog zu den vorherigen Berechnungen und verwenden auch die SUMPRODUKTFORMEL (siehe Zellen I144 und J144). Sie können versuchen, einige Spieler von Hand auszuwählen (indem Sie 1 in einige Zellen von Spalte B einfügen), um zu sehen, wie sich die Werte der Zellen in Zeile 144 ändern.

Wenn Sie jetzt das Excel-Solver-Fenster öffnen (unter der Registerkarte Daten, wenn Ihr Solver-Add-In aktiv ist), sehen Sie, dass ich bereits das gesamte Modell für Sie eingerichtet habe. Wenn Sie Excel Solver noch nie zuvor verwendet haben, können Sie mit dem folgenden zweiteiligen Video beginnen: teil 1 und Teil 2.

Die Zielzelle ist J144, und das wollen wir maximieren. Die Variablen (auch bekannt als wechselnde Zellen) sind die Spielerauswahl in Spalte B sowie die Entscheidungen über den Flex-Player-Typ (Zellen D147: F147). Die Einschränkungen besagen, dass: (1) die tatsächliche Anzahl der Spieler jedes Typs (C144: H144) gleich der gewünschten Anzahl jedes Typs (C146: H146) ist, (2) die Gesamtkosten des Teams (I144) das Budget nicht überschreiten (I146), (3) Die drei Flex-Player-Binärvariablen addieren sich zu 1 (D150 = F150) und (4) Alle Variablen im Problem sind binär. (Ich habe die erforderliche Anzahl von Kickern in Zelle G146 auf Null gesetzt, da wir die Option flex-player verwenden. Wenn Sie sowohl einen Flex-Spieler als auch einen Kicker haben können, geben Sie einfach eine 1 in Zelle G146 ein.) Wenn Sie auf die Schaltfläche „Lösen“ klicken, sehen Sie, dass die beste Antwort ein Team ist, das genau 50.000 US-Dollar kostet und einen projizierten Gesamtpunktwert von 78,3 hat. Sein Flex-Spieler endete als RB.

Dieses Modell ist klein genug, dass ich es mit der kostenlosen Studentenversion von Excel Solver lösen kann (die standardmäßig mit jeder Office-Installation geliefert wird). Wenn Sie mehr Spieler haben und Ihre Gesamtvariablenanzahl 200 überschreitet, funktioniert der kostenlose Solver nicht. Aber verzweifle nicht! Es gibt ein großartiges Solver-Add-In für Excel, das ebenfalls kostenlos ist und keine Größenbeschränkung hat. Es heißt OpenSolver und funktioniert mit genau dem gleichen Setup, das ich hier habe.

Articles

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.