From a1439f363b3dda167e3421eb1c9ebd547ac00480 Mon Sep 17 00:00:00 2001 From: nbarlowATI Date: Tue, 10 Aug 2021 19:05:49 +0100 Subject: [PATCH 01/43] Fix issue with getting command-line arg to make_transfers (#389) --- airsenal/scripts/make_transfers.py | 16 +++++++++++++--- setup.py | 2 +- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/airsenal/scripts/make_transfers.py b/airsenal/scripts/make_transfers.py index 65208272..ec12104d 100644 --- a/airsenal/scripts/make_transfers.py +++ b/airsenal/scripts/make_transfers.py @@ -9,6 +9,7 @@ from prettytable import PrettyTable import requests import json +import argparse import getpass from airsenal.framework.optimization_utils import get_starting_squad from airsenal.framework.utils import ( @@ -284,7 +285,7 @@ def post_transfers(transfer_payload, fetcher): print(f"Response text: {resp.text}") -def make_transfers(fpl_team_id=None): +def make_transfers(fpl_team_id=None, skip_check=False): transfer_player_ids, team_id, current_gw, chip_played = get_gw_transfer_suggestions( fpl_team_id @@ -303,7 +304,7 @@ def make_transfers(fpl_team_id=None): team_id, current_gw, priced_transfers, pre_transfer_bank, post_transfer_bank ) - if check_proceed(): + if skip_check or check_proceed(): transfer_req = build_transfer_payload( priced_transfers, current_gw, fetcher, chip_played ) @@ -311,6 +312,15 @@ def make_transfers(fpl_team_id=None): return True +def main(): + parser = argparse.ArgumentParser("Make transfers via the FPL API") + parser.add_argument("--fpl_team_id", help="FPL team ID", type=int) + parser.add_argument("--confirm", help="skip confirmation step", action="store_true") + args = parser.parse_args() + confirm = args.confirm if args.confirm else False + make_transfers(args.fpl_team_id, confirm) + + if __name__ == "__main__": - make_transfers() + main() diff --git a/setup.py b/setup.py index 2dff5909..03dba4d2 100644 --- a/setup.py +++ b/setup.py @@ -25,7 +25,7 @@ "airsenal_dump_db=airsenal.scripts.dump_db_contents:main", "airsenal_run_pipeline=airsenal.scripts.airsenal_run_pipeline:run_pipeline", "airsenal_replay_season=airsenal.scripts.replay_season:main", - "airsenal_make_transfers=airsenal.scripts.make_transfers:make_transfers", + "airsenal_make_transfers=airsenal.scripts.make_transfers:main", "airsenal_set_lineup=airsenal.scripts.set_lineup:main", ] From 7824ae4c07c9f21336f2986c0439549e9c346433 Mon Sep 17 00:00:00 2001 From: Janne Date: Mon, 16 Aug 2021 23:31:00 +0300 Subject: [PATCH 02/43] multiprocessing fix --- airsenal/scripts/fill_transfersuggestion_table.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/airsenal/scripts/fill_transfersuggestion_table.py b/airsenal/scripts/fill_transfersuggestion_table.py index 8ca4fecf..f2feba6b 100644 --- a/airsenal/scripts/fill_transfersuggestion_table.py +++ b/airsenal/scripts/fill_transfersuggestion_table.py @@ -26,7 +26,7 @@ import cProfile -from multiprocessing import Process +from multiprocessing import Process, set_start_method from tqdm import tqdm, TqdmWarning import argparse @@ -666,6 +666,13 @@ def main(): "same input gameweeks and season you specified here.", ) sys.exit(1) + + # to fix change of default behaviour in multiprocessing on Python 3.8 and later + # on Windows and OSX. Python 3.8 and later start processess using spawn by default + # see https://docs.python.org/3.8/library/multiprocessing.html#contexts-and-start-methods + + set_start_method("fork") + with warnings.catch_warnings(): warnings.simplefilter("ignore", TqdmWarning) run_optimization( From c5ef0562e0170c210e803b8d77b52cbb2758ee37 Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Wed, 11 Aug 2021 21:19:39 +0100 Subject: [PATCH 03/43] tidy comments --- airsenal/__init__.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/airsenal/__init__.py b/airsenal/__init__.py index 82677c1a..5831c712 100644 --- a/airsenal/__init__.py +++ b/airsenal/__init__.py @@ -5,9 +5,7 @@ import os import tempfile -# AIrsenal package version. When merging changes to master: -# - increment 2nd digit for new features -# - increment 3rd digit for bug fixes +# AIrsenal package version. __version__ = "1.0.0" # Cross-platform temporary directory From 17ba47dd107c4e38e43d9855d1c4754bedeb77b3 Mon Sep 17 00:00:00 2001 From: nbarlowATI Date: Tue, 17 Aug 2021 15:24:52 +0100 Subject: [PATCH 04/43] allow user to login to API for optimization, and use latest data for squad and free transfers --- airsenal/framework/data_fetcher.py | 93 ++++++++++++++++-- airsenal/framework/optimization_utils.py | 27 +++++- airsenal/framework/utils.py | 97 +++++++++++++------ .../scripts/fill_transfersuggestion_table.py | 12 ++- 4 files changed, 186 insertions(+), 43 deletions(-) diff --git a/airsenal/framework/data_fetcher.py b/airsenal/framework/data_fetcher.py index 4af3dc4f..7a47b7af 100644 --- a/airsenal/framework/data_fetcher.py +++ b/airsenal/framework/data_fetcher.py @@ -19,10 +19,12 @@ class FPLDataFetcher(object): def __init__(self, fpl_team_id=None, rsession=None): self.rsession = rsession if rsession else requests.session() + self.logged_in = False self.current_summary_data = None self.current_event_data = None self.current_player_data = None self.current_team_data = None + self.current_squad_data = None self.player_gameweek_data = {} self.fpl_team_history_data = None # transfer history data is a dict, keyed by fpl_team_id @@ -63,6 +65,10 @@ def __init__(self, fpl_team_id=None, rsession=None): self.FPL_LOGIN_REDIRECT_URL = "https://fantasy.premierleague.com/a/login" self.FPL_MYTEAM_URL = API_HOME + "/my-team/{}/" + # login, if desired + + # self.login() + def get_fpl_credentials(self): """ If we didn't have FPL_LOGIN and FPL_PASSWORD available as files in @@ -70,8 +76,8 @@ def get_fpl_credentials(self): """ print( """ - Accessing FPL mini-league data requires the login (email address) and - password for your FPL account. + Accessing the most up-to-date data on your squad, or automatic transfers, + requires the login (email address) and password for your FPL account. """ ) self.FPL_LOGIN = input("Please enter FPL login: ") @@ -90,19 +96,43 @@ def get_fpl_credentials(self): login_file.write(self.FPL_LOGIN) with open(os.path.join(data_loc, "FPL_PASSWORD"), "w") as passwd_file: passwd_file.write(self.FPL_PASSWORD) + print( + """ + Wrote files {} and {}. + You may need to do 'pip install .' for these to be picked up. + """.format( + login_file, passwd_file + ) + ) def login(self): """ only needed for accessing mini-league data, or team info for current gw. """ - + if self.logged_in: + return if ( (not self.FPL_LOGIN) or (not self.FPL_PASSWORD) or (self.FPL_LOGIN == "MISSING_ID") or (self.FPL_PASSWORD == "MISSING_ID") ): - self.get_fpl_credentials() + do_login = "" + while do_login.lower() not in ["y", "n"]: + do_login = input( + ( + "\nWould you like to login to the FPL API?" + "\nThis is not necessary for most AIrsenal actions, " + "\nbut may improve accuracy of player sell values," + "\nand free transfers for your team, and will also " + "\nenable AIrsenal to make transfers for you through " + "\nthe API. (y/n): " + ) + ) + if do_login.lower() == "y": + self.get_fpl_credentials() + else: + return headers = { "login": self.FPL_LOGIN, @@ -110,22 +140,67 @@ def login(self): "app": "plfpl-web", "redirect_uri": self.FPL_LOGIN_REDIRECT_URL, } - self.rsession.post(self.FPL_LOGIN_URL, data=headers) + response = self.rsession.post(self.FPL_LOGIN_URL, data=headers) + if response.status_code != 200: + print(f"Error loging in: {response.content}") + else: + print("Logged in successfully") + self.logged_in = True def get_current_squad_data(self, fpl_team_id=None): """ - Requires login. Return the current "picks". + Requires login. Return the current squad data, including + "picks", bank, and free transfers. """ + if self.current_squad_data: + return self.current_squad_data if fpl_team_id: team_id = fpl_team_id - elif self.FPL_TEAM_ID and not self.FPL_TEAM_ID == "MISSING_ID": + elif self.FPL_TEAM_ID and self.FPL_TEAM_ID != "MISSING_ID": team_id = self.FPL_TEAM_ID else: raise RuntimeError("Please specify FPL team ID") self.login() url = self.FPL_MYTEAM_URL.format(team_id) - data = self._get_request(url) - return data["picks"] + self.current_squad_data = self._get_request(url) + return self.current_squad_data + + def get_current_picks(self, fpl_team_id=None): + """ + Returns the players picked for the upcoming gameweek, including + purchase and selling prices, and whether they are subs or not. + Requires login + """ + squad_data = self.get_current_squad_data(fpl_team_id) + return squad_data["picks"] + + def get_num_free_transfers(self, fpl_team_id=None): + """ + Returns the number of free transfers for the upcoming gameweek. + Requires login + """ + squad_data = self.get_current_squad_data(fpl_team_id) + return squad_data["transfers"]["limit"] + + def get_current_bank(self, fpl_team_id=None): + """ + Returns the remaining bank (in 0.1M) for the upcoming gameweek. + Requires login + """ + squad_data = self.get_current_squad_data(fpl_team_id) + return squad_data["transfers"]["bank"] + + def get_available_chips(self, fpl_team_id=None): + """ + Returns a list of chips that are available to be played in upcoming gameweek. + """ + squad_data = self.get_current_squad_data(fpl_team_id) + chip_list = [ + chip["name"] + for chip in squad_data["chips"] + if chip["status_for_entry"] == "available" + ] + return chip_list def get_current_summary_data(self): """ diff --git a/airsenal/framework/optimization_utils.py b/airsenal/framework/optimization_utils.py index 2e6250ec..6de79d0c 100644 --- a/airsenal/framework/optimization_utils.py +++ b/airsenal/framework/optimization_utils.py @@ -12,6 +12,8 @@ from airsenal.framework.squad import Squad from airsenal.framework.utils import ( session, + get_current_squad_from_api, + get_bank, NEXT_GAMEWEEK, CURRENT_SEASON, ) @@ -88,11 +90,30 @@ def calc_free_transfers(num_transfers, prev_free_transfers): ) -def get_starting_squad(fpl_team_id=None): +def get_starting_squad(fpl_team_id=None, use_api=False, apifetcher=None): """ - use the transactions table in the db + use the transactions table in the db, or the API if requested """ + s = Squad() + if use_api: + if not fpl_team_id: + raise RuntimeError( + "Please specify fpl_team_id to get current squad from API" + ) + players_prices = get_current_squad_from_api(fpl_team_id, apifetcher=apifetcher) + for pp in players_prices: + s.add_player( + pp[0], + price=pp[1], + season=CURRENT_SEASON, + gameweek=NEXT_GAMEWEEK - 1, + check_budget=False, + check_team=False, + ) + s.budget = get_bank(fpl_team_id, season=CURRENT_SEASON) + return s + # otherwise, we use the Transaction table in the DB if not fpl_team_id: # use the most recent transaction in the table most_recent = ( @@ -103,7 +124,7 @@ def get_starting_squad(fpl_team_id=None): ) fpl_team_id = most_recent.fpl_team_id print("Getting starting squad for {}".format(fpl_team_id)) - s = Squad() + # Don't include free hit transfers as they only apply for the week the # chip is activated transactions = ( diff --git a/airsenal/framework/utils.py b/airsenal/framework/utils.py index bc3d8773..5094a796 100644 --- a/airsenal/framework/utils.py +++ b/airsenal/framework/utils.py @@ -191,49 +191,88 @@ def get_squad_value( return total_value -def get_bank(gameweek=None, fpl_team_id=None): +def get_current_squad_from_api(fpl_team_id): + """ + Return a list [(player_id, purchase_price)] from the current picks. + Requires the data fetcher to be logged in. + """ + if not fetcher.logged_in: + fetcher.login() + picks = fetcher.get_current_picks(fpl_team_id) + players_prices = [ + (get_player_from_api_id(p["element"]).player_id, p["purchase_price"]) + for p in picks + ] + return players_prices + + +def get_bank( + fpl_team_id=None, gameweek=None, season=CURRENT_SEASON, apifetcher=fetcher +): """ Find out how much this FPL team had in the bank before the specified gameweek. If gameweek is not provided, give the most recent value If fpl_team_id is not specified, will use the FPL_TEAM_ID environment var, or the contents of the file airsenal/data/FPL_TEAM_ID. """ - if not fpl_team_id: - fpl_team_id = fetcher.FPL_TEAM_ID - data = fetcher.get_fpl_team_history_data(fpl_team_id) - if "current" not in data.keys() or len(data["current"]) <= 0: - return 0 - - if gameweek and isinstance(gameweek, int): - for gw in data["current"]: - if gw["event"] == gameweek - 1: # value after previous gameweek - return gw["bank"] - # otherwise, return the most recent value - return data["current"][-1]["bank"] + if season == CURRENT_SEASON: + # we will use the API to estimate the bank + if not fpl_team_id: + fpl_team_id = fetcher.FPL_TEAM_ID + # check if we're logged in, which will let us get the most up-to-date info + if apifetcher.logged_in: + return apifetcher.get_current_bank(fpl_team_id) + else: + data = apifetcher.get_fpl_team_history_data(fpl_team_id) + if "current" not in data.keys() or len(data["current"]) <= 0: + return 0 + + if gameweek and isinstance(gameweek, int): + for gw in data["current"]: + if gw["event"] == gameweek - 1: # value after previous gameweek + return gw["bank"] + # otherwise, return the most recent value + return data["current"][-1]["bank"] + else: + raise RuntimeError("Calculating the bank for past seasons not yet implemented") -def get_free_transfers(gameweek=None, fpl_team_id=None): +def get_free_transfers( + fpl_team_id=None, gameweek=None, season=CURRENT_SEASON, apifetcher=fetcher +): """ Work out how many free transfers this FPL team should have before specified gameweek If gameweek is not provided, give the most recent value If fpl_team_id is not specified, will use the FPL_TEAM_ID environment var, or the contents of the file airsenal/data/FPL_TEAM_ID. """ - if not fpl_team_id: - fpl_team_id = fetcher.FPL_TEAM_ID - data = fetcher.get_fpl_team_history_data(fpl_team_id) - num_free_transfers = 1 - if "current" in data.keys() and len(data["current"]) > 0: - for gw in data["current"]: - if gw["event_transfers"] == 0 and num_free_transfers < 2: - num_free_transfers += 1 - if gw["event_transfers"] == 2: - num_free_transfers = 1 - # if gameweek was specified, and we reached the previous one, - # break out of loop. - if gameweek and gw["event"] == gameweek - 1: - break - return num_free_transfers + if season == CURRENT_SEASON: + # we will use the API to estimate num transfers + if not fpl_team_id: + fpl_team_id = apifetcher.FPL_TEAM_ID + # check if we're logged in, which will let us get the most up-to-date info + if apifetcher.logged_in: + return apifetcher.get_num_free_transfers(fpl_team_id) + else: + # try to calculate free transfers based on previous transfer history + data = apifetcher.get_fpl_team_history_data(fpl_team_id) + num_free_transfers = 1 + if "current" in data.keys() and len(data["current"]) > 0: + for gw in data["current"]: + if gw["event_transfers"] == 0 and num_free_transfers < 2: + num_free_transfers += 1 + elif gw["event_transfers"] >= 2: + num_free_transfers = 1 + # if gameweek was specified, and we reached the previous one, + # break out of loop. + if gameweek and gw["event"] == gameweek - 1: + break + return num_free_transfers + else: + # historical data - fetch from database, not implemented yet + raise RuntimeError( + "Estimating free transfers for previous seasons is not yet implemented." + ) @lru_cache(maxsize=365) diff --git a/airsenal/scripts/fill_transfersuggestion_table.py b/airsenal/scripts/fill_transfersuggestion_table.py index 8ca4fecf..4d626141 100644 --- a/airsenal/scripts/fill_transfersuggestion_table.py +++ b/airsenal/scripts/fill_transfersuggestion_table.py @@ -375,10 +375,15 @@ def run_optimization( if fpl_team_id is None: fpl_team_id = fetcher.FPL_TEAM_ID + # give the user the option to login + fetcher.login() + print("Running optimization with fpl_team_id {}".format(fpl_team_id)) # How many free transfers are we starting with? if not num_free_transfers: - num_free_transfers = get_free_transfers(gameweeks[0], fpl_team_id) + num_free_transfers = get_free_transfers( + fpl_team_id, gameweeks[0], apifetcher=fetcher + ) # create the output directory for temporary json files # giving the points prediction for each strategy shutil.rmtree(OUTPUT_DIR, ignore_errors=True) @@ -436,7 +441,10 @@ def update_progress(increment=1, index=None): progress_bars[index].update(increment) progress_bars[index].refresh() - starting_squad = get_starting_squad(fpl_team_id=fpl_team_id) + use_api = fetcher.logged_in + starting_squad = get_starting_squad( + fpl_team_id=fpl_team_id, use_api=use_api, apifetcher=fetcher + ) if not allow_unused_transfers and ( num_weeks > 1 or (num_weeks == 1 and num_free_transfers == 2) From ba054cec9f805fa4bb766786d65eb1a1ad151ed6 Mon Sep 17 00:00:00 2001 From: nbarlowATI Date: Tue, 17 Aug 2021 15:25:07 +0100 Subject: [PATCH 05/43] allow user to login to API for optimization, and use latest data for squad and free transfers --- airsenal/framework/squad.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/airsenal/framework/squad.py b/airsenal/framework/squad.py index 2a2219cf..07770ed8 100644 --- a/airsenal/framework/squad.py +++ b/airsenal/framework/squad.py @@ -166,22 +166,31 @@ def get_sell_price_for_player( season=CURRENT_SEASON, gameweek=NEXT_GAMEWEEK, dbsession=None, + apifetcher=fetcher, ): """Get sale price for player (a player in self.players) in the current gameweek of the current season. """ - price_bought = player.purchase_price + player_id = player.player_id price_now = None if use_api and season == CURRENT_SEASON and gameweek >= NEXT_GAMEWEEK: try: # first try getting the price for the player from the API player_db = get_player(player_id) - price_now = fetcher.get_player_summary_data()[player_db.fpl_api_id][ - "now_cost" - ] + api_id = player_db.fpl_api_id + if ( + apifetcher.logged_in + and apifetcher.FPL_TEAM_ID + and apifetcher.FPL_TEAM_ID != "MISSING_ID" + ): + return apifetcher.get_current_picks()[api_id]["selling_price"] + # if not logged in, just get current price from API + price_now = apifetcher.get_player_summary_data()[api_id]["now_cost"] except Exception: pass + # retrieve how much we originally bought the player for from db + price_bought = player.purchase_price if not price_now: player_db = get_player(player_id, dbsession=dbsession) From b60a1712833e36d1cdb72d56cd41ee2556ee8f0a Mon Sep 17 00:00:00 2001 From: nbarlowATI Date: Tue, 17 Aug 2021 15:25:44 +0100 Subject: [PATCH 06/43] rename get_current_squad function to get_current_picks --- airsenal/scripts/make_transfers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airsenal/scripts/make_transfers.py b/airsenal/scripts/make_transfers.py index 0a264e80..86e58083 100644 --- a/airsenal/scripts/make_transfers.py +++ b/airsenal/scripts/make_transfers.py @@ -188,7 +188,7 @@ def build_init_priced_transfers(fetcher, fpl_team_id=None): else: fpl_team_id = fetcher.FPL_TEAM_ID - current_squad = fetcher.get_current_squad_data(fpl_team_id) + current_squad = fetcher.get_current_picks(fpl_team_id) transfers_out = [ {"element_out": el["element"], "selling_price": el["selling_price"]} for el in current_squad From af386454ee8b7e293e81623e72411702d63214f7 Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Tue, 17 Aug 2021 20:53:59 +0100 Subject: [PATCH 07/43] add function to check which gameweek a team was entered in --- airsenal/framework/transaction_utils.py | 11 ++++------- airsenal/framework/utils.py | 26 ++++++++++++++++++++++--- 2 files changed, 27 insertions(+), 10 deletions(-) diff --git a/airsenal/framework/transaction_utils.py b/airsenal/framework/transaction_utils.py index 61cbaa1b..47adac0c 100644 --- a/airsenal/framework/transaction_utils.py +++ b/airsenal/framework/transaction_utils.py @@ -14,6 +14,7 @@ CURRENT_SEASON, get_player, session, + get_entry_start_gameweek, ) @@ -149,14 +150,10 @@ def fill_initial_squad( # Season hasn't started yet - there won't be a team in the DB return True - init_players = [] - starting_gw = 0 - while not init_players and starting_gw < NEXT_GAMEWEEK: - starting_gw += 1 - print(f"Trying gameweek {starting_gw}...") - init_players = get_players_for_gameweek(starting_gw, fpl_team_id) - + starting_gw = get_entry_start_gameweek(fpl_team_id) print(f"Got starting squad from gameweek {starting_gw}. Adding player data...") + + init_players = get_players_for_gameweek(starting_gw, fpl_team_id) free_hit = free_hit_used_in_gameweek(starting_gw, fpl_team_id) time = fetcher.get_event_data()[starting_gw]["deadline"] for pid in init_players: diff --git a/airsenal/framework/utils.py b/airsenal/framework/utils.py index 5094a796..cdbc024b 100644 --- a/airsenal/framework/utils.py +++ b/airsenal/framework/utils.py @@ -237,6 +237,21 @@ def get_bank( raise RuntimeError("Calculating the bank for past seasons not yet implemented") +def get_entry_start_gameweek(fpl_team_id, apifetcher=fetcher): + """ + Find the gameweek an FPL team ID was entered in by searching for the first gameweek + the API has 'picks' for. + """ + init_players = [] + starting_gw = 0 + while not init_players and starting_gw < NEXT_GAMEWEEK: + starting_gw += 1 + init_players = get_players_for_gameweek( + starting_gw, fpl_team_id, apifetcher=apifetcher + ) + return starting_gw + + def get_free_transfers( fpl_team_id=None, gameweek=None, season=CURRENT_SEASON, apifetcher=fetcher ): @@ -258,7 +273,12 @@ def get_free_transfers( data = apifetcher.get_fpl_team_history_data(fpl_team_id) num_free_transfers = 1 if "current" in data.keys() and len(data["current"]) > 0: + starting_gw = get_entry_start_gameweek( + fpl_team_id, apifetcher=apifetcher + ) for gw in data["current"]: + if gw["event"] <= starting_gw: + continue if gw["event_transfers"] == 0 and num_free_transfers < 2: num_free_transfers += 1 elif gw["event_transfers"] >= 2: @@ -700,14 +720,14 @@ def get_player_scores(fixture=None, player=None, dbsession=session): return player_scores -def get_players_for_gameweek(gameweek, fpl_team_id=None): +def get_players_for_gameweek(gameweek, fpl_team_id=None, apifetcher=fetcher): """ Use FPL API to get the players for a given gameweek. """ if not fpl_team_id: - fpl_team_id = fetcher.FPL_TEAM_ID + fpl_team_id = apifetcher.FPL_TEAM_ID try: - player_data = fetcher.get_fpl_team_data(gameweek, fpl_team_id)["picks"] + player_data = apifetcher.get_fpl_team_data(gameweek, fpl_team_id)["picks"] player_api_id_list = [p["element"] for p in player_data] player_list = [ get_player_from_api_id(api_id).player_id From 2c48368fb6c561b7091518926759b9e6ea2fc3ca Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Tue, 17 Aug 2021 20:55:34 +0100 Subject: [PATCH 08/43] add missing apifetcher argument to get_current_squad_from_api --- airsenal/framework/utils.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/airsenal/framework/utils.py b/airsenal/framework/utils.py index cdbc024b..67b12b6a 100644 --- a/airsenal/framework/utils.py +++ b/airsenal/framework/utils.py @@ -191,14 +191,14 @@ def get_squad_value( return total_value -def get_current_squad_from_api(fpl_team_id): +def get_current_squad_from_api(fpl_team_id, apifetcher=fetcher): """ Return a list [(player_id, purchase_price)] from the current picks. Requires the data fetcher to be logged in. """ - if not fetcher.logged_in: - fetcher.login() - picks = fetcher.get_current_picks(fpl_team_id) + if not apifetcher.logged_in: + apifetcher.login() + picks = apifetcher.get_current_picks(fpl_team_id) players_prices = [ (get_player_from_api_id(p["element"]).player_id, p["purchase_price"]) for p in picks From a4bc5f5e283b630ff172da3a07468e23f4936642 Mon Sep 17 00:00:00 2001 From: tdarnell Date: Thu, 19 Aug 2021 23:24:53 +0100 Subject: [PATCH 09/43] addresses issue #410 --- airsenal/scripts/make_transfers.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/airsenal/scripts/make_transfers.py b/airsenal/scripts/make_transfers.py index 0a264e80..5b472a96 100644 --- a/airsenal/scripts/make_transfers.py +++ b/airsenal/scripts/make_transfers.py @@ -40,8 +40,7 @@ def check_proceed(): def deduct_transfer_price(pre_bank, priced_transfers): - - gain = [transfer[0][1] - transfer[1][1] for transfer in priced_transfers] + gain = [transfer['selling_price'] - transfer['purchase_price'] for transfer in priced_transfers] return pre_bank + sum(gain) @@ -58,8 +57,8 @@ def print_output( t = PrettyTable(["Status", "Name", "Price"]) for transfer in priced_transfers: - t.add_row(["OUT", get_player_name(transfer[0][0]), f"£{transfer[0][1]/10}"]) - t.add_row(["IN", get_player_name(transfer[1][0]), f"£{transfer[1][1]/10}"]) + t.add_row(["OUT", get_player_from_api_id(transfer['element_out']), f"£{transfer['selling_price']/10}"]) + t.add_row(["IN", get_player_from_api_id(transfer['element_in']), f"£{transfer['purchase_price']/10}"]) print(t) From a13410a60a7728a7697e1145ec17fd21775fc6b2 Mon Sep 17 00:00:00 2001 From: nbarlowATI Date: Fri, 20 Aug 2021 16:12:52 +0100 Subject: [PATCH 10/43] black and flake8 --- airsenal/scripts/make_transfers.py | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/airsenal/scripts/make_transfers.py b/airsenal/scripts/make_transfers.py index 839598f0..d93dc09b 100644 --- a/airsenal/scripts/make_transfers.py +++ b/airsenal/scripts/make_transfers.py @@ -14,7 +14,6 @@ from airsenal.framework.optimization_utils import get_starting_squad from airsenal.framework.utils import ( session as dbsession, - get_player_name, get_bank, get_player, CURRENT_SEASON, @@ -40,7 +39,10 @@ def check_proceed(): def deduct_transfer_price(pre_bank, priced_transfers): - gain = [transfer['selling_price'] - transfer['purchase_price'] for transfer in priced_transfers] + gain = [ + transfer["selling_price"] - transfer["purchase_price"] + for transfer in priced_transfers + ] return pre_bank + sum(gain) @@ -57,8 +59,20 @@ def print_output( t = PrettyTable(["Status", "Name", "Price"]) for transfer in priced_transfers: - t.add_row(["OUT", get_player_from_api_id(transfer['element_out']), f"£{transfer['selling_price']/10}"]) - t.add_row(["IN", get_player_from_api_id(transfer['element_in']), f"£{transfer['purchase_price']/10}"]) + t.add_row( + [ + "OUT", + get_player_from_api_id(transfer["element_out"]), + f"£{transfer['selling_price']/10}", + ] + ) + t.add_row( + [ + "IN", + get_player_from_api_id(transfer["element_in"]), + f"£{transfer['purchase_price']/10}", + ] + ) print(t) From 227bd8cb6479ab03ff28f73e771ed6970c4d0b32 Mon Sep 17 00:00:00 2001 From: nbarlowATI Date: Fri, 20 Aug 2021 16:51:57 +0100 Subject: [PATCH 11/43] shorten line for flake8 --- airsenal/scripts/fill_transfersuggestion_table.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/airsenal/scripts/fill_transfersuggestion_table.py b/airsenal/scripts/fill_transfersuggestion_table.py index be06fb6c..e3f77ad9 100644 --- a/airsenal/scripts/fill_transfersuggestion_table.py +++ b/airsenal/scripts/fill_transfersuggestion_table.py @@ -674,13 +674,14 @@ def main(): "same input gameweeks and season you specified here.", ) sys.exit(1) - + # to fix change of default behaviour in multiprocessing on Python 3.8 and later # on Windows and OSX. Python 3.8 and later start processess using spawn by default - # see https://docs.python.org/3.8/library/multiprocessing.html#contexts-and-start-methods - + # see + # https://docs.python.org/3.8/library/multiprocessing.html#contexts-and-start-methods + set_start_method("fork") - + with warnings.catch_warnings(): warnings.simplefilter("ignore", TqdmWarning) run_optimization( From 12e81ea60e0237b00043cc80108388e46b56f565 Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Fri, 20 Aug 2021 17:28:54 +0100 Subject: [PATCH 12/43] set multiprocessing to fork on posix systems in all multithreaded scripts --- airsenal/scripts/airsenal_run_pipeline.py | 2 ++ airsenal/scripts/fill_predictedscore_table.py | 3 +++ airsenal/scripts/fill_transfersuggestion_table.py | 14 ++++++-------- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/airsenal/scripts/airsenal_run_pipeline.py b/airsenal/scripts/airsenal_run_pipeline.py index 08f2a599..98146e4c 100644 --- a/airsenal/scripts/airsenal_run_pipeline.py +++ b/airsenal/scripts/airsenal_run_pipeline.py @@ -11,6 +11,7 @@ fetcher, get_latest_prediction_tag, ) +from airsenal.framework.multiprocessing_utils import set_multiprocessing_start_method from airsenal.framework.optimization_utils import fill_initial_suggestion_table from airsenal.framework.optimization_pygmo import make_new_squad_pygmo @@ -64,6 +65,7 @@ def run_pipeline(num_thread, weeks_ahead, fpl_team_id, clean, apply_transfers): print("Running for FPL Team ID {}".format(fpl_team_id)) if not num_thread: num_thread = multiprocessing.cpu_count() + set_multiprocessing_start_method(num_thread) with session_scope() as dbsession: if check_clean_db(clean, dbsession): diff --git a/airsenal/scripts/fill_predictedscore_table.py b/airsenal/scripts/fill_predictedscore_table.py index cf620f4e..cc75f341 100644 --- a/airsenal/scripts/fill_predictedscore_table.py +++ b/airsenal/scripts/fill_predictedscore_table.py @@ -16,6 +16,7 @@ get_fitted_team_model, get_goal_probabilities_for_fixtures, ) +from airsenal.framework.multiprocessing_utils import set_multiprocessing_start_method from airsenal.framework.utils import ( NEXT_GAMEWEEK, CURRENT_SEASON, @@ -242,6 +243,8 @@ def main(): include_cards = not args.no_cards include_saves = not args.no_saves + set_multiprocessing_start_method(num_thread) + with session_scope() as session: session.expire_on_commit = False diff --git a/airsenal/scripts/fill_transfersuggestion_table.py b/airsenal/scripts/fill_transfersuggestion_table.py index e3f77ad9..381bdc78 100644 --- a/airsenal/scripts/fill_transfersuggestion_table.py +++ b/airsenal/scripts/fill_transfersuggestion_table.py @@ -26,11 +26,14 @@ import cProfile -from multiprocessing import Process, set_start_method +from multiprocessing import Process from tqdm import tqdm, TqdmWarning import argparse -from airsenal.framework.multiprocessing_utils import CustomQueue +from airsenal.framework.multiprocessing_utils import ( + CustomQueue, + set_multiprocessing_start_method, +) from airsenal.framework.optimization_utils import ( get_starting_squad, calc_free_transfers, @@ -675,12 +678,7 @@ def main(): ) sys.exit(1) - # to fix change of default behaviour in multiprocessing on Python 3.8 and later - # on Windows and OSX. Python 3.8 and later start processess using spawn by default - # see - # https://docs.python.org/3.8/library/multiprocessing.html#contexts-and-start-methods - - set_start_method("fork") + set_multiprocessing_start_method(num_thread) with warnings.catch_warnings(): warnings.simplefilter("ignore", TqdmWarning) From fa387359cbc1c3d5a17a9f1660759644436dcf77 Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Fri, 20 Aug 2021 17:38:08 +0100 Subject: [PATCH 13/43] update default environment to python 3.8 --- environment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/environment.yml b/environment.yml index fad51245..d3c12d55 100644 --- a/environment.yml +++ b/environment.yml @@ -3,7 +3,7 @@ channels: - conda-forge - defaults dependencies: - - python=3.7 + - python=3.8 - pip=21.2.3 - pygmo=2.18.0 - pip: From 15956d37c93818525a5a9e383b8f3a6b677784c9 Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Fri, 20 Aug 2021 17:47:04 +0100 Subject: [PATCH 14/43] add set_multiprocessing_start_method function --- airsenal/framework/multiprocessing_utils.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/airsenal/framework/multiprocessing_utils.py b/airsenal/framework/multiprocessing_utils.py index 913a3320..3b55bf5c 100644 --- a/airsenal/framework/multiprocessing_utils.py +++ b/airsenal/framework/multiprocessing_utils.py @@ -10,6 +10,25 @@ from multiprocessing.queues import Queue import multiprocessing +import os + + +def set_multiprocessing_start_method(num_thread=2): + """To fix change of default behaviour in multiprocessing on Python 3.8 and later + on MacOS. Python 3.8 and later start processess using spawn by default, see: + https://docs.python.org/3.8/library/multiprocessing.html#contexts-and-start-methods + + Note that this should be called at most once, ideally protecteed within + if __name__ == "__main__" + + Parameters + ---------- + num_thread : int, optional + Only changem ultiprocessing start method if num_thread > 1, by default 2 + """ + if num_thread > 1 and os.name == "posix": + multiprocessing.set_start_method("fork") + # The following implementation of custom MyQueue to avoid NotImplementedError # when calling queue.qsize() in MacOS X comes almost entirely from this github From 709ef5fd3e68acfd722b26e1245eeb914be98eac Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Thu, 12 Aug 2021 23:21:27 +0100 Subject: [PATCH 15/43] looking at player priors in notebook --- notebooks/numpyro_player_model.ipynb | 2369 ++++++++++++++++++-------- 1 file changed, 1644 insertions(+), 725 deletions(-) diff --git a/notebooks/numpyro_player_model.ipynb b/notebooks/numpyro_player_model.ipynb index ca590292..08c9012c 100644 --- a/notebooks/numpyro_player_model.ipynb +++ b/notebooks/numpyro_player_model.ipynb @@ -41,18 +41,19 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 14, "id": "6561ae95", "metadata": {}, "outputs": [], "source": [ "from airsenal.framework.prediction_utils import process_player_data\n", - "from airsenal.framework.utils import get_player" + "from airsenal.framework.utils import get_player, NEXT_GAMEWEEK\n", + "from airsenal.framework.season import CURRENT_SEASON" ] }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 3, "id": "bda6ecb3", "metadata": {}, "outputs": [], @@ -64,7 +65,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 4, "id": "2290eb1e", "metadata": {}, "outputs": [ @@ -197,7 +198,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 5, "id": "b895d283", "metadata": {}, "outputs": [], @@ -219,7 +220,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 6, "id": "5680f098", "metadata": {}, "outputs": [], @@ -246,7 +247,7 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 7, "id": "aee2d29e", "metadata": {}, "outputs": [], @@ -260,7 +261,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 8, "id": "18e79121", "metadata": {}, "outputs": [], @@ -280,7 +281,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 9, "id": "330db0c1", "metadata": {}, "outputs": [], @@ -302,7 +303,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 115, "id": "6a52c5ca", "metadata": {}, "outputs": [ @@ -310,640 +311,527 @@ "name": "stdout", "output_type": "stream", "text": [ - "Filling history dataframe for Sergio Agüero: 0/87 done\n", - "Filling history dataframe for Pierre-Emerick Aubameyang: 1/87 done\n", - "Filling history dataframe for Harry Kane: 2/87 done\n", - "Filling history dataframe for Jamie Vardy: 3/87 done\n", - "Filling history dataframe for Gabriel Fernando de Jesus: 4/87 done\n", - "Filling history dataframe for Roberto Firmino: 5/87 done\n", - "Filling history dataframe for Alexandre Lacazette: 6/87 done\n", - "Filling history dataframe for Marcus Rashford: 7/87 done\n", - "Filling history dataframe for Romelu Lukaku: 8/87 done\n", - "Filling history dataframe for Raúl Jiménez: 9/87 done\n", - "Filling history dataframe for Tammy Abraham: 10/87 done\n", - "Filling history dataframe for Callum Wilson: 11/87 done\n", - "Filling history dataframe for Danny Ings: 12/87 done\n", - "Filling history dataframe for Marko Arnautovic: 13/87 done\n", - "Filling history dataframe for Sébastien Haller: 14/87 done\n", - "Filling history dataframe for Olivier Giroud: 15/87 done\n", - "Filling history dataframe for Michy Batshuayi: 16/87 done\n", - "Filling history dataframe for Teemu Pukki: 17/87 done\n", - "Filling history dataframe for Odion Ighalo: 18/87 done\n", - "Filling history dataframe for Dominic Calvert-Lewin: 19/87 done\n", - "Filling history dataframe for Diogo Jota: 20/87 done\n", - "Filling history dataframe for Moise Kean: 21/87 done\n", - "Filling history dataframe for Troy Deeney: 22/87 done\n", - "Filling history dataframe for Chris Wood: 23/87 done\n", - "Filling history dataframe for Gerard Deulofeu: 24/87 done\n", - "Filling history dataframe for Joshua King: 25/87 done\n", - "Filling history dataframe for Ashley Barnes: 26/87 done\n", - "Filling history dataframe for Charlie Austin: 27/87 done\n", - "Filling history dataframe for Javier Hernández Balcázar: 28/87 done\n", - "Filling history dataframe for Danny Welbeck: 29/87 done\n", - "Filling history dataframe for Mbwana Samatta: 30/87 done\n", - "Filling history dataframe for Neal Maupay: 31/87 done\n", - "Filling history dataframe for Cenk Tosun: 32/87 done\n", - "Filling history dataframe for Christian Benteke: 33/87 done\n", - "Filling history dataframe for Jay Rodriguez: 34/87 done\n", - "Filling history dataframe for Oliver McBurnie: 35/87 done\n", - "Filling history dataframe for Kelechi Iheanacho: 36/87 done\n", - "Filling history dataframe for Billy Sharp: 37/87 done\n", - "Filling history dataframe for Albian Ajeti: 38/87 done\n", - "Filling history dataframe for Borja González Tomás: 39/87 done\n", - "Filling history dataframe for Andre Gray: 40/87 done\n", - "Filling history dataframe for Joelinton Cássio Apolinário de Lira: 41/87 done\n", - "Filling history dataframe for Patrick Cutrone: 42/87 done\n", - "Filling history dataframe for Jonathan Kodjia: 43/87 done\n", - "Filling history dataframe for Glenn Murray: 44/87 done\n", - "Filling history dataframe for David McGoldrick: 45/87 done\n", - "Filling history dataframe for Wesley Moraes: 46/87 done\n", - "Filling history dataframe for Andy Carroll: 47/87 done\n", - "Filling history dataframe for Josip Drmic: 48/87 done\n", - "Filling history dataframe for Che Adams: 49/87 done\n", - "Filling history dataframe for Matej Vydra: 50/87 done\n", - "Filling history dataframe for Jürgen Locadia: 51/87 done\n", - "Filling history dataframe for Dennis Srbeny: 52/87 done\n", - "Filling history dataframe for Jordan Ayew: 53/87 done\n", - "Filling history dataframe for Dominic Solanke: 54/87 done\n", - "Filling history dataframe for Divock Origi: 55/87 done\n", - "Filling history dataframe for Yoshinori Muto: 56/87 done\n", - "Filling history dataframe for Jose Luis Mato Sanmartín: 57/87 done\n", - "Filling history dataframe for Dwight Gayle: 58/87 done\n", - "Filling history dataframe for João Pedro Junqueira de Jesus: 59/87 done\n", - "Filling history dataframe for Michael Obafemi: 60/87 done\n", - "Filling history dataframe for Isaac Success Ajayi: 61/87 done\n", - "Filling history dataframe for Richairo Zivkovic: 62/87 done\n", - "Filling history dataframe for Florin Andone: 63/87 done\n", - "Filling history dataframe for Shane Long: 64/87 done\n", - "Filling history dataframe for Vincent Janssen: 65/87 done\n", - "Filling history dataframe for Lys Mousset: 66/87 done\n", - "Filling history dataframe for Anthony Gordon: 67/87 done\n", - "Filling history dataframe for Oumar Niasse: 68/87 done\n", - "Filling history dataframe for Sam Gallagher: 69/87 done\n", - "Filling history dataframe for Max Thompson: 70/87 done\n", - "Filling history dataframe for James Daly: 71/87 done\n", - "Filling history dataframe for Bernard Ashley-Seal: 72/87 done\n", - "Filling history dataframe for Armando Broja: 73/87 done\n", - "Filling history dataframe for Leon Clarke: 74/87 done\n", - "Filling history dataframe for Daniel N'Lundulu: 75/87 done\n", - "Filling history dataframe for Edward Nketiah: 76/87 done\n", - "Filling history dataframe for Tyreece John-Jules: 77/87 done\n", - "Filling history dataframe for Gabriel Teodoro Martinelli Silva: 78/87 done\n", - "Filling history dataframe for Adam Idah: 79/87 done\n", - "Filling history dataframe for Sam Surridge: 80/87 done\n", - "Filling history dataframe for Troy Parrott: 81/87 done\n", - "Filling history dataframe for Connor Wickham: 82/87 done\n", - "Filling history dataframe for Alexandre Nascimento Costa Silva: 83/87 done\n", - "Filling history dataframe for Mason Greenwood: 84/87 done\n", - "Filling history dataframe for Rhian Brewster: 85/87 done\n", - "Filling history dataframe for Aaron Connolly: 86/87 done\n", - "Alpha is [13.88204269 6.28922857 27.18919386]\n" + "Filling history dataframe for Harry Kane: 0/67 done\n", + "Filling history dataframe for Jamie Vardy: 1/67 done\n", + "Filling history dataframe for Pierre-Emerick Aubameyang: 2/67 done\n", + "Filling history dataframe for Timo Werner: 3/67 done\n", + "Filling history dataframe for Roberto Firmino: 4/67 done\n", + "Filling history dataframe for Alexandre Lacazette: 5/67 done\n", + "Filling history dataframe for Gabriel Fernando de Jesus: 6/67 done\n", + "Filling history dataframe for Edinson Cavani: 7/67 done\n", + "Filling history dataframe for Danny Ings: 8/67 done\n", + "Filling history dataframe for Dominic Calvert-Lewin: 9/67 done\n", + "Filling history dataframe for Patrick Bamford: 10/67 done\n", + "Filling history dataframe for Anthony Martial: 11/67 done\n", + "Filling history dataframe for Ollie Watkins: 12/67 done\n", + "Filling history dataframe for Richarlison de Andrade: 13/67 done\n", + "Filling history dataframe for Kelechi Iheanacho: 14/67 done\n", + "Filling history dataframe for Patson Daka: 15/67 done\n", + "Filling history dataframe for Callum Wilson: 16/67 done\n", + "Filling history dataframe for Michail Antonio: 17/67 done\n", + "Filling history dataframe for Raúl Jiménez: 18/67 done\n", + "Filling history dataframe for Chris Wood: 19/67 done\n", + "Filling history dataframe for Che Adams: 20/67 done\n", + "Filling history dataframe for Ivan Toney: 21/67 done\n", + "Filling history dataframe for Neal Maupay: 22/67 done\n", + "Filling history dataframe for Olivier Giroud: 23/67 done\n", + "Filling history dataframe for Tammy Abraham: 24/67 done\n", + "Filling history dataframe for Christian Benteke: 25/67 done\n", + "Filling history dataframe for Rodrigo Moreno: 26/67 done\n", + "Filling history dataframe for Allan Saint-Maximin: 27/67 done\n", + "Filling history dataframe for Danny Welbeck: 28/67 done\n", + "Filling history dataframe for Jordan Ayew: 29/67 done\n", + "Filling history dataframe for Joelinton Cássio Apolinário de Lira: 30/67 done\n", + "Filling history dataframe for Teemu Pukki: 31/67 done\n", + "Filling history dataframe for Fabio Silva: 32/67 done\n", + "Filling history dataframe for Edward Nketiah: 33/67 done\n", + "Filling history dataframe for Wesley Moraes: 34/67 done\n", + "Filling history dataframe for Mbwana Ally Samatta: 35/67 done\n", + "Filling history dataframe for Marcus Forss: 36/67 done\n", + "Filling history dataframe for Halil Dervişoğlu: 37/67 done\n", + "Filling history dataframe for Aaron Connolly: 38/67 done\n", + "Filling history dataframe for Jay Rodriguez: 39/67 done\n", + "Filling history dataframe for Ashley Barnes: 40/67 done\n", + "Filling history dataframe for Matej Vydra: 41/67 done\n", + "Filling history dataframe for Michy Batshuayi: 42/67 done\n", + "Filling history dataframe for Jean-Philippe Mateta: 43/67 done\n", + "Filling history dataframe for Dwight Gayle: 44/67 done\n", + "Filling history dataframe for Jordan Hugill: 45/67 done\n", + "Filling history dataframe for Joshua Sargent: 46/67 done\n", + "Filling history dataframe for Shane Long: 47/67 done\n", + "Filling history dataframe for Troy Deeney: 48/67 done\n", + "Filling history dataframe for Andre Gray: 49/67 done\n", + "Filling history dataframe for João Pedro Junqueira de Jesus: 50/67 done\n", + "Filling history dataframe for Joshua King: 51/67 done\n", + "Filling history dataframe for Florin Andone: 52/67 done\n", + "Filling history dataframe for Divock Origi: 53/67 done\n", + "Filling history dataframe for Adam Idah: 54/67 done\n", + "Filling history dataframe for Armando Broja: 55/67 done\n", + "Filling history dataframe for Isaac Success Ajayi: 56/67 done\n", + "Filling history dataframe for Ashley Fletcher: 57/67 done\n", + "Filling history dataframe for Emmanuel Dennis: 58/67 done\n", + "Filling history dataframe for Juan Camilo Hernández Suárez: 59/67 done\n", + "Filling history dataframe for Patrick Cutrone: 60/67 done\n", + "Filling history dataframe for Keinan Davis: 61/67 done\n", + "Filling history dataframe for Daniel N'Lundulu: 62/67 done\n", + "Filling history dataframe for Michael Obafemi: 63/67 done\n", + "Filling history dataframe for Dane Scarlett: 64/67 done\n", + "Filling history dataframe for Stipe Perica: 65/67 done\n", + "Filling history dataframe for Adedapo Awokoya-Mebude: 66/67 done\n", + "Alpha is [24.55477665 12.03720926 47.90801409]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "sample: 100%|████████████████████████████████| 4500/4500 [00:14<00:00, 319.03it/s, 15 steps of size 3.74e-01. acc. prob=0.87]\n" + "sample: 100%|████████████| 4500/4500 [00:11<00:00, 375.69it/s, 7 steps of size 4.86e-01. acc. prob=0.80]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Filling history dataframe for Mohamed Salah: 0/264 done\n", - "Filling history dataframe for Sadio Mané: 1/264 done\n", - "Filling history dataframe for Raheem Sterling: 2/264 done\n", - "Filling history dataframe for Kevin De Bruyne: 3/264 done\n", - "Filling history dataframe for Heung-Min Son: 4/264 done\n", - "Filling history dataframe for Nicolas Pépé: 5/264 done\n", - "Filling history dataframe for Leroy Sané: 6/264 done\n", - "Filling history dataframe for Bruno Miguel Borges Fernandes: 7/264 done\n", - "Filling history dataframe for Christian Eriksen: 8/264 done\n", - "Filling history dataframe for Riyad Mahrez: 9/264 done\n", - "Filling history dataframe for Bamidele Alli: 10/264 done\n", - "Filling history dataframe for Richarlison de Andrade: 11/264 done\n", - "Filling history dataframe for Paul Pogba: 12/264 done\n", - "Filling history dataframe for Anthony Martial: 13/264 done\n", - "Filling history dataframe for Bernardo Mota Veiga de Carvalho e Silva: 14/264 done\n", - "Filling history dataframe for James Maddison: 15/264 done\n", - "Filling history dataframe for Steven Bergwijn: 16/264 done\n", - "Filling history dataframe for Gylfi Sigurdsson: 17/264 done\n", - "Filling history dataframe for Giovani Lo Celso: 18/264 done\n", - "Filling history dataframe for David Silva: 19/264 done\n", - "Filling history dataframe for Mesut Özil: 20/264 done\n", - "Filling history dataframe for Lucas Rodrigues Moura da Silva: 21/264 done\n", - "Filling history dataframe for Willian Borges Da Silva: 22/264 done\n", - "Filling history dataframe for Michail Antonio: 23/264 done\n", - "Filling history dataframe for Christian Pulisic: 24/264 done\n", - "Filling history dataframe for Pedro Rodríguez Ledesma: 25/264 done\n", - "Filling history dataframe for Alexis Sánchez: 26/264 done\n", - "Filling history dataframe for Ryan Fraser: 27/264 done\n", - "Filling history dataframe for Luka Milivojevic: 28/264 done\n", - "Filling history dataframe for Wilfried Zaha: 29/264 done\n", - "Filling history dataframe for Henrikh Mkhitaryan: 30/264 done\n", - "Filling history dataframe for Felipe Anderson Pereira Gomes: 31/264 done\n", - "Filling history dataframe for Jarrod Bowen: 32/264 done\n", - "Filling history dataframe for Jack Grealish: 33/264 done\n", - "Filling history dataframe for Ismaïla Sarr: 34/264 done\n", - "Filling history dataframe for Bernard Anício Caldeira Duarte: 35/264 done\n", - "Filling history dataframe for Ruben Loftus-Cheek: 36/264 done\n", - "Filling history dataframe for Jesse Lingard: 37/264 done\n", - "Filling history dataframe for Xherdan Shaqiri: 38/264 done\n", - "Filling history dataframe for Mason Mount: 39/264 done\n", - "Filling history dataframe for Theo Walcott: 40/264 done\n", - "Filling history dataframe for Harvey Barnes: 41/264 done\n", - "Filling history dataframe for Pascal Groß: 42/264 done\n", - "Filling history dataframe for Nathan Redmond: 43/264 done\n", - "Filling history dataframe for Ayoze Pérez: 44/264 done\n", - "Filling history dataframe for Alex Oxlade-Chamberlain: 45/264 done\n", - "Filling history dataframe for Mario Vrancic: 46/264 done\n", - "Filling history dataframe for David Brooks: 47/264 done\n", - "Filling history dataframe for Juan Mata: 48/264 done\n", - "Filling history dataframe for Manuel Lanzini: 49/264 done\n", - "Filling history dataframe for Youri Tielemans: 50/264 done\n", - "Filling history dataframe for Dwight McNeil: 51/264 done\n", - "Filling history dataframe for Emiliano Buendía: 52/264 done\n", - "Filling history dataframe for Pablo Fornals: 53/264 done\n", - "Filling history dataframe for Takumi Minamino: 54/264 done\n", - "Filling history dataframe for Junior Stanislas: 55/264 done\n", - "Filling history dataframe for Johann Berg Gudmundsson: 56/264 done\n", - "Filling history dataframe for Tanguy Ndombele: 57/264 done\n", - "Filling history dataframe for Miguel Almirón: 58/264 done\n", - "Filling history dataframe for Daniel James: 59/264 done\n", - "Filling history dataframe for Alireza Jahanbakhsh: 60/264 done\n", - "Filling history dataframe for Harry Wilson: 61/264 done\n", - "Filling history dataframe for Arnaut Danjuma Groeneveld: 62/264 done\n", - "Filling history dataframe for Leandro Trossard: 63/264 done\n", - "Filling history dataframe for Naby Keita: 64/264 done\n", - "Filling history dataframe for José Ignacio Peleteiro Romallo: 65/264 done\n", - "Filling history dataframe for Ross Barkley: 66/264 done\n", - "Filling history dataframe for Conor Hourihane: 67/264 done\n", - "Filling history dataframe for James Ward-Prowse: 68/264 done\n", - "Filling history dataframe for Erik Lamela: 69/264 done\n", - "Filling history dataframe for Adama Traoré: 70/264 done\n", - "Filling history dataframe for Adam Lallana: 71/264 done\n", - "Filling history dataframe for Andros Townsend: 72/264 done\n", - "Filling history dataframe for Roberto Pereyra: 73/264 done\n", - "Filling history dataframe for Alex Iwobi: 74/264 done\n", - "Filling history dataframe for Abdoulaye Doucouré: 75/264 done\n", - "Filling history dataframe for Rodrigo Hernandez: 76/264 done\n", - "Filling history dataframe for Alexis Mac Allister: 77/264 done\n", - "Filling history dataframe for Ashley Westwood: 78/264 done\n", - "Filling history dataframe for Sofiane Boufal: 79/264 done\n", - "Filling history dataframe for Robbie Brady: 80/264 done\n", - "Filling history dataframe for Steven Defour: 81/264 done\n", - "Filling history dataframe for Anwar El Ghazi: 82/264 done\n", - "Filling history dataframe for John McGinn: 83/264 done\n", - "Filling history dataframe for Jeffrey Schlupp: 84/264 done\n", - "Filling history dataframe for João Filipe Iria Santos Moutinho: 85/264 done\n", - "Filling history dataframe for Allan Saint-Maximin: 86/264 done\n", - "Filling history dataframe for Georginio Wijnaldum: 87/264 done\n", - "Filling history dataframe for Valentino Lazaro: 88/264 done\n", - "Filling history dataframe for Fabio Henrique Tavares: 89/264 done\n", - "Filling history dataframe for José Heriberto Izquierdo Mena: 90/264 done\n", - "Filling history dataframe for Ryan Sessegnon: 91/264 done\n", - "Filling history dataframe for Jeff Hendrick: 92/264 done\n", - "Filling history dataframe for Christian Atsu: 93/264 done\n", - "Filling history dataframe for Anthony Knockaert: 94/264 done\n", - "Filling history dataframe for Frederico Rodrigues de Paula Santos: 95/264 done\n", - "Filling history dataframe for Onel Hernández: 96/264 done\n", - "Filling history dataframe for James Milner: 97/264 done\n", - "Filling history dataframe for Jordan Henderson: 98/264 done\n", - "Filling history dataframe for Reiss Nelson: 99/264 done\n", - "Filling history dataframe for Will Hughes: 100/264 done\n", - "Filling history dataframe for Mateo Kovacic: 101/264 done\n", - "Filling history dataframe for Tom Davies: 102/264 done\n", - "Filling history dataframe for Dennis Praet: 103/264 done\n", - "Filling history dataframe for André Filipe Tavares Gomes: 104/264 done\n", - "Filling history dataframe for James McArthur: 105/264 done\n", - "Filling history dataframe for Ilkay Gündogan: 106/264 done\n", - "Filling history dataframe for Andriy Yarmolenko: 107/264 done\n", - "Filling history dataframe for Mohamed Elyounoussi: 108/264 done\n", - "Filling history dataframe for Daniel Ceballos Fernández: 109/264 done\n", - "Filling history dataframe for Robert Kenedy Nunes do Nascimento: 110/264 done\n", - "Filling history dataframe for Harry Winks: 111/264 done\n", - "Filling history dataframe for Max Meyer: 112/264 done\n", - "Filling history dataframe for Mahmoud Ahmed Ibrahim Hassan: 113/264 done\n", - "Filling history dataframe for Rúben Diogo da Silva Neves: 114/264 done\n", - "Filling history dataframe for Stuart Armstrong: 115/264 done\n", - "Filling history dataframe for Moussa Djenepo: 116/264 done\n", - "Filling history dataframe for Mark Duffy: 117/264 done\n", - "Filling history dataframe for Callum Hudson-Odoi: 118/264 done\n", - "Filling history dataframe for Robert Snodgrass: 119/264 done\n", - "Filling history dataframe for Fernando Luiz Rosa: 120/264 done\n", - "Filling history dataframe for Rachid Ghezzal: 121/264 done\n", - "Filling history dataframe for Marc Albrighton: 122/264 done\n", - "Filling history dataframe for Daniel Castelo Podence: 123/264 done\n", - "Filling history dataframe for Granit Xhaka: 124/264 done\n", - "Filling history dataframe for Phil Foden: 125/264 done\n", - "Filling history dataframe for Mark Noble: 126/264 done\n", - "Filling history dataframe for Lewis Cook: 127/264 done\n", - "Filling history dataframe for Luke Freeman: 128/264 done\n", - "Filling history dataframe for N'Golo Kanté: 129/264 done\n", - "Filling history dataframe for Patrick Roberts: 130/264 done\n", - "Filling history dataframe for Wilfred Ndidi: 131/264 done\n", - "Filling history dataframe for Idrissa Gueye: 132/264 done\n", - "Filling history dataframe for Georges-Kévin Nkoudou: 133/264 done\n", - "Filling history dataframe for Philip Billing: 134/264 done\n", - "Filling history dataframe for John Fleck: 135/264 done\n", - "Filling history dataframe for Sean Longstaff: 136/264 done\n", - "Filling history dataframe for Demarai Gray: 137/264 done\n", - "Filling history dataframe for Ademola Lookman: 138/264 done\n", - "Filling history dataframe for Pedro Lomba Neto: 139/264 done\n", - "Filling history dataframe for Yves Bissouma: 140/264 done\n", - "Filling history dataframe for Marco Stiepermann: 141/264 done\n", - "Filling history dataframe for Jonjo Shelvey: 142/264 done\n", - "Filling history dataframe for Ivan Cavaleiro: 143/264 done\n", - "Filling history dataframe for Dan Gosling: 144/264 done\n", - "Filling history dataframe for Scott McTominay: 145/264 done\n", - "Filling history dataframe for Jorge Luiz Frello Filho: 146/264 done\n", - "Filling history dataframe for Cheikhou Kouyaté: 147/264 done\n", - "Filling history dataframe for Tomas Soucek: 148/264 done\n", - "Filling history dataframe for Nabil Bentaleb: 149/264 done\n", - "Filling history dataframe for Callum Robinson: 150/264 done\n", - "Filling history dataframe for Oliver Norwood: 151/264 done\n", - "Filling history dataframe for Jack Cork: 152/264 done\n", - "Filling history dataframe for Josh Brownhill: 153/264 done\n", - "Filling history dataframe for Eric Dier: 154/264 done\n", - "Filling history dataframe for Moussa Sissoko: 155/264 done\n", - "Filling history dataframe for Davy Pröpper: 156/264 done\n", - "Filling history dataframe for Kenny McLean: 157/264 done\n", - "Filling history dataframe for Pierre-Emile Højbjerg: 158/264 done\n", - "Filling history dataframe for Sander Berge: 159/264 done\n", - "Filling history dataframe for Jefferson Lerma: 160/264 done\n", - "Filling history dataframe for Andreas Pereira: 161/264 done\n", - "Filling history dataframe for Nemanja Matic: 162/264 done\n", - "Filling history dataframe for Aaron Mooy: 163/264 done\n", - "Filling history dataframe for Jean-Philippe Gbamin: 164/264 done\n", - "Filling history dataframe for Hélder Costa: 165/264 done\n", - "Filling history dataframe for Tom Cleverley: 166/264 done\n", - "Filling history dataframe for Rolando Aarons: 167/264 done\n", - "Filling history dataframe for Andre Green: 168/264 done\n", - "Filling history dataframe for Etienne Capoue: 169/264 done\n", - "Filling history dataframe for Ken Sema: 170/264 done\n", - "Filling history dataframe for Ignacio Pussetto: 171/264 done\n", - "Filling history dataframe for Ondrej Duda: 172/264 done\n", - "Filling history dataframe for Sung-yueng Ki: 173/264 done\n", - "Filling history dataframe for Gedson Carvalho Fernandes: 174/264 done\n", - "Filling history dataframe for Declan Rice: 175/264 done\n", - "Filling history dataframe for Angel Gomes: 176/264 done\n", - "Filling history dataframe for Bukayo Saka: 177/264 done\n", - "Filling history dataframe for Ben Osborn: 178/264 done\n", - "Filling history dataframe for Victor Wanyama: 179/264 done\n", - "Filling history dataframe for Andrew Surman: 180/264 done\n", - "Filling history dataframe for Lucas Torreira: 181/264 done\n", - "Filling history dataframe for Todd Cantwell: 182/264 done\n", - "Filling history dataframe for Jacob Murphy: 183/264 done\n", - "Filling history dataframe for Morgan Gibbs-White: 184/264 done\n", - "Filling history dataframe for Joseph Willock: 185/264 done\n", - "Filling history dataframe for Aaron Lennon: 186/264 done\n", - "Filling history dataframe for Jordon Ibe: 187/264 done\n", - "Filling history dataframe for Jack Wilshere: 188/264 done\n", - "Filling history dataframe for Mario Lemina: 189/264 done\n", - "Filling history dataframe for Solomon March: 190/264 done\n", - "Filling history dataframe for Beni Baningime: 191/264 done\n", - "Filling history dataframe for Nya Kirby: 192/264 done\n", - "Filling history dataframe for Steven Alzate: 193/264 done\n", - "Filling history dataframe for Bruno André Cavaco Jordao: 194/264 done\n", - "Filling history dataframe for Lukas Rupp: 195/264 done\n", - "Filling history dataframe for Billy Gilmour: 196/264 done\n", - "Filling history dataframe for Ibrahim Amadou: 197/264 done\n", - "Filling history dataframe for Rafael Camacho: 198/264 done\n", - "Filling history dataframe for Alexander Tettey: 199/264 done\n", - "Filling history dataframe for Josh Martin: 200/264 done\n", - "Filling history dataframe for Jack Rodwell: 201/264 done\n", - "Filling history dataframe for Curtis Jones: 202/264 done\n", - "Filling history dataframe for Matthew Longstaff: 203/264 done\n", - "Filling history dataframe for Jairo Riedewald: 204/264 done\n", - "Filling history dataframe for Bernardo Costa Da Rosa: 205/264 done\n", - "Filling history dataframe for Harvey Elliott: 206/264 done\n", - "Filling history dataframe for Indiana Vassilev: 207/264 done\n", - "Filling history dataframe for Brandon Pierrick: 208/264 done\n", - "Filling history dataframe for Ravel Morrison: 209/264 done\n", - "Filling history dataframe for Víctor Camarasa: 210/264 done\n", - "Filling history dataframe for Harvey White: 211/264 done\n", - "Filling history dataframe for Taylor Perry: 212/264 done\n", - "Filling history dataframe for Pedro Obiang: 213/264 done\n", - "Filling history dataframe for Birkir Bjarnason: 214/264 done\n", - "Filling history dataframe for William Smallbone: 215/264 done\n", - "Filling history dataframe for Owen Otasowie: 216/264 done\n", - "Filling history dataframe for Faustino Anjorin: 217/264 done\n", - "Filling history dataframe for Nathan Tella: 218/264 done\n", - "Filling history dataframe for Luke Cundle: 219/264 done\n", - "Filling history dataframe for Mace Goodridge: 220/264 done\n", - "Filling history dataframe for Christian Saydee: 221/264 done\n", - "Filling history dataframe for Ayotomiwa Dele-Bashiru: 222/264 done\n", - "Filling history dataframe for Giovanni McGregor: 223/264 done\n", - "Filling history dataframe for Thomas Allan: 224/264 done\n", - "Filling history dataframe for Gavin Kilkenny: 225/264 done\n", - "Filling history dataframe for Isaac Hayden: 226/264 done\n", - "Filling history dataframe for Henri Lansbury: 227/264 done\n", - "Filling history dataframe for Luke Amos: 228/264 done\n", - "Filling history dataframe for Leander Dendoncker: 229/264 done\n", - "Filling history dataframe for Nathaniel Chalobah: 230/264 done\n" + "Filling history dataframe for Mohamed Salah: 0/220 done\n", + "Filling history dataframe for Sadio Mané: 1/220 done\n", + "Filling history dataframe for Kevin De Bruyne: 2/220 done\n", + "Filling history dataframe for Bruno Miguel Borges Fernandes: 3/220 done\n", + "Filling history dataframe for Raheem Sterling: 4/220 done\n", + "Filling history dataframe for Heung-Min Son: 5/220 done\n", + "Filling history dataframe for Marcus Rashford: 6/220 done\n", + "Filling history dataframe for Jadon Sancho: 7/220 done\n", + "Filling history dataframe for Riyad Mahrez: 8/220 done\n", + "Filling history dataframe for Kai Havertz: 9/220 done\n", + "Filling history dataframe for Christian Pulisic: 10/220 done\n", + "Filling history dataframe for Jack Grealish: 11/220 done\n", + "Filling history dataframe for Phil Foden: 12/220 done\n", + "Filling history dataframe for Nicolas Pépé: 13/220 done\n", + "Filling history dataframe for Hakim Ziyech: 14/220 done\n", + "Filling history dataframe for Mason Mount: 15/220 done\n", + "Filling history dataframe for Diogo Jota: 16/220 done\n", + "Filling history dataframe for Ilkay Gündogan: 17/220 done\n", + "Filling history dataframe for Paul Pogba: 18/220 done\n", + "Filling history dataframe for Mason Greenwood: 19/220 done\n", + "Filling history dataframe for Wilfried Zaha: 20/220 done\n", + "Filling history dataframe for Gylfi Sigurdsson: 21/220 done\n", + "Filling history dataframe for James Rodríguez: 22/220 done\n", + "Filling history dataframe for James Maddison: 23/220 done\n", + "Filling history dataframe for Harvey Barnes: 24/220 done\n", + "Filling history dataframe for Bernardo Mota Veiga de Carvalho e Silva: 25/220 done\n", + "Filling history dataframe for Ferran Torres: 26/220 done\n", + "Filling history dataframe for Jesse Lingard: 27/220 done\n", + "Filling history dataframe for Willian Borges Da Silva: 28/220 done\n", + "Filling history dataframe for Bukayo Saka: 29/220 done\n", + "Filling history dataframe for Emiliano Buendía Stati: 30/220 done\n", + "Filling history dataframe for Leon Bailey: 31/220 done\n", + "Filling history dataframe for Leandro Trossard: 32/220 done\n", + "Filling history dataframe for Youri Tielemans: 33/220 done\n", + "Filling history dataframe for Raphael Dias Belloli: 34/220 done\n", + "Filling history dataframe for James Ward-Prowse: 35/220 done\n", + "Filling history dataframe for Lucas Rodrigues Moura da Silva: 36/220 done\n", + "Filling history dataframe for Bamidele Alli: 37/220 done\n", + "Filling history dataframe for Jarrod Bowen: 38/220 done\n", + "Filling history dataframe for Pedro Lomba Neto: 39/220 done\n", + "Filling history dataframe for Joseph Willock: 40/220 done\n", + "Filling history dataframe for Bertrand Traoré: 41/220 done\n", + "Filling history dataframe for John McGinn: 42/220 done\n", + "Filling history dataframe for Anwar El Ghazi: 43/220 done\n", + "Filling history dataframe for Pascal Groß: 44/220 done\n", + "Filling history dataframe for Enock Mwepu: 45/220 done\n", + "Filling history dataframe for Dwight McNeil: 46/220 done\n", + "Filling history dataframe for Jorge Luiz Frello Filho: 47/220 done\n", + "Filling history dataframe for Eberechi Eze: 48/220 done\n", + "Filling history dataframe for Alex Iwobi: 49/220 done\n", + "Filling history dataframe for Ayoze Pérez: 50/220 done\n", + "Filling history dataframe for Jack Harrison: 51/220 done\n", + "Filling history dataframe for Xherdan Shaqiri: 52/220 done\n", + "Filling history dataframe for Alex Oxlade-Chamberlain: 53/220 done\n", + "Filling history dataframe for Donny van de Beek: 54/220 done\n", + "Filling history dataframe for Daniel James: 55/220 done\n", + "Filling history dataframe for Theo Walcott: 56/220 done\n", + "Filling history dataframe for Nathan Redmond: 57/220 done\n", + "Filling history dataframe for Stuart Armstrong: 58/220 done\n", + "Filling history dataframe for Erik Lamela: 59/220 done\n", + "Filling history dataframe for Steven Bergwijn: 60/220 done\n", + "Filling history dataframe for Giovani Lo Celso: 61/220 done\n", + "Filling history dataframe for Tanguy Ndombele: 62/220 done\n", + "Filling history dataframe for Bryan Gil Salvatierra: 63/220 done\n", + "Filling history dataframe for Ismaila Sarr: 64/220 done\n", + "Filling history dataframe for Manuel Lanzini: 65/220 done\n", + "Filling history dataframe for Saïd Benrahma: 66/220 done\n", + "Filling history dataframe for Tomas Soucek: 67/220 done\n", + "Filling history dataframe for Pablo Fornals: 68/220 done\n", + "Filling history dataframe for Adama Traoré: 69/220 done\n", + "Filling history dataframe for Francisco Machado Mota de Castro Trincão: 70/220 done\n", + "Filling history dataframe for Ainsley Maitland-Niles: 71/220 done\n", + "Filling history dataframe for Emile Smith Rowe: 72/220 done\n", + "Filling history dataframe for Gabriel Teodoro Martinelli Silva: 73/220 done\n", + "Filling history dataframe for Mahmoud Ahmed Ibrahim Hassan: 74/220 done\n", + "Filling history dataframe for Tariqe Fosu-Henry: 75/220 done\n", + "Filling history dataframe for Sergi Canós: 76/220 done\n", + "Filling history dataframe for Pelenda Joshua Dasilva: 77/220 done\n", + "Filling history dataframe for Saman Ghoddos: 78/220 done\n", + "Filling history dataframe for Bryan Mbeumo: 79/220 done\n", + "Filling history dataframe for Adam Lallana: 80/220 done\n", + "Filling history dataframe for Solomon March: 81/220 done\n", + "Filling history dataframe for Alireza Jahanbakhsh: 82/220 done\n", + "Filling history dataframe for Alexis Mac Allister: 83/220 done\n", + "Filling history dataframe for Ashley Westwood: 84/220 done\n", + "Filling history dataframe for Johann Berg Gudmundsson: 85/220 done\n", + "Filling history dataframe for Ross Barkley: 86/220 done\n", + "Filling history dataframe for Ruben Loftus-Cheek: 87/220 done\n", + "Filling history dataframe for Callum Hudson-Odoi: 88/220 done\n", + "Filling history dataframe for Conor Gallagher: 89/220 done\n", + "Filling history dataframe for Luka Milivojevic: 90/220 done\n", + "Filling history dataframe for Jeffrey Schlupp: 91/220 done\n", + "Filling history dataframe for Michael Olise: 92/220 done\n", + "Filling history dataframe for Bernard Anício Caldeira Duarte: 93/220 done\n", + "Filling history dataframe for Abdoulaye Doucouré: 94/220 done\n", + "Filling history dataframe for Andros Townsend: 95/220 done\n", + "Filling history dataframe for Demarai Gray: 96/220 done\n", + "Filling history dataframe for Marc Albrighton: 97/220 done\n", + "Filling history dataframe for Pablo Hernández Domínguez: 98/220 done\n", + "Filling history dataframe for Mateusz Klich: 99/220 done\n", + "Filling history dataframe for Stuart Dallas: 100/220 done\n", + "Filling history dataframe for Hélder Wander Sousa de Azevedo e Costa: 101/220 done\n", + "Filling history dataframe for Thiago Alcántara do Nascimento: 102/220 done\n", + "Filling history dataframe for Fabio Henrique Tavares: 103/220 done\n", + "Filling history dataframe for Takumi Minamino: 104/220 done\n", + "Filling history dataframe for Harvey Elliott: 105/220 done\n", + "Filling history dataframe for Rodrigo Hernandez: 106/220 done\n", + "Filling history dataframe for Scott McTominay: 107/220 done\n", + "Filling history dataframe for Jonjo Shelvey: 108/220 done\n", + "Filling history dataframe for Ryan Fraser: 109/220 done\n", + "Filling history dataframe for Miguel Almirón: 110/220 done\n", + "Filling history dataframe for Kieran Dowell: 111/220 done\n", + "Filling history dataframe for Todd Cantwell: 112/220 done\n", + "Filling history dataframe for Milot Rashica: 113/220 done\n", + "Filling history dataframe for Moussa Djenepo: 114/220 done\n", + "Filling history dataframe for Mohamed Elyounoussi: 115/220 done\n", + "Filling history dataframe for Ken Sema: 116/220 done\n", + "Filling history dataframe for Philip Zinckernagel: 117/220 done\n", + "Filling history dataframe for Imrân Louza: 118/220 done\n", + "Filling history dataframe for Juraj Kucka: 119/220 done\n", + "Filling history dataframe for Andriy Yarmolenko: 120/220 done\n", + "Filling history dataframe for Rúben Diogo da Silva Neves: 121/220 done\n", + "Filling history dataframe for Daniel Castelo Podence: 122/220 done\n", + "Filling history dataframe for Granit Xhaka: 123/220 done\n", + "Filling history dataframe for Thomas Partey: 124/220 done\n", + "Filling history dataframe for Albert Sambi Lokonga: 125/220 done\n", + "Filling history dataframe for Conor Hourihane: 126/220 done\n", + "Filling history dataframe for Morgan Sanson: 127/220 done\n", + "Filling history dataframe for Jaden Philogene-Bidace: 128/220 done\n", + "Filling history dataframe for Christian Nørgaard: 129/220 done\n", + "Filling history dataframe for Vitaly Janelt: 130/220 done\n", + "Filling history dataframe for Mathias Jensen: 131/220 done\n", + "Filling history dataframe for Frank Onyeka: 132/220 done\n", + "Filling history dataframe for Shandon Baptiste: 133/220 done\n", + "Filling history dataframe for Steven Alzate: 134/220 done\n", + "Filling history dataframe for Mateo Kovacic: 135/220 done\n", + "Filling history dataframe for N'Golo Kanté: 136/220 done\n", + "Filling history dataframe for Jairo Riedewald: 137/220 done\n", + "Filling history dataframe for André Filipe Tavares Gomes: 138/220 done\n", + "Filling history dataframe for Tom Davies: 139/220 done\n", + "Filling history dataframe for Dennis Praet: 140/220 done\n", + "Filling history dataframe for Wilfred Ndidi: 141/220 done\n", + "Filling history dataframe for Boubakary Soumaré: 142/220 done\n", + "Filling history dataframe for Kalvin Phillips: 143/220 done\n", + "Filling history dataframe for Tyler Roberts: 144/220 done\n", + "Filling history dataframe for James Milner: 145/220 done\n", + "Filling history dataframe for Jordan Henderson: 146/220 done\n", + "Filling history dataframe for Naby Keita: 147/220 done\n", + "Filling history dataframe for Curtis Jones: 148/220 done\n", + "Filling history dataframe for Fernando Luiz Rosa: 149/220 done\n", + "Filling history dataframe for Samuel Edozie: 150/220 done\n", + "Filling history dataframe for Frederico Rodrigues de Paula Santos: 151/220 done\n", + "Filling history dataframe for Juan Mata: 152/220 done\n", + "Filling history dataframe for Andreas Pereira: 153/220 done\n", + "Filling history dataframe for Anthony Elanga: 154/220 done\n", + "Filling history dataframe for Jeff Hendrick: 155/220 done\n", + "Filling history dataframe for Jacob Murphy: 156/220 done\n", + "Filling history dataframe for Marco Stiepermann: 157/220 done\n", + "Filling history dataframe for Kenny McLean: 158/220 done\n", + "Filling history dataframe for Onel Hernández: 159/220 done\n", + "Filling history dataframe for Przemyslaw Placheta: 160/220 done\n", + "Filling history dataframe for Josh Martin: 161/220 done\n", + "Filling history dataframe for Pierre Lees-Melou: 162/220 done\n", + "Filling history dataframe for Nathan Tella: 163/220 done\n", + "Filling history dataframe for Pierre-Emile Højbjerg: 164/220 done\n", + "Filling history dataframe for Dan Gosling: 165/220 done\n", + "Filling history dataframe for Tom Cleverley: 166/220 done\n", + "Filling history dataframe for Nathaniel Chalobah: 167/220 done\n", + "Filling history dataframe for Will Hughes: 168/220 done\n", + "Filling history dataframe for Declan Rice: 169/220 done\n", + "Filling history dataframe for João Filipe Iria Santos Moutinho: 170/220 done\n", + "Filling history dataframe for Leander Dendoncker: 171/220 done\n", + "Filling history dataframe for Mohamed Naser El Sayed Elneny: 172/220 done\n", + "Filling history dataframe for Lucas Torreira: 173/220 done\n", + "Filling history dataframe for Mattéo Guendouzi: 174/220 done\n", + "Filling history dataframe for Marvelous Nakamba: 175/220 done\n", + "Filling history dataframe for Douglas Luiz Soares de Paulo: 176/220 done\n", + "Filling history dataframe for Jacob Ramsey: 177/220 done\n", + "Filling history dataframe for Aaron Ramsey: 178/220 done\n", + "Filling history dataframe for Jan Zamburek: 179/220 done\n", + "Filling history dataframe for Mads Bidstrup: 180/220 done\n", + "Filling history dataframe for Davy Pröpper: 181/220 done\n", + "Filling history dataframe for Yves Bissouma: 182/220 done\n", + "Filling history dataframe for Jakub Moder: 183/220 done\n", + "Filling history dataframe for Jack Cork: 184/220 done\n", + "Filling history dataframe for Dale Stephens: 185/220 done\n", + "Filling history dataframe for Josh Brownhill: 186/220 done\n", + "Filling history dataframe for Josh Benson: 187/220 done\n", + "Filling history dataframe for James McArthur: 188/220 done\n", + "Filling history dataframe for Fabian Delph: 189/220 done\n", + "Filling history dataframe for Allan Marques Loureiro: 190/220 done\n", + "Filling history dataframe for Anthony Gordon: 191/220 done\n", + "Filling history dataframe for Jean-Philippe Gbamin: 192/220 done\n", + "Filling history dataframe for Nampalys Mendy: 193/220 done\n", + "Filling history dataframe for Hamza Choudhury: 194/220 done\n", + "Filling history dataframe for Kiernan Dewsbury-Hall: 195/220 done\n", + "Filling history dataframe for Ian Carlo Poveda-Ocampo: 196/220 done\n", + "Filling history dataframe for Jamie Shackleton: 197/220 done\n", + "Filling history dataframe for Cole Palmer: 198/220 done\n", + "Filling history dataframe for Nemanja Matic: 199/220 done\n", + "Filling history dataframe for Isaac Hayden: 200/220 done\n", + "Filling history dataframe for Sean Longstaff: 201/220 done\n", + "Filling history dataframe for Matthew Longstaff: 202/220 done\n", + "Filling history dataframe for Billy Gilmour: 203/220 done\n", + "Filling history dataframe for Lukas Rupp: 204/220 done\n", + "Filling history dataframe for Oriol Romeu Vidal: 205/220 done\n", + "Filling history dataframe for William Smallbone: 206/220 done\n", + "Filling history dataframe for Ibrahima Diallo: 207/220 done\n", + "Filling history dataframe for Moussa Sissoko: 208/220 done\n", + "Filling history dataframe for Harry Winks: 209/220 done\n", + "Filling history dataframe for Oliver Skipp: 210/220 done\n", + "Filling history dataframe for Ayotomiwa Dele-Bashiru: 211/220 done\n", + "Filling history dataframe for Domingos Quina: 212/220 done\n", + "Filling history dataframe for Joseph Hungbo: 213/220 done\n", + "Filling history dataframe for Kwadwo Baah: 214/220 done\n", + "Filling history dataframe for Oghenekaro Peter Etebo: 215/220 done\n", + "Filling history dataframe for Mark Noble: 216/220 done\n", + "Filling history dataframe for Conor Coventry: 217/220 done\n", + "Filling history dataframe for Morgan Gibbs-White: 218/220 done\n", + "Filling history dataframe for Owen Otasowie: 219/220 done\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Filling history dataframe for Douglas Luiz Soares de Paulo: 231/264 done\n", - "Filling history dataframe for Nathan Holland: 232/264 done\n", - "Filling history dataframe for Mihai-Alexandru Dobre: 233/264 done\n", - "Filling history dataframe for Marvelous Nakamba: 234/264 done\n", - "Filling history dataframe for Morgan Schneiderlin: 235/264 done\n", - "Filling history dataframe for Daniel Drinkwater: 236/264 done\n", - "Filling history dataframe for Dale Stephens: 237/264 done\n", - "Filling history dataframe for Callum Slattery: 238/264 done\n", - "Filling history dataframe for Tyreke Johnson: 239/264 done\n", - "Filling history dataframe for Ethan Ampadu: 240/264 done\n", - "Filling history dataframe for Jack Colback: 241/264 done\n", - "Filling history dataframe for Carlos Sánchez: 242/264 done\n", - "Filling history dataframe for Moritz Leitner: 243/264 done\n", - "Filling history dataframe for Luke Dreher: 244/264 done\n", - "Filling history dataframe for Hamza Choudhury: 245/264 done\n", - "Filling history dataframe for Tahith Chong: 246/264 done\n", - "Filling history dataframe for Matty James: 247/264 done\n", - "Filling history dataframe for Keinan Davis: 248/264 done\n", - "Filling history dataframe for Nampalys Mendy: 249/264 done\n", - "Filling history dataframe for Oliver Skipp: 250/264 done\n", - "Filling history dataframe for James Garner: 251/264 done\n", - "Filling history dataframe for Tom Trybull: 252/264 done\n", - "Filling history dataframe for Emile Smith Rowe: 253/264 done\n", - "Filling history dataframe for Muhamed Bešić: 254/264 done\n", - "Filling history dataframe for Domingos Quina: 255/264 done\n", - "Filling history dataframe for Beram Kayal: 256/264 done\n", - "Filling history dataframe for Grady Diangana: 257/264 done\n", - "Filling history dataframe for James McCarthy: 258/264 done\n", - "Filling history dataframe for Oriol Romeu Vidal: 259/264 done\n", - "Filling history dataframe for Daniel Amartey: 260/264 done\n", - "Filling history dataframe for Matteo Guendouzi: 261/264 done\n", - "Filling history dataframe for Mohamed Elneny: 262/264 done\n", - "Filling history dataframe for Andy King: 263/264 done\n", - "Alpha is [ 5.2601544 5.34782364 38.97439743]\n" + "Alpha is [ 9.20967011 9.09309201 66.37465724]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "sample: 100%|████████████████████████████████| 4500/4500 [00:30<00:00, 146.71it/s, 15 steps of size 2.82e-01. acc. prob=0.86]\n" + "sample: 100%|███████████| 4500/4500 [00:35<00:00, 126.51it/s, 15 steps of size 2.84e-01. acc. prob=0.87]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Filling history dataframe for Trent Alexander-Arnold: 0/215 done\n", - "Filling history dataframe for Andrew Robertson: 1/215 done\n", - "Filling history dataframe for Virgil van Dijk: 2/215 done\n", - "Filling history dataframe for Aymeric Laporte: 3/215 done\n", - "Filling history dataframe for Ricardo Domingos Barbosa Pereira: 4/215 done\n", - "Filling history dataframe for Matt Doherty: 5/215 done\n", - "Filling history dataframe for Marcos Alonso: 6/215 done\n", - "Filling history dataframe for Antonio Rüdiger: 7/215 done\n", - "Filling history dataframe for César Azpilicueta: 8/215 done\n", - "Filling history dataframe for Lucas Digne: 9/215 done\n", - "Filling history dataframe for David Luiz Moreira Marinho: 10/215 done\n", - "Filling history dataframe for Patrick van Aanholt: 11/215 done\n", - "Filling history dataframe for Kyle Walker: 12/215 done\n", - "Filling history dataframe for Benjamin Mendy: 13/215 done\n", - "Filling history dataframe for Benjamin Chilwell: 14/215 done\n", - "Filling history dataframe for Héctor Bellerín: 15/215 done\n", - "Filling history dataframe for Kieran Trippier: 16/215 done\n", - "Filling history dataframe for Emerson Palmieri dos Santos: 17/215 done\n", - "Filling history dataframe for Luke Shaw: 18/215 done\n", - "Filling history dataframe for Ashley Young: 19/215 done\n", - "Filling history dataframe for Jonathan Castro Otto: 20/215 done\n", - "Filling history dataframe for Victor Lindelöf: 21/215 done\n", - "Filling history dataframe for Fabian Delph: 22/215 done\n", - "Filling history dataframe for Joseph Gomez: 23/215 done\n", - "Filling history dataframe for Kieran Tierney: 24/215 done\n", - "Filling history dataframe for Matt Ritchie: 25/215 done\n", - "Filling history dataframe for Davinson Sánchez: 26/215 done\n", - "Filling history dataframe for Dejan Lovren: 27/215 done\n", - "Filling history dataframe for Jonny Evans: 28/215 done\n", - "Filling history dataframe for Danny Rose: 29/215 done\n", - "Filling history dataframe for Ben Davies: 30/215 done\n", - "Filling history dataframe for Yerry Mina: 31/215 done\n", - "Filling history dataframe for Seamus Coleman: 32/215 done\n", - "Filling history dataframe for Harry Maguire: 33/215 done\n", - "Filling history dataframe for John Stones: 34/215 done\n", - "Filling history dataframe for Toby Alderweireld: 35/215 done\n", - "Filling history dataframe for Aaron Wan-Bissaka: 36/215 done\n", - "Filling history dataframe for Oleksandr Zinchenko: 37/215 done\n", - "Filling history dataframe for Michael Keane: 38/215 done\n", - "Filling history dataframe for Sead Kolasinac: 39/215 done\n", - "Filling history dataframe for Joel Matip: 40/215 done\n", - "Filling history dataframe for Jan Vertonghen: 41/215 done\n", - "Filling history dataframe for James Tarkowski: 42/215 done\n", - "Filling history dataframe for Chris Smalling: 43/215 done\n", - "Filling history dataframe for Enda Stevens: 44/215 done\n", - "Filling history dataframe for Shkodran Mustafi: 45/215 done\n", - "Filling history dataframe for João Pedro Cavaco Cancelo: 46/215 done\n", - "Filling history dataframe for Reece James: 47/215 done\n", - "Filling history dataframe for George Baldock: 48/215 done\n", - "Filling history dataframe for Conor Coady: 49/215 done\n", - "Filling history dataframe for Djibril Sidibé: 50/215 done\n", - "Filling history dataframe for Laurent Koscielny: 51/215 done\n", - "Filling history dataframe for Nacho Monreal: 52/215 done\n", - "Filling history dataframe for James Tomkins: 53/215 done\n", - "Filling history dataframe for Danilo Luiz da Silva: 54/215 done\n", - "Filling history dataframe for Mamadou Sakho: 55/215 done\n", - "Filling history dataframe for Steve Cook: 56/215 done\n", - "Filling history dataframe for Fabian Schär: 57/215 done\n", - "Filling history dataframe for Ben Mee: 58/215 done\n", - "Filling history dataframe for José Diogo Dalot Teixeira: 59/215 done\n", - "Filling history dataframe for Çaglar Söyüncü: 60/215 done\n", - "Filling history dataframe for Nicolás Otamendi: 61/215 done\n", - "Filling history dataframe for John Lundstram: 62/215 done\n", - "Filling history dataframe for Eric Bailly: 63/215 done\n", - "Filling history dataframe for Serge Aurier: 64/215 done\n", - "Filling history dataframe for Matteo Darmian: 65/215 done\n", - "Filling history dataframe for Leighton Baines: 66/215 done\n", - "Filling history dataframe for Willy Boly: 67/215 done\n", - "Filling history dataframe for Sokratis Papastathopoulos: 68/215 done\n", - "Filling history dataframe for Juan Foyth: 69/215 done\n", - "Filling history dataframe for Ryan Bertrand: 70/215 done\n", - "Filling history dataframe for Pablo Marí: 71/215 done\n", - "Filling history dataframe for Shane Duffy: 72/215 done\n", - "Filling history dataframe for Marcos Rojo: 73/215 done\n", - "Filling history dataframe for Nathan Aké: 74/215 done\n", - "Filling history dataframe for Craig Dawson: 75/215 done\n", - "Filling history dataframe for Andreas Christensen: 76/215 done\n", - "Filling history dataframe for Cédric Soares: 77/215 done\n", - "Filling history dataframe for Ryan Bennett: 78/215 done\n", - "Filling history dataframe for Lewis Dunk: 79/215 done\n", - "Filling history dataframe for James Justin: 80/215 done\n", - "Filling history dataframe for Jack O'Connell: 81/215 done\n", - "Filling history dataframe for Kurt Zouma: 82/215 done\n", - "Filling history dataframe for Phil Jones: 83/215 done\n", - "Filling history dataframe for Jesús Vallejo Lázaro: 84/215 done\n", - "Filling history dataframe for John Egan: 85/215 done\n", - "Filling history dataframe for Federico Fernández: 86/215 done\n", - "Filling history dataframe for José Holebas: 87/215 done\n", - "Filling history dataframe for Chris Basham: 88/215 done\n", - "Filling history dataframe for Yan Valery: 89/215 done\n", - "Filling history dataframe for Romain Saïss: 90/215 done\n", - "Filling history dataframe for José Ángel Esmorís Tasende: 91/215 done\n", - "Filling history dataframe for Angelo Ogbonna: 92/215 done\n", - "Filling history dataframe for Carl Jenkinson: 93/215 done\n", - "Filling history dataframe for Ainsley Maitland-Niles: 94/215 done\n", - "Filling history dataframe for Dan Burn: 95/215 done\n", - "Filling history dataframe for Jannik Vestergaard: 96/215 done\n", - "Filling history dataframe for Adam Webster: 97/215 done\n", - "Filling history dataframe for Aaron Cresswell: 98/215 done\n", - "Filling history dataframe for Panagiotis Retsos: 99/215 done\n", - "Filling history dataframe for Eric Garcia: 100/215 done\n", - "Filling history dataframe for Rob Holding: 101/215 done\n", - "Filling history dataframe for Jack Stephens: 102/215 done\n", - "Filling history dataframe for Jamal Lewis: 103/215 done\n", - "Filling history dataframe for Matt Targett: 104/215 done\n", - "Filling history dataframe for Ryan Fredericks: 105/215 done\n", - "Filling history dataframe for Ben Godfrey: 106/215 done\n", - "Filling history dataframe for Simon Francis: 107/215 done\n", - "Filling history dataframe for Frédéric Guilbert: 108/215 done\n", - "Filling history dataframe for Gary Cahill: 109/215 done\n", - "Filling history dataframe for Kyle Walker-Peters: 110/215 done\n", - "Filling history dataframe for DeAndre Yedlin: 111/215 done\n", - "Filling history dataframe for Axel Tuanzebe: 112/215 done\n", - "Filling history dataframe for Kortney Hause: 113/215 done\n", - "Filling history dataframe for Tyrone Mings: 114/215 done\n", - "Filling history dataframe for Christoph Zimmermann: 115/215 done\n", - "Filling history dataframe for Lloyd Kelly: 116/215 done\n", - "Filling history dataframe for Florian Lejeune: 117/215 done\n", - "Filling history dataframe for Jan Bednarek: 118/215 done\n", - "Filling history dataframe for Leon Balogun: 119/215 done\n", - "Filling history dataframe for Javier Manquillo: 120/215 done\n", - "Filling history dataframe for Bjorn Engels: 121/215 done\n", - "Filling history dataframe for Jack Stacey: 122/215 done\n", - "Filling history dataframe for Kevin Long: 123/215 done\n", - "Filling history dataframe for Joel Ward: 124/215 done\n", - "Filling history dataframe for Phil Bardsley: 125/215 done\n", - "Filling history dataframe for Matthew Clarke: 126/215 done\n", - "Filling history dataframe for Calum Chambers: 127/215 done\n", - "Filling history dataframe for Mason Holgate: 128/215 done\n", - "Filling history dataframe for Paul Dummett: 129/215 done\n", - "Filling history dataframe for Konstantinos Mavropanos: 130/215 done\n", - "Filling history dataframe for Adam Masina: 131/215 done\n", - "Filling history dataframe for Bernardo Fernandes da Silva Junior: 132/215 done\n", - "Filling history dataframe for Christian Kabasele: 133/215 done\n", - "Filling history dataframe for Maximillian Aarons: 134/215 done\n", - "Filling history dataframe for Fabián Balbuena: 135/215 done\n", - "Filling history dataframe for Adam Smith: 136/215 done\n", - "Filling history dataframe for Timm Klose: 137/215 done\n", - "Filling history dataframe for Emil Krafth: 138/215 done\n", - "Filling history dataframe for Martín Montoya: 139/215 done\n", - "Filling history dataframe for Ezri Konsa Ngoyo: 140/215 done\n", - "Filling history dataframe for Jamaal Lascelles: 141/215 done\n", - "Filling history dataframe for Issa Diop: 142/215 done\n", - "Filling history dataframe for Ciaran Clark: 143/215 done\n", - "Filling history dataframe for Jetro Willems: 144/215 done\n", - "Filling history dataframe for Chris Mepham: 145/215 done\n", - "Filling history dataframe for Sam Byram: 146/215 done\n", - "Filling history dataframe for Charlie Taylor: 147/215 done\n", - "Filling history dataframe for Craig Cathcart: 148/215 done\n", - "Filling history dataframe for Scott Dann: 149/215 done\n", - "Filling history dataframe for Brandon Williams: 150/215 done\n", - "Filling history dataframe for Charlie Daniels: 151/215 done\n", - "Filling history dataframe for Matthew Lowton: 152/215 done\n", - "Filling history dataframe for Adrian Mariappa: 153/215 done\n", - "Filling history dataframe for Francisco Femenía Far: 154/215 done\n", - "Filling history dataframe for Erik Pieters: 155/215 done\n", - "Filling history dataframe for James Chester: 156/215 done\n", - "Filling history dataframe for Wesley Hoedt: 157/215 done\n", - "Filling history dataframe for Fikayo Tomori: 158/215 done\n", - "Filling history dataframe for Diego Rico: 159/215 done\n", - "Filling history dataframe for Kieron Freeman: 160/215 done\n", - "Filling history dataframe for Rúben Gonçalo Silva Nascimento Vinagre: 161/215 done\n", - "Filling history dataframe for Lewis Gibson: 162/215 done\n", - "Filling history dataframe for Christian Fuchs: 163/215 done\n", - "Filling history dataframe for Gaëtan Bong: 164/215 done\n", - "Filling history dataframe for Neil Taylor: 165/215 done\n", - "Filling history dataframe for Davide Zappacosta: 166/215 done\n", - "Filling history dataframe for Kevin Danso: 167/215 done\n", - "Filling history dataframe for Japhet Tanganga: 168/215 done\n", - "Filling history dataframe for Martin Kelly: 169/215 done\n", - "Filling history dataframe for Arthur Masuaku: 170/215 done\n", - "Filling history dataframe for Ahmed El Mohamady: 171/215 done\n", - "Filling history dataframe for Phil Jagielka: 172/215 done\n", - "Filling history dataframe for Grant Hanley: 173/215 done\n", - "Filling history dataframe for Wes Morgan: 174/215 done\n", - "Filling history dataframe for Pablo Zabaleta: 175/215 done\n", - "Filling history dataframe for Maya Yoshida: 176/215 done\n", - "Filling history dataframe for Ki-Jana Hoever: 177/215 done\n", - "Filling history dataframe for Rhu-endly Martina: 178/215 done\n", - "Filling history dataframe for Liam Gibson: 179/215 done\n", - "Filling history dataframe for Bobby Thomas: 180/215 done\n", - "Filling history dataframe for Tariq Lamptey: 181/215 done\n", - "Filling history dataframe for Nikola Tavares: 182/215 done\n", - "Filling history dataframe for Jimmy Dunne: 183/215 done\n", - "Filling history dataframe for Tudor Baluta: 184/215 done\n", - "Filling history dataframe for Daryl Janmaat: 185/215 done\n", - "Filling history dataframe for Ezequiel Schelotto: 186/215 done\n", - "Filling history dataframe for Jeremy Ngakia: 187/215 done\n", - "Filling history dataframe for Oskar Buur: 188/215 done\n", - "Filling history dataframe for Ben Johnson: 189/215 done\n", - "Filling history dataframe for Jarrad Branthwaite: 190/215 done\n", - "Filling history dataframe for Tyrick Mitchell: 191/215 done\n", - "Filling history dataframe for Zech Medley: 192/215 done\n", - "Filling history dataframe for Jack Robinson: 193/215 done\n", - "Filling history dataframe for Gonçalo Bento Soares Cardoso: 194/215 done\n", - "Filling history dataframe for Neco Williams: 195/215 done\n", - "Filling history dataframe for Abd-Al-Ali Morakinyo Olaposi Koiki: 196/215 done\n", - "Filling history dataframe for Marc Navarro: 197/215 done\n", - "Filling history dataframe for Kayne Ramsay: 198/215 done\n", - "Filling history dataframe for Dimitri Foulquier: 199/215 done\n", - "Filling history dataframe for Sam Woods: 200/215 done\n", - "Filling history dataframe for Nathaniel Phillips: 201/215 done\n", - "Filling history dataframe for Jack Simpson: 202/215 done\n", - "Filling history dataframe for Ben Gibson: 203/215 done\n", - "Filling history dataframe for Richard Stearman: 204/215 done\n", - "Filling history dataframe for Akin Famewo: 205/215 done\n", - "Filling history dataframe for Philip Heise: 206/215 done\n", - "Filling history dataframe for Filip Benkovic: 207/215 done\n", - "Filling history dataframe for Addji Keaninkin Marc-Israel Guehi: 208/215 done\n", - "Filling history dataframe for Max Kilman: 209/215 done\n", - "Filling history dataframe for Anthony Driscoll-Glennon: 210/215 done\n", - "Filling history dataframe for Winston Reid: 211/215 done\n", - "Filling history dataframe for Ryan Giles: 212/215 done\n", - "Filling history dataframe for Kelland Watts: 213/215 done\n", - "Filling history dataframe for Sebastian Prödl: 214/215 done\n" + "Filling history dataframe for Trent Alexander-Arnold: 0/180 done\n", + "Filling history dataframe for Andrew Robertson: 1/180 done\n", + "Filling history dataframe for Virgil van Dijk: 2/180 done\n", + "Filling history dataframe for César Azpilicueta: 3/180 done\n", + "Filling history dataframe for Benjamin Chilwell: 4/180 done\n", + "Filling history dataframe for João Pedro Cavaco Cancelo: 5/180 done\n", + "Filling history dataframe for Rúben Santos Gato Alves Dias: 6/180 done\n", + "Filling history dataframe for Thiago Emiliano da Silva: 7/180 done\n", + "Filling history dataframe for Marcos Alonso: 8/180 done\n", + "Filling history dataframe for Antonio Rüdiger: 9/180 done\n", + "Filling history dataframe for Kurt Zouma: 10/180 done\n", + "Filling history dataframe for Reece James: 11/180 done\n", + "Filling history dataframe for Lucas Digne: 12/180 done\n", + "Filling history dataframe for Jonny Evans: 13/180 done\n", + "Filling history dataframe for Ricardo Domingos Barbosa Pereira: 14/180 done\n", + "Filling history dataframe for Timothy Castagne: 15/180 done\n", + "Filling history dataframe for Ibrahima Konaté: 16/180 done\n", + "Filling history dataframe for Kyle Walker: 17/180 done\n", + "Filling history dataframe for John Stones: 18/180 done\n", + "Filling history dataframe for Benjamin Mendy: 19/180 done\n", + "Filling history dataframe for Aymeric Laporte: 20/180 done\n", + "Filling history dataframe for Oleksandr Zinchenko: 21/180 done\n", + "Filling history dataframe for Harry Maguire: 22/180 done\n", + "Filling history dataframe for Luke Shaw: 23/180 done\n", + "Filling history dataframe for Aaron Wan-Bissaka: 24/180 done\n", + "Filling history dataframe for Aaron Cresswell: 25/180 done\n", + "Filling history dataframe for Héctor Bellerín: 26/180 done\n", + "Filling history dataframe for Kieran Tierney: 27/180 done\n", + "Filling history dataframe for Gabriel Magalhães: 28/180 done\n", + "Filling history dataframe for Tyrone Mings: 29/180 done\n", + "Filling history dataframe for Matt Targett: 30/180 done\n", + "Filling history dataframe for Matthew Cash: 31/180 done\n", + "Filling history dataframe for Ezri Konsa Ngoyo: 32/180 done\n", + "Filling history dataframe for Ashley Young: 33/180 done\n", + "Filling history dataframe for Lewis Dunk: 34/180 done\n", + "Filling history dataframe for James Tarkowski: 35/180 done\n", + "Filling history dataframe for Ben Mee: 36/180 done\n", + "Filling history dataframe for Andreas Christensen: 37/180 done\n", + "Filling history dataframe for Malang Sarr: 38/180 done\n", + "Filling history dataframe for Seamus Coleman: 39/180 done\n", + "Filling history dataframe for Michael Keane: 40/180 done\n", + "Filling history dataframe for Yerry Mina: 41/180 done\n", + "Filling history dataframe for Ben Godfrey: 42/180 done\n", + "Filling history dataframe for Çaglar Söyüncü: 43/180 done\n", + "Filling history dataframe for James Justin: 44/180 done\n", + "Filling history dataframe for Ryan Bertrand: 45/180 done\n", + "Filling history dataframe for Héctor Junior Firpo Adames: 46/180 done\n", + "Filling history dataframe for Joel Matip: 47/180 done\n", + "Filling history dataframe for Joseph Gomez: 48/180 done\n", + "Filling history dataframe for Nathan Aké: 49/180 done\n", + "Filling history dataframe for Alex Nicolao Telles: 50/180 done\n", + "Filling history dataframe for Victor Lindelöf: 51/180 done\n", + "Filling history dataframe for Eric Bailly: 52/180 done\n", + "Filling history dataframe for Matt Ritchie: 53/180 done\n", + "Filling history dataframe for Jannik Vestergaard: 54/180 done\n", + "Filling history dataframe for Kyle Walker-Peters: 55/180 done\n", + "Filling history dataframe for Romain Perraud: 56/180 done\n", + "Filling history dataframe for Toby Alderweireld: 57/180 done\n", + "Filling history dataframe for Serge Aurier: 58/180 done\n", + "Filling history dataframe for Matt Doherty: 59/180 done\n", + "Filling history dataframe for Sergio Reguilón: 60/180 done\n", + "Filling history dataframe for Cristian Romero: 61/180 done\n", + "Filling history dataframe for Angelo Ogbonna: 62/180 done\n", + "Filling history dataframe for Craig Dawson: 63/180 done\n", + "Filling history dataframe for Vladimir Coufal: 64/180 done\n", + "Filling history dataframe for Willy Boly: 65/180 done\n", + "Filling history dataframe for Romain Saïss: 66/180 done\n", + "Filling history dataframe for Nélson Cabral Semedo: 67/180 done\n", + "Filling history dataframe for Cédric Soares: 68/180 done\n", + "Filling history dataframe for Pablo Marí: 69/180 done\n", + "Filling history dataframe for Calum Chambers: 70/180 done\n", + "Filling history dataframe for Sead Kolasinac: 71/180 done\n", + "Filling history dataframe for Rob Holding: 72/180 done\n", + "Filling history dataframe for Konstantinos Mavropanos: 73/180 done\n", + "Filling history dataframe for William Saliba: 74/180 done\n", + "Filling history dataframe for Ben White: 75/180 done\n", + "Filling history dataframe for Nuno Varela Tavares: 76/180 done\n", + "Filling history dataframe for Björn Engels: 77/180 done\n", + "Filling history dataframe for Kortney Hause: 78/180 done\n", + "Filling history dataframe for Frédéric Guilbert: 79/180 done\n", + "Filling history dataframe for Axel Tuanzebe: 80/180 done\n", + "Filling history dataframe for Pontus Jansson: 81/180 done\n", + "Filling history dataframe for Rico Henry: 82/180 done\n", + "Filling history dataframe for Mads Roerslev Rasmussen: 83/180 done\n", + "Filling history dataframe for Mads Bech Sørensen: 84/180 done\n", + "Filling history dataframe for Ethan Pinnock: 85/180 done\n", + "Filling history dataframe for Kristoffer Ajer: 86/180 done\n", + "Filling history dataframe for Dominic Thompson: 87/180 done\n", + "Filling history dataframe for Dan Burn: 88/180 done\n", + "Filling history dataframe for Adam Webster: 89/180 done\n", + "Filling history dataframe for Joël Veltman: 90/180 done\n", + "Filling history dataframe for Tariq Lamptey: 91/180 done\n", + "Filling history dataframe for Erik Pieters: 92/180 done\n", + "Filling history dataframe for Matthew Lowton: 93/180 done\n", + "Filling history dataframe for Charlie Taylor: 94/180 done\n", + "Filling history dataframe for Nathan Collins: 95/180 done\n", + "Filling history dataframe for Ethan Ampadu: 96/180 done\n", + "Filling history dataframe for James Tomkins: 97/180 done\n", + "Filling history dataframe for Cheikhou Kouyaté: 98/180 done\n", + "Filling history dataframe for Jarosław Jach: 99/180 done\n", + "Filling history dataframe for Nathan Ferguson: 100/180 done\n", + "Filling history dataframe for Tyrick Mitchell: 101/180 done\n", + "Filling history dataframe for Joel Ward: 102/180 done\n", + "Filling history dataframe for Marc Guéhi: 103/180 done\n", + "Filling history dataframe for Joachim Andersen: 104/180 done\n", + "Filling history dataframe for Nathaniel Clyne: 105/180 done\n", + "Filling history dataframe for Mason Holgate: 106/180 done\n", + "Filling history dataframe for Jonjoe Kenny: 107/180 done\n", + "Filling history dataframe for Luke Thomas: 108/180 done\n", + "Filling history dataframe for Wesley Fofana: 109/180 done\n", + "Filling history dataframe for Liam Cooper: 110/180 done\n", + "Filling history dataframe for Luke Ayling: 111/180 done\n", + "Filling history dataframe for Diego Llorente: 112/180 done\n", + "Filling history dataframe for Robin Koch: 113/180 done\n", + "Filling history dataframe for Pascal Struijk: 114/180 done\n", + "Filling history dataframe for Nathaniel Phillips: 115/180 done\n", + "Filling history dataframe for Rhys Williams: 116/180 done\n", + "Filling history dataframe for José Diogo Dalot Teixeira: 117/180 done\n", + "Filling history dataframe for Ciaran Clark: 118/180 done\n", + "Filling history dataframe for Jamaal Lascelles: 119/180 done\n", + "Filling history dataframe for Paul Dummett: 120/180 done\n", + "Filling history dataframe for Emil Krafth: 121/180 done\n", + "Filling history dataframe for Fabian Schär: 122/180 done\n", + "Filling history dataframe for Jamal Lewis: 123/180 done\n", + "Filling history dataframe for Federico Fernández: 124/180 done\n", + "Filling history dataframe for Grant Hanley: 125/180 done\n", + "Filling history dataframe for Sam Byram: 126/180 done\n", + "Filling history dataframe for Christoph Zimmermann: 127/180 done\n", + "Filling history dataframe for Max Aarons: 128/180 done\n", + "Filling history dataframe for Jacob Sørensen: 129/180 done\n", + "Filling history dataframe for Ben Gibson: 130/180 done\n", + "Filling history dataframe for Dimitris Giannoulis: 131/180 done\n", + "Filling history dataframe for Jack Stephens: 132/180 done\n", + "Filling history dataframe for Jan Bednarek: 133/180 done\n", + "Filling history dataframe for Mohammed Salisu: 134/180 done\n", + "Filling history dataframe for Eric Dier: 135/180 done\n", + "Filling history dataframe for Ben Davies: 136/180 done\n", + "Filling history dataframe for Davinson Sánchez: 137/180 done\n", + "Filling history dataframe for Ryan Sessegnon: 138/180 done\n", + "Filling history dataframe for Japhet Tanganga: 139/180 done\n", + "Filling history dataframe for Joe Rodon: 140/180 done\n", + "Filling history dataframe for Danny Rose: 141/180 done\n", + "Filling history dataframe for Craig Cathcart: 142/180 done\n", + "Filling history dataframe for Francisco Femenía Far: 143/180 done\n", + "Filling history dataframe for Christian Kabasele: 144/180 done\n", + "Filling history dataframe for William Troost-Ekong: 145/180 done\n", + "Filling history dataframe for Adam Masina: 146/180 done\n", + "Filling history dataframe for Francisco Sierralta: 147/180 done\n", + "Filling history dataframe for Jeremy Ngakia: 148/180 done\n", + "Filling history dataframe for Ben Wilmot: 149/180 done\n", + "Filling history dataframe for Ryan Fredericks: 150/180 done\n", + "Filling history dataframe for Arthur Masuaku: 151/180 done\n", + "Filling history dataframe for Issa Diop: 152/180 done\n", + "Filling history dataframe for Conor Coady: 153/180 done\n", + "Filling history dataframe for Fernando Marçal: 154/180 done\n", + "Filling history dataframe for Jonathan Castro Otto: 155/180 done\n", + "Filling history dataframe for Max Kilman: 156/180 done\n", + "Filling history dataframe for Yerson Mosquera Valdelamar: 157/180 done\n", + "Filling history dataframe for Rayan Ait Nouri: 158/180 done\n", + "Filling history dataframe for Charlie Goode: 159/180 done\n", + "Filling history dataframe for Shane Duffy: 160/180 done\n", + "Filling history dataframe for Bernardo Fernandes Da Silva Junior: 161/180 done\n", + "Filling history dataframe for Phil Bardsley: 162/180 done\n", + "Filling history dataframe for Kevin Long: 163/180 done\n", + "Filling history dataframe for Martin Kelly: 164/180 done\n", + "Filling history dataframe for Daniel Amartey: 165/180 done\n", + "Filling history dataframe for Konstantinos Tsimikas: 166/180 done\n", + "Filling history dataframe for Neco Williams: 167/180 done\n", + "Filling history dataframe for Ben Davies: 168/180 done\n", + "Filling history dataframe for Brandon Williams: 169/180 done\n", + "Filling history dataframe for Javier Manquillo: 170/180 done\n", + "Filling history dataframe for Andrew Omobamidele: 171/180 done\n", + "Filling history dataframe for Bali Mumba: 172/180 done\n", + "Filling history dataframe for Tino Livramento: 173/180 done\n", + "Filling history dataframe for Marc Navarro: 174/180 done\n", + "Filling history dataframe for Matthew Pollock: 175/180 done\n", + "Filling history dataframe for Winston Reid: 176/180 done\n", + "Filling history dataframe for Ben Johnson: 177/180 done\n", + "Filling history dataframe for Frederik Alves: 178/180 done\n", + "Filling history dataframe for Ki-Jana Hoever: 179/180 done\n", + "Alpha is [ 2.65911566 4.64218497 80.79937051]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "\r", - " 0%| | 0/4500 [00:00" ] @@ -984,7 +872,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 117, "id": "0f489bb8", "metadata": {}, "outputs": [ @@ -1017,74 +905,74 @@ " \n", " \n", " \n", - " 31\n", + " 7\n", " Danny Ings\n", - " 0.454116\n", - " 0.129237\n", - " 0.416646\n", + " 0.419006\n", + " 0.133731\n", + " 0.447263\n", " \n", " \n", - " 50\n", - " Sergio Agüero\n", - " 0.404437\n", - " 0.169283\n", - " 0.426280\n", + " 17\n", + " Chris Wood\n", + " 0.380964\n", + " 0.119381\n", + " 0.499655\n", " \n", " \n", " 0\n", " Pierre-Emerick Aubameyang\n", - " 0.403909\n", - " 0.124494\n", - " 0.471597\n", + " 0.374010\n", + " 0.128854\n", + " 0.497136\n", " \n", " \n", - " 18\n", - " Jamie Vardy\n", - " 0.390709\n", - " 0.132325\n", - " 0.476966\n", + " 19\n", + " Olivier Giroud\n", + " 0.356051\n", + " 0.157327\n", + " 0.486622\n", " \n", " \n", - " 43\n", - " Glenn Murray\n", - " 0.378511\n", - " 0.098740\n", - " 0.522748\n", + " 26\n", + " Dominic Calvert-Lewin\n", + " 0.349573\n", + " 0.140500\n", + " 0.509926\n", " \n", " \n", - " 10\n", - " Chris Wood\n", - " 0.375017\n", - " 0.111557\n", - " 0.513426\n", + " 22\n", + " Tammy Abraham\n", + " 0.349531\n", + " 0.152698\n", + " 0.497770\n", " \n", " \n", - " 14\n", - " Tammy Abraham\n", - " 0.372469\n", - " 0.157403\n", - " 0.470128\n", + " 64\n", + " Raúl Jiménez\n", + " 0.348702\n", + " 0.178484\n", + " 0.472813\n", " \n", " \n", " 37\n", - " Andre Gray\n", - " 0.371113\n", - " 0.150416\n", - " 0.478471\n", + " Anthony Martial\n", + " 0.348614\n", + " 0.201009\n", + " 0.450377\n", " \n", " \n", - " 84\n", - " Javier Hernández Balcázar\n", - " 0.361493\n", - " 0.170029\n", - " 0.468478\n", + " 51\n", + " Harry Kane\n", + " 0.348130\n", + " 0.143002\n", + " 0.508868\n", " \n", " \n", - " 17\n", - " Dominic Calvert-Lewin\n", - " 0.361457\n", - " 0.134563\n", - " 0.503980\n", + " 28\n", + " Jamie Vardy\n", + " 0.346544\n", + " 0.164212\n", + " 0.489244\n", " \n", " \n", "\n", @@ -1092,19 +980,19 @@ ], "text/plain": [ " name prob_score prob_assist prob_neither\n", - "31 Danny Ings 0.454116 0.129237 0.416646\n", - "50 Sergio Agüero 0.404437 0.169283 0.426280\n", - "0 Pierre-Emerick Aubameyang 0.403909 0.124494 0.471597\n", - "18 Jamie Vardy 0.390709 0.132325 0.476966\n", - "43 Glenn Murray 0.378511 0.098740 0.522748\n", - "10 Chris Wood 0.375017 0.111557 0.513426\n", - "14 Tammy Abraham 0.372469 0.157403 0.470128\n", - "37 Andre Gray 0.371113 0.150416 0.478471\n", - "84 Javier Hernández Balcázar 0.361493 0.170029 0.468478\n", - "17 Dominic Calvert-Lewin 0.361457 0.134563 0.503980" + "7 Danny Ings 0.419006 0.133731 0.447263\n", + "17 Chris Wood 0.380964 0.119381 0.499655\n", + "0 Pierre-Emerick Aubameyang 0.374010 0.128854 0.497136\n", + "19 Olivier Giroud 0.356051 0.157327 0.486622\n", + "26 Dominic Calvert-Lewin 0.349573 0.140500 0.509926\n", + "22 Tammy Abraham 0.349531 0.152698 0.497770\n", + "64 Raúl Jiménez 0.348702 0.178484 0.472813\n", + "37 Anthony Martial 0.348614 0.201009 0.450377\n", + "51 Harry Kane 0.348130 0.143002 0.508868\n", + "28 Jamie Vardy 0.346544 0.164212 0.489244" ] }, - "execution_count": 31, + "execution_count": 117, "metadata": {}, "output_type": "execute_result" } @@ -1115,7 +1003,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 118, "id": "baf0899a", "metadata": {}, "outputs": [ @@ -1148,94 +1036,94 @@ " \n", " \n", " \n", - " 87\n", - " Anthony Martial\n", - " 0.291641\n", - " 0.137793\n", - " 0.570566\n", - " \n", - " \n", - " 51\n", - " Richarlison de Andrade\n", - " 0.267265\n", - " 0.125991\n", - " 0.606744\n", + " 115\n", + " Mohamed Salah\n", + " 0.263217\n", + " 0.135257\n", + " 0.601525\n", " \n", " \n", - " 68\n", + " 113\n", " Sadio Mané\n", - " 0.266684\n", - " 0.112245\n", - " 0.621070\n", + " 0.247171\n", + " 0.134980\n", + " 0.617849\n", " \n", " \n", - " 70\n", - " Mohamed Salah\n", - " 0.255693\n", - " 0.137096\n", - " 0.607211\n", + " 118\n", + " Diogo Jota\n", + " 0.246123\n", + " 0.144510\n", + " 0.609367\n", " \n", " \n", - " 117\n", + " 178\n", " Heung-Min Son\n", - " 0.243224\n", - " 0.207806\n", - " 0.548970\n", + " 0.236003\n", + " 0.197724\n", + " 0.566273\n", " \n", " \n", - " 59\n", - " Ayoze Pérez\n", - " 0.239872\n", - " 0.122262\n", - " 0.637865\n", + " 138\n", + " Marcus Rashford\n", + " 0.233239\n", + " 0.172716\n", + " 0.594045\n", + " \n", + " \n", + " 137\n", + " Bruno Miguel Borges Fernandes\n", + " 0.215141\n", + " 0.189257\n", + " 0.595602\n", " \n", " \n", - " 77\n", + " 125\n", " Raheem Sterling\n", - " 0.217615\n", - " 0.145721\n", - " 0.636664\n", + " 0.213007\n", + " 0.147724\n", + " 0.639269\n", " \n", " \n", - " 119\n", - " Lucas Rodrigues Moura da Silva\n", - " 0.203099\n", - " 0.109238\n", - " 0.687663\n", + " 91\n", + " Ayoze Pérez\n", + " 0.212885\n", + " 0.117487\n", + " 0.669628\n", " \n", " \n", - " 171\n", - " Harry Wilson\n", - " 0.202940\n", - " 0.105086\n", - " 0.691974\n", + " 142\n", + " Mason Greenwood\n", + " 0.206455\n", + " 0.095866\n", + " 0.697679\n", " \n", " \n", - " 120\n", - " Bamidele Alli\n", - " 0.200694\n", - " 0.168622\n", - " 0.630684\n", + " 19\n", + " Anwar El Ghazi\n", + " 0.194924\n", + " 0.118159\n", + " 0.686917\n", " \n", " \n", "\n", "" ], "text/plain": [ - " name prob_score prob_assist prob_neither\n", - "87 Anthony Martial 0.291641 0.137793 0.570566\n", - "51 Richarlison de Andrade 0.267265 0.125991 0.606744\n", - "68 Sadio Mané 0.266684 0.112245 0.621070\n", - "70 Mohamed Salah 0.255693 0.137096 0.607211\n", - "117 Heung-Min Son 0.243224 0.207806 0.548970\n", - "59 Ayoze Pérez 0.239872 0.122262 0.637865\n", - "77 Raheem Sterling 0.217615 0.145721 0.636664\n", - "119 Lucas Rodrigues Moura da Silva 0.203099 0.109238 0.687663\n", - "171 Harry Wilson 0.202940 0.105086 0.691974\n", - "120 Bamidele Alli 0.200694 0.168622 0.630684" + " name prob_score prob_assist prob_neither\n", + "115 Mohamed Salah 0.263217 0.135257 0.601525\n", + "113 Sadio Mané 0.247171 0.134980 0.617849\n", + "118 Diogo Jota 0.246123 0.144510 0.609367\n", + "178 Heung-Min Son 0.236003 0.197724 0.566273\n", + "138 Marcus Rashford 0.233239 0.172716 0.594045\n", + "137 Bruno Miguel Borges Fernandes 0.215141 0.189257 0.595602\n", + "125 Raheem Sterling 0.213007 0.147724 0.639269\n", + "91 Ayoze Pérez 0.212885 0.117487 0.669628\n", + "142 Mason Greenwood 0.206455 0.095866 0.697679\n", + "19 Anwar El Ghazi 0.194924 0.118159 0.686917" ] }, - "execution_count": 32, + "execution_count": 118, "metadata": {}, "output_type": "execute_result" } @@ -1251,13 +1139,1044 @@ "metadata": {}, "outputs": [], "source": [] + }, + { + "cell_type": "code", + "execution_count": 119, + "id": "ec1c38a6", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Filling history dataframe for Harry Kane: 0/67 done\n", + "Filling history dataframe for Jamie Vardy: 1/67 done\n", + "Filling history dataframe for Pierre-Emerick Aubameyang: 2/67 done\n", + "Filling history dataframe for Timo Werner: 3/67 done\n", + "Filling history dataframe for Roberto Firmino: 4/67 done\n", + "Filling history dataframe for Alexandre Lacazette: 5/67 done\n", + "Filling history dataframe for Gabriel Fernando de Jesus: 6/67 done\n", + "Filling history dataframe for Edinson Cavani: 7/67 done\n", + "Filling history dataframe for Danny Ings: 8/67 done\n", + "Filling history dataframe for Dominic Calvert-Lewin: 9/67 done\n", + "Filling history dataframe for Patrick Bamford: 10/67 done\n", + "Filling history dataframe for Anthony Martial: 11/67 done\n", + "Filling history dataframe for Ollie Watkins: 12/67 done\n", + "Filling history dataframe for Richarlison de Andrade: 13/67 done\n", + "Filling history dataframe for Kelechi Iheanacho: 14/67 done\n", + "Filling history dataframe for Patson Daka: 15/67 done\n", + "Filling history dataframe for Callum Wilson: 16/67 done\n", + "Filling history dataframe for Michail Antonio: 17/67 done\n", + "Filling history dataframe for Raúl Jiménez: 18/67 done\n", + "Filling history dataframe for Chris Wood: 19/67 done\n", + "Filling history dataframe for Che Adams: 20/67 done\n", + "Filling history dataframe for Ivan Toney: 21/67 done\n", + "Filling history dataframe for Neal Maupay: 22/67 done\n", + "Filling history dataframe for Olivier Giroud: 23/67 done\n", + "Filling history dataframe for Tammy Abraham: 24/67 done\n", + "Filling history dataframe for Christian Benteke: 25/67 done\n", + "Filling history dataframe for Rodrigo Moreno: 26/67 done\n", + "Filling history dataframe for Allan Saint-Maximin: 27/67 done\n", + "Filling history dataframe for Danny Welbeck: 28/67 done\n", + "Filling history dataframe for Jordan Ayew: 29/67 done\n", + "Filling history dataframe for Joelinton Cássio Apolinário de Lira: 30/67 done\n", + "Filling history dataframe for Teemu Pukki: 31/67 done\n", + "Filling history dataframe for Fabio Silva: 32/67 done\n", + "Filling history dataframe for Edward Nketiah: 33/67 done\n", + "Filling history dataframe for Wesley Moraes: 34/67 done\n", + "Filling history dataframe for Mbwana Ally Samatta: 35/67 done\n", + "Filling history dataframe for Marcus Forss: 36/67 done\n", + "Filling history dataframe for Halil Dervişoğlu: 37/67 done\n", + "Filling history dataframe for Aaron Connolly: 38/67 done\n", + "Filling history dataframe for Jay Rodriguez: 39/67 done\n", + "Filling history dataframe for Ashley Barnes: 40/67 done\n", + "Filling history dataframe for Matej Vydra: 41/67 done\n", + "Filling history dataframe for Michy Batshuayi: 42/67 done\n", + "Filling history dataframe for Jean-Philippe Mateta: 43/67 done\n", + "Filling history dataframe for Dwight Gayle: 44/67 done\n", + "Filling history dataframe for Jordan Hugill: 45/67 done\n", + "Filling history dataframe for Joshua Sargent: 46/67 done\n", + "Filling history dataframe for Shane Long: 47/67 done\n", + "Filling history dataframe for Troy Deeney: 48/67 done\n", + "Filling history dataframe for Andre Gray: 49/67 done\n", + "Filling history dataframe for João Pedro Junqueira de Jesus: 50/67 done\n", + "Filling history dataframe for Joshua King: 51/67 done\n", + "Filling history dataframe for Florin Andone: 52/67 done\n", + "Filling history dataframe for Divock Origi: 53/67 done\n", + "Filling history dataframe for Adam Idah: 54/67 done\n", + "Filling history dataframe for Armando Broja: 55/67 done\n", + "Filling history dataframe for Isaac Success Ajayi: 56/67 done\n", + "Filling history dataframe for Ashley Fletcher: 57/67 done\n", + "Filling history dataframe for Emmanuel Dennis: 58/67 done\n", + "Filling history dataframe for Juan Camilo Hernández Suárez: 59/67 done\n", + "Filling history dataframe for Patrick Cutrone: 60/67 done\n", + "Filling history dataframe for Keinan Davis: 61/67 done\n", + "Filling history dataframe for Daniel N'Lundulu: 62/67 done\n", + "Filling history dataframe for Michael Obafemi: 63/67 done\n", + "Filling history dataframe for Dane Scarlett: 64/67 done\n", + "Filling history dataframe for Stipe Perica: 65/67 done\n", + "Filling history dataframe for Adedapo Awokoya-Mebude: 66/67 done\n", + "Alpha is [24.55477665 12.03720926 47.90801409]\n" + ] + } + ], + "source": [ + "data_fwd = get_player_data(\"FWD\", CURRENT_SEASON, NEXT_GAMEWEEK)" + ] + }, + { + "cell_type": "code", + "execution_count": 120, + "id": "aa59a2fa", + "metadata": {}, + "outputs": [], + "source": [ + "from scipy.stats import dirichlet\n", + "\n", + "prior = dirichlet(data_fwd[\"alpha\"])\n", + "sample = prior.rvs(1000)" + ] + }, + { + "cell_type": "code", + "execution_count": 121, + "id": "bdbd48ff", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'p_neither')" + ] + }, + "execution_count": 121, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "%matplotlib inline\n", + "\n", + "fig, ax = plt.subplots(1, 3, figsize=(15, 5), sharex=True, sharey=True)\n", + "ax[0].hist(sample[:, 0])\n", + "ax[0].set_title(\"p_score\")\n", + "ax[1].hist(sample[:, 1])\n", + "ax[1].set_title(\"p_assist\")\n", + "ax[2].hist(sample[:, 2])\n", + "ax[2].set_title(\"p_neither\")" + ] + }, + { + "cell_type": "code", + "execution_count": 147, + "id": "b1943809", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Filling history dataframe for Harry Kane: 0/67 done\n", + "Filling history dataframe for Jamie Vardy: 1/67 done\n", + "Filling history dataframe for Pierre-Emerick Aubameyang: 2/67 done\n", + "Filling history dataframe for Timo Werner: 3/67 done\n", + "Filling history dataframe for Roberto Firmino: 4/67 done\n", + "Filling history dataframe for Alexandre Lacazette: 5/67 done\n", + "Filling history dataframe for Gabriel Fernando de Jesus: 6/67 done\n", + "Filling history dataframe for Edinson Cavani: 7/67 done\n", + "Filling history dataframe for Danny Ings: 8/67 done\n", + "Filling history dataframe for Dominic Calvert-Lewin: 9/67 done\n", + "Filling history dataframe for Patrick Bamford: 10/67 done\n", + "Filling history dataframe for Anthony Martial: 11/67 done\n", + "Filling history dataframe for Ollie Watkins: 12/67 done\n", + "Filling history dataframe for Richarlison de Andrade: 13/67 done\n", + "Filling history dataframe for Kelechi Iheanacho: 14/67 done\n", + "Filling history dataframe for Patson Daka: 15/67 done\n", + "Filling history dataframe for Callum Wilson: 16/67 done\n", + "Filling history dataframe for Michail Antonio: 17/67 done\n", + "Filling history dataframe for Raúl Jiménez: 18/67 done\n", + "Filling history dataframe for Chris Wood: 19/67 done\n", + "Filling history dataframe for Che Adams: 20/67 done\n", + "Filling history dataframe for Ivan Toney: 21/67 done\n", + "Filling history dataframe for Neal Maupay: 22/67 done\n", + "Filling history dataframe for Olivier Giroud: 23/67 done\n", + "Filling history dataframe for Tammy Abraham: 24/67 done\n", + "Filling history dataframe for Christian Benteke: 25/67 done\n", + "Filling history dataframe for Rodrigo Moreno: 26/67 done\n", + "Filling history dataframe for Allan Saint-Maximin: 27/67 done\n", + "Filling history dataframe for Danny Welbeck: 28/67 done\n", + "Filling history dataframe for Jordan Ayew: 29/67 done\n", + "Filling history dataframe for Joelinton Cássio Apolinário de Lira: 30/67 done\n", + "Filling history dataframe for Teemu Pukki: 31/67 done\n", + "Filling history dataframe for Fabio Silva: 32/67 done\n", + "Filling history dataframe for Edward Nketiah: 33/67 done\n", + "Filling history dataframe for Wesley Moraes: 34/67 done\n", + "Filling history dataframe for Mbwana Ally Samatta: 35/67 done\n", + "Filling history dataframe for Marcus Forss: 36/67 done\n", + "Filling history dataframe for Halil Dervişoğlu: 37/67 done\n", + "Filling history dataframe for Aaron Connolly: 38/67 done\n", + "Filling history dataframe for Jay Rodriguez: 39/67 done\n", + "Filling history dataframe for Ashley Barnes: 40/67 done\n", + "Filling history dataframe for Matej Vydra: 41/67 done\n", + "Filling history dataframe for Michy Batshuayi: 42/67 done\n", + "Filling history dataframe for Jean-Philippe Mateta: 43/67 done\n", + "Filling history dataframe for Dwight Gayle: 44/67 done\n", + "Filling history dataframe for Jordan Hugill: 45/67 done\n", + "Filling history dataframe for Joshua Sargent: 46/67 done\n", + "Filling history dataframe for Shane Long: 47/67 done\n", + "Filling history dataframe for Troy Deeney: 48/67 done\n", + "Filling history dataframe for Andre Gray: 49/67 done\n", + "Filling history dataframe for João Pedro Junqueira de Jesus: 50/67 done\n", + "Filling history dataframe for Joshua King: 51/67 done\n", + "Filling history dataframe for Florin Andone: 52/67 done\n", + "Filling history dataframe for Divock Origi: 53/67 done\n", + "Filling history dataframe for Adam Idah: 54/67 done\n", + "Filling history dataframe for Armando Broja: 55/67 done\n", + "Filling history dataframe for Isaac Success Ajayi: 56/67 done\n", + "Filling history dataframe for Ashley Fletcher: 57/67 done\n", + "Filling history dataframe for Emmanuel Dennis: 58/67 done\n", + "Filling history dataframe for Juan Camilo Hernández Suárez: 59/67 done\n", + "Filling history dataframe for Patrick Cutrone: 60/67 done\n", + "Filling history dataframe for Keinan Davis: 61/67 done\n", + "Filling history dataframe for Daniel N'Lundulu: 62/67 done\n", + "Filling history dataframe for Michael Obafemi: 63/67 done\n", + "Filling history dataframe for Dane Scarlett: 64/67 done\n", + "Filling history dataframe for Stipe Perica: 65/67 done\n", + "Filling history dataframe for Adedapo Awokoya-Mebude: 66/67 done\n", + "Pierre-Emerick Aubameyang\n", + "Alpha is [41.92280325 11.64522313 60.43197362]\n", + "[41.92280325 11.64522313 60.43197362]\n", + "Alexandre Lacazette\n", + "Alpha is [36.43990584 22.26883135 55.29126281]\n", + "[36.43990584 22.26883135 55.29126281]\n", + "Edward Nketiah\n", + "Alpha is [27.24634455 5.44926891 70.30438654]\n", + "[27.24634455 5.44926891 70.30438654]\n", + "Ollie Watkins\n", + "Alpha is [ 9.94012238 6.39007867 21.66979895]\n", + "[ 9.94012238 6.39007867 21.66979895]\n", + "Wesley Moraes\n", + "Alpha is [15.06677796 3.01335559 57.91986644]\n", + "[15.06677796 3.01335559 57.91986644]\n", + "Mbwana Ally Samatta\n", + "Alpha is [nan nan nan]\n", + "[nan nan nan]\n", + "Keinan Davis\n", + "Alpha is [ 6.77722153 13.55444305 55.66833542]\n", + "[ 6.77722153 13.55444305 55.66833542]\n", + "Danny Ings\n", + "Alpha is [50.64200071 11.11653674 52.24146255]\n", + "[50.64200071 11.11653674 52.24146255]\n", + "Ivan Toney\n", + "Alpha is [nan nan nan]\n", + "[nan nan nan]\n", + "Marcus Forss\n", + "Alpha is [nan nan nan]\n", + "[nan nan nan]\n", + "Halil Dervişoğlu\n", + "Alpha is [nan nan nan]\n", + "[nan nan nan]\n", + "Neal Maupay\n", + "Alpha is [22.47098406 6.24194002 47.28707593]\n", + "[22.47098406 6.24194002 47.28707593]\n", + "Aaron Connolly\n", + "Alpha is [15.72749631 12.58199705 44.69050664]\n", + "[15.72749631 12.58199705 44.69050664]\n", + "Danny Welbeck\n", + "Alpha is [27.49602857 18.33068571 63.17328571]\n", + "[27.49602857 18.33068571 63.17328571]\n", + "Florin Andone\n", + "Alpha is [43.79935966 0. 70.20064034]\n", + "[43.79935966 0. 70.20064034]\n", + "Jay Rodriguez\n", + "Alpha is [18.94153846 10.52307692 46.53538462]\n", + "[18.94153846 10.52307692 46.53538462]\n", + "Ashley Barnes\n", + "Alpha is [40.18119 5.74017 68.07864]\n", + "[40.18119 5.74017 68.07864]\n", + "Chris Wood\n", + "Alpha is [44.86168185 8.7231048 60.41521335]\n", + "[44.86168185 8.7231048 60.41521335]\n", + "Matej Vydra\n", + "Alpha is [23.42434478 15.61622986 74.95942536]\n", + "[23.42434478 15.61622986 74.95942536]\n", + "Olivier Giroud\n", + "Alpha is [33.71830986 12.04225352 68.23943662]\n", + "[33.71830986 12.04225352 68.23943662]\n", + "Michy Batshuayi\n", + "Alpha is [25.20387393 15.75242121 49.04370487]\n", + "[25.20387393 15.75242121 49.04370487]\n", + "Timo Werner\n", + "Alpha is [ 5.1748029 10.3496058 22.4755913]\n", + "[ 5.1748029 10.3496058 22.4755913]\n", + "Tammy Abraham\n", + "Alpha is [39.93697868 15.21408712 58.8489342 ]\n", + "[39.93697868 15.21408712 58.8489342 ]\n", + "Christian Benteke\n", + "Alpha is [31.96805994 9.83632614 72.19561392]\n", + "[31.96805994 9.83632614 72.19561392]\n", + "Jordan Ayew\n", + "Alpha is [16.31855713 14.83505194 82.84639093]\n", + "[16.31855713 14.83505194 82.84639093]\n", + "Jean-Philippe Mateta\n", + "Alpha is [ 7.95348837 0. 11.04651163]\n", + "[ 7.95348837 0. 11.04651163]\n", + "Dominic Calvert-Lewin\n", + "Alpha is [38.88264654 13.3311931 61.78616036]\n", + "[38.88264654 13.3311931 61.78616036]\n", + "Richarlison de Andrade\n", + "Alpha is [30.97439272 13.14065146 69.88495582]\n", + "[30.97439272 13.14065146 69.88495582]\n", + "Jamie Vardy\n", + "Alpha is [40.96669118 19.02024948 54.01305934]\n", + "[40.96669118 19.02024948 54.01305934]\n", + "Kelechi Iheanacho\n", + "Alpha is [34.00149226 20.77868972 59.21981802]\n", + "[34.00149226 20.77868972 59.21981802]\n", + "Patson Daka\n", + "Alpha is [nan nan nan]\n", + "[nan nan nan]\n", + "Rodrigo Moreno\n", + "Alpha is [11.47216828 6.55552473 19.97230699]\n", + "[11.47216828 6.55552473 19.97230699]\n", + "Patrick Bamford\n", + "Alpha is [11.67568596 7.55485562 18.76945842]\n", + "[11.67568596 7.55485562 18.76945842]\n", + "Roberto Firmino\n", + "Alpha is [17.204164 14.33680334 82.45903266]\n", + "[17.204164 14.33680334 82.45903266]\n", + "Divock Origi\n", + "Alpha is [25.08737919 14.33564525 66.57697556]\n", + "[25.08737919 14.33564525 66.57697556]\n", + "Gabriel Fernando de Jesus\n", + "Alpha is [24.61570839 13.12837781 76.2559138 ]\n", + "[24.61570839 13.12837781 76.2559138 ]\n", + "Edinson Cavani\n", + "Alpha is [11.88653614 4.75461446 18.3588494 ]\n", + "[11.88653614 4.75461446 18.3588494 ]\n", + "Anthony Martial\n", + "Alpha is [31.1005095 20.06484484 62.83464567]\n", + "[31.1005095 20.06484484 62.83464567]\n", + "Callum Wilson\n", + "Alpha is [37.26608754 26.30547356 50.4284389 ]\n", + "[37.26608754 26.30547356 50.4284389 ]\n", + "Dwight Gayle\n", + "Alpha is [31.44446615 18.86667969 56.68885417]\n", + "[31.44446615 18.86667969 56.68885417]\n", + "Allan Saint-Maximin\n", + "Alpha is [10.87622395 18.12703992 46.99673613]\n", + "[10.87622395 18.12703992 46.99673613]\n", + "Joelinton Cássio Apolinário de Lira\n", + "Alpha is [ 7.97325071 5.31550048 62.71124881]\n", + "[ 7.97325071 5.31550048 62.71124881]\n", + "Teemu Pukki\n", + "Alpha is [19.06486717 5.19950923 13.7356236 ]\n", + "[19.06486717 5.19950923 13.7356236 ]\n", + "Jordan Hugill\n", + "Alpha is [nan nan nan]\n", + "[nan nan nan]\n", + "Adam Idah\n", + "Alpha is [ 0. 0. 34.]\n", + "[ 0. 0. 34.]\n", + "Joshua Sargent\n", + "Alpha is [nan nan nan]\n", + "[nan nan nan]\n", + "Daniel N'Lundulu\n", + "Alpha is [ 0. 0. 68.]\n", + "[ 0. 0. 68.]\n", + "Che Adams\n", + "Alpha is [18.35463597 15.53084582 42.11451821]\n", + "[18.35463597 15.53084582 42.11451821]\n", + "Michael Obafemi\n", + "Alpha is [33.59527877 25.19645908 45.20826215]\n", + "[33.59527877 25.19645908 45.20826215]\n", + "Armando Broja\n", + "Alpha is [ 0. 0. 10.]\n", + "[ 0. 0. 10.]\n", + "Shane Long\n", + "Alpha is [20.11067963 14.36477116 79.52454921]\n", + "[20.11067963 14.36477116 79.52454921]\n", + "Harry Kane\n", + "Alpha is [42.76228801 16.22017821 55.01753377]\n", + "[42.76228801 16.22017821 55.01753377]\n", + "Dane Scarlett\n", + "Alpha is [ 0. 0. 17.]\n", + "[ 0. 0. 17.]\n", + "Troy Deeney\n", + "Alpha is [23.54976538 8.67622935 43.77400526]\n", + "[23.54976538 8.67622935 43.77400526]\n", + "Andre Gray\n", + "Alpha is [25.40155497 8.46718499 42.13126004]\n", + "[25.40155497 8.46718499 42.13126004]\n", + "Stipe Perica\n", + "Alpha is [nan nan nan]\n", + "[nan nan nan]\n", + "Isaac Success Ajayi\n", + "Alpha is [ 5.38002981 5.38002981 65.23994039]\n", + "[ 5.38002981 5.38002981 65.23994039]\n", + "Ashley Fletcher\n", + "Alpha is [nan nan nan]\n", + "[nan nan nan]\n", + "João Pedro Junqueira de Jesus\n", + "Alpha is [ 0. 0. 17.]\n", + "[ 0. 0. 17.]\n", + "Emmanuel Dennis\n", + "Alpha is [nan nan nan]\n", + "[nan nan nan]\n", + "Joshua King\n", + "Alpha is [25.0929368 11.15241636 58.75464684]\n", + "[25.0929368 11.15241636 58.75464684]\n", + "Adedapo Awokoya-Mebude\n", + "Alpha is [nan nan nan]\n", + "[nan nan nan]\n", + "Juan Camilo Hernández Suárez\n", + "Alpha is [nan nan nan]\n", + "[nan nan nan]\n", + "Michail Antonio\n", + "Alpha is [31.99045671 20.91683708 61.0927062 ]\n", + "[31.99045671 20.91683708 61.0927062 ]\n", + "Raúl Jiménez\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:478: RuntimeWarning: invalid value encountered in long_scalars\n", + " a0 = neff * (goals / team) * (total_minutes / minutes)\n", + "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:479: RuntimeWarning: invalid value encountered in long_scalars\n", + " a1 = neff * (assists / team) * (total_minutes / minutes)\n", + "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:483: RuntimeWarning: invalid value encountered in long_scalars\n", + " * (total_minutes / minutes)\n", + "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:478: RuntimeWarning: divide by zero encountered in long_scalars\n", + " a0 = neff * (goals / team) * (total_minutes / minutes)\n", + "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:478: RuntimeWarning: invalid value encountered in double_scalars\n", + " a0 = neff * (goals / team) * (total_minutes / minutes)\n", + "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:479: RuntimeWarning: divide by zero encountered in long_scalars\n", + " a1 = neff * (assists / team) * (total_minutes / minutes)\n", + "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:479: RuntimeWarning: invalid value encountered in double_scalars\n", + " a1 = neff * (assists / team) * (total_minutes / minutes)\n", + "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:483: RuntimeWarning: divide by zero encountered in long_scalars\n", + " * (total_minutes / minutes)\n", + "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:483: RuntimeWarning: invalid value encountered in double_scalars\n", + " * (total_minutes / minutes)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Alpha is [41.35074939 21.89157321 50.75767741]\n", + "[41.35074939 21.89157321 50.75767741]\n", + "Fabio Silva\n", + "Alpha is [10.68047337 8.01035503 19.3091716 ]\n", + "[10.68047337 8.01035503 19.3091716 ]\n", + "Patrick Cutrone\n", + "Alpha is [28.82815735 0. 30.17184265]\n", + "[28.82815735 0. 30.17184265]\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
emp_scoreemp_assistemp_neithername
40.3677440.1021510.530105Pierre-Emerick Aubameyang
60.3196480.1953410.485011Alexandre Lacazette
200.2645280.0529060.682567Edward Nketiah
420.2615820.1681600.570258Ollie Watkins
490.1982470.0396490.762104Wesley Moraes
...............
473NaNNaNNaNJuan Camilo Hernández Suárez
4820.2806180.1834810.535901Michail Antonio
5020.3627260.1920310.445243Raúl Jiménez
5170.2810650.2107990.508136Fabio Silva
5230.4886130.0000000.511387Patrick Cutrone
\n", + "

67 rows × 4 columns

\n", + "
" + ], + "text/plain": [ + " emp_score emp_assist emp_neither name\n", + "4 0.367744 0.102151 0.530105 Pierre-Emerick Aubameyang\n", + "6 0.319648 0.195341 0.485011 Alexandre Lacazette\n", + "20 0.264528 0.052906 0.682567 Edward Nketiah\n", + "42 0.261582 0.168160 0.570258 Ollie Watkins\n", + "49 0.198247 0.039649 0.762104 Wesley Moraes\n", + ".. ... ... ... ...\n", + "473 NaN NaN NaN Juan Camilo Hernández Suárez\n", + "482 0.280618 0.183481 0.535901 Michail Antonio\n", + "502 0.362726 0.192031 0.445243 Raúl Jiménez\n", + "517 0.281065 0.210799 0.508136 Fabio Silva\n", + "523 0.488613 0.000000 0.511387 Patrick Cutrone\n", + "\n", + "[67 rows x 4 columns]" + ] + }, + "execution_count": 147, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from airsenal.framework.prediction_utils import get_empirical_bayes_estimates, get_player_history_df\n", + "\n", + "df = get_player_history_df(\n", + " \"FWD\", season=CURRENT_SEASON, gameweek=NEXT_GAMEWEEK\n", + ")\n", + "df[\"neither\"] = df[\"team_goals\"] - df[\"goals\"] - df[\"assists\"]\n", + "df.loc[(df[\"neither\"] < 0), [\"neither\", \"team_goals\", \"goals\", \"assists\"]] = [\n", + " 0.0,\n", + " 0.0,\n", + " 0.0,\n", + " 0.0,\n", + "]\n", + "\n", + "emp_fwd = {}\n", + "for idx, data in df.groupby(\"player_id\"):\n", + " print(data[\"player_name\"].iloc[0])\n", + " alpha = get_empirical_bayes_estimates(data)\n", + " emp_fwd[idx] = alpha / alpha.sum()\n", + "\n", + "emp_fwd = pd.DataFrame(emp_fwd).T\n", + "emp_fwd.columns = [\"emp_score\", \"emp_assist\", \"emp_neither\"]\n", + "emp_fwd[\"name\"] = [get_player(idx).name for idx in emp_fwd.index]\n", + "emp_fwd" + ] + }, + { + "cell_type": "code", + "execution_count": 131, + "id": "1233b2a7", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
emp_scoreemp_assistemp_neithername
40.3677440.1021510.530105Pierre-Emerick Aubameyang
60.3196480.1953410.485011Alexandre Lacazette
200.2645280.0529060.682567Edward Nketiah
420.2615820.1681600.570258Ollie Watkins
490.1982470.0396490.762104Wesley Moraes
...............
473NaNNaNNaNJuan Camilo Hernández Suárez
4820.2806180.1834810.535901Michail Antonio
5020.3627260.1920310.445243Raúl Jiménez
5170.2810650.2107990.508136Fabio Silva
5230.4886130.0000000.511387Patrick Cutrone
\n", + "

67 rows × 4 columns

\n", + "
" + ], + "text/plain": [ + " emp_score emp_assist emp_neither name\n", + "4 0.367744 0.102151 0.530105 Pierre-Emerick Aubameyang\n", + "6 0.319648 0.195341 0.485011 Alexandre Lacazette\n", + "20 0.264528 0.052906 0.682567 Edward Nketiah\n", + "42 0.261582 0.168160 0.570258 Ollie Watkins\n", + "49 0.198247 0.039649 0.762104 Wesley Moraes\n", + ".. ... ... ... ...\n", + "473 NaN NaN NaN Juan Camilo Hernández Suárez\n", + "482 0.280618 0.183481 0.535901 Michail Antonio\n", + "502 0.362726 0.192031 0.445243 Raúl Jiménez\n", + "517 0.281065 0.210799 0.508136 Fabio Silva\n", + "523 0.488613 0.000000 0.511387 Patrick Cutrone\n", + "\n", + "[67 rows x 4 columns]" + ] + }, + "execution_count": 131, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "emp_fwd" + ] + }, + { + "cell_type": "code", + "execution_count": 128, + "id": "52b93d5d", + "metadata": {}, + "outputs": [], + "source": [ + "df_fit = pd.merge(df_fwd, emp_fwd, on=\"name\", how=\"inner\")\n", + "df_fit.set_index(\"name\", inplace=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 130, + "id": "24b3a156", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "name\n", + "Patrick Cutrone -0.181681\n", + "Teemu Pukki -0.169515\n", + "Jean-Philippe Mateta -0.119288\n", + "Florin Andone -0.063258\n", + "Harry Kane -0.026978\n", + "Danny Ings -0.025222\n", + "Callum Wilson -0.015650\n", + "Edinson Cavani -0.015516\n", + "Troy Deeney -0.014102\n", + "Raúl Jiménez -0.014023\n", + "Jamie Vardy -0.012813\n", + "Chris Wood -0.012560\n", + "Michael Obafemi -0.011537\n", + "Ashley Barnes -0.011489\n", + "Tammy Abraham -0.000793\n", + "Andre Gray 0.005105\n", + "Pierre-Emerick Aubameyang 0.006266\n", + "Neal Maupay 0.008024\n", + "Dominic Calvert-Lewin 0.008498\n", + "Rodrigo Moreno 0.013557\n", + "Ollie Watkins 0.016160\n", + "Dwight Gayle 0.018778\n", + "Fabio Silva 0.019613\n", + "Patrick Bamford 0.020544\n", + "Alexandre Lacazette 0.021578\n", + "Kelechi Iheanacho 0.026609\n", + "Joshua King 0.031295\n", + "Christian Benteke 0.042877\n", + "Michy Batshuayi 0.043943\n", + "Michail Antonio 0.044173\n", + "Edward Nketiah 0.051547\n", + "Che Adams 0.055375\n", + "Jay Rodriguez 0.056963\n", + "Richarlison de Andrade 0.058117\n", + "Olivier Giroud 0.060276\n", + "Gabriel Fernando de Jesus 0.067389\n", + "Danny Welbeck 0.071717\n", + "Anthony Martial 0.075803\n", + "Divock Origi 0.079062\n", + "Wesley Moraes 0.081430\n", + "Aaron Connolly 0.091502\n", + "Roberto Firmino 0.098241\n", + "Timo Werner 0.098386\n", + "Matej Vydra 0.106739\n", + "Allan Saint-Maximin 0.129643\n", + "Shane Long 0.137672\n", + "Jordan Ayew 0.148273\n", + "Joelinton Cássio Apolinário de Lira 0.176016\n", + "Keinan Davis 0.204378\n", + "Isaac Success Ajayi 0.217033\n", + "Adam Idah 0.290042\n", + "Armando Broja 0.290129\n", + "Daniel N'Lundulu 0.290179\n", + "Dane Scarlett 0.290259\n", + "João Pedro Junqueira de Jesus 0.290580\n", + "dtype: float64" + ] + }, + "execution_count": 130, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "(df_fit[\"prob_score\"] - df_fit[\"emp_score\"]).dropna().sort_values()" + ] + }, + { + "cell_type": "code", + "execution_count": 143, + "id": "78655917", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Player Posterior p_neither')" + ] + }, + "execution_count": 143, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(3, 3, figsize=(15, 9), sharex=True, sharey=False)\n", + "ax[0, 0].hist(emp_fwd[\"emp_score\"])\n", + "ax[0, 0].set_title(\"Player Empirical p_score\")\n", + "ax[0, 1].hist(emp_fwd[\"emp_assist\"])\n", + "ax[0, 1].set_title(\"Player Empirical p_assist\")\n", + "ax[0, 2].hist(emp_fwd[\"emp_neither\"])\n", + "ax[0, 2].set_title(\"Player Empirical p_neither\")\n", + "\n", + "ax[1, 0].hist(sample[:, 0])\n", + "ax[1, 0].set_title(\"FWD Prior p_score\")\n", + "ax[1, 1].hist(sample[:, 1])\n", + "ax[1, 1].set_title(\"FWD Prior p_assist\")\n", + "ax[1, 2].hist(sample[:, 2])\n", + "ax[1, 2].set_title(\"FWD Prior p_neither\")\n", + "\n", + "ax[2, 0].hist(df_fwd[\"prob_score\"])\n", + "ax[2, 0].set_title(\"Player Posterior p_score\")\n", + "ax[2, 1].hist(df_fwd[\"prob_assist\"])\n", + "ax[2, 1].set_title(\"Player Posterior p_assist\")\n", + "ax[2, 2].hist(df_fwd[\"prob_neither\"])\n", + "ax[2, 2].set_title(\"Player Posterior p_neither\")" + ] + }, + { + "cell_type": "code", + "execution_count": 141, + "id": "8fae0bc1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "count 55.000000\n", + "mean 0.257673\n", + "std 0.122412\n", + "min 0.000000\n", + "25% 0.201862\n", + "50% 0.280422\n", + "75% 0.336923\n", + "max 0.501707\n", + "Name: emp_score, dtype: float64" + ] + }, + "execution_count": 141, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# empirical\n", + "emp_fwd[\"emp_score\"].describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 142, + "id": "0210efb4", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "0.29018462865084715 0.04744173568690675\n" + ] + } + ], + "source": [ + "# prior\n", + "print(sample[:, 0].mean(), sample[:, 0].std())" + ] + }, + { + "cell_type": "code", + "execution_count": 140, + "id": "ff256e66", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "count 67.000000\n", + "mean 0.310563\n", + "std 0.030214\n", + "min 0.234565\n", + "25% 0.290497\n", + "50% 0.306193\n", + "75% 0.324829\n", + "max 0.419006\n", + "Name: prob_score, dtype: float64" + ] + }, + "execution_count": 140, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# posterior\n", + "df_fwd[\"prob_score\"].describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 145, + "id": "89f7c1d2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "prob_score 0.249154\n", + "prob_assist 0.169443\n", + "prob_neither 0.581402\n", + "emp_score 0.150914\n", + "emp_assist 0.125761\n", + "emp_neither 0.723325\n", + "Name: Roberto Firmino, dtype: float64" + ] + }, + "execution_count": 145, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_fit.loc[\"Roberto Firmino\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 149, + "id": "0ff395ac", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "84.5" + ] + }, + "execution_count": 149, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = np.array([24.55, 12.04, 47.91])\n", + "x.sum()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3d6fa47a", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "bpl-nkwY2gHh-py3.7", + "display_name": "Python 3 (ipykernel)", "language": "python", - "name": "bpl-nkwy2ghh-py3.7" + "name": "python3" }, "language_info": { "codemirror_mode": { @@ -1269,7 +2188,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.4" + "version": "3.7.10" } }, "nbformat": 4, From 1a6f9c733cd344a906df496d5b0c21b150acbd3c Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Fri, 13 Aug 2021 09:49:28 +0100 Subject: [PATCH 16/43] posterior from conjugate prior --- notebooks/numpyro_player_model.ipynb | 370 +++++++++++++++++---------- 1 file changed, 229 insertions(+), 141 deletions(-) diff --git a/notebooks/numpyro_player_model.ipynb b/notebooks/numpyro_player_model.ipynb index 08c9012c..789befdb 100644 --- a/notebooks/numpyro_player_model.ipynb +++ b/notebooks/numpyro_player_model.ipynb @@ -41,7 +41,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 2, "id": "6561ae95", "metadata": {}, "outputs": [], @@ -303,7 +303,7 @@ }, { "cell_type": "code", - "execution_count": 115, + "execution_count": 10, "id": "6a52c5ca", "metadata": {}, "outputs": [ @@ -385,7 +385,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "sample: 100%|████████████| 4500/4500 [00:11<00:00, 375.69it/s, 7 steps of size 4.86e-01. acc. prob=0.80]\n" + "sample: 100%|████████████| 4500/4500 [00:11<00:00, 383.10it/s, 7 steps of size 4.86e-01. acc. prob=0.80]\n" ] }, { @@ -532,7 +532,13 @@ "Filling history dataframe for Jairo Riedewald: 137/220 done\n", "Filling history dataframe for André Filipe Tavares Gomes: 138/220 done\n", "Filling history dataframe for Tom Davies: 139/220 done\n", - "Filling history dataframe for Dennis Praet: 140/220 done\n", + "Filling history dataframe for Dennis Praet: 140/220 done\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Filling history dataframe for Wilfred Ndidi: 141/220 done\n", "Filling history dataframe for Boubakary Soumaré: 142/220 done\n", "Filling history dataframe for Kalvin Phillips: 143/220 done\n", @@ -611,13 +617,7 @@ "Filling history dataframe for Mark Noble: 216/220 done\n", "Filling history dataframe for Conor Coventry: 217/220 done\n", "Filling history dataframe for Morgan Gibbs-White: 218/220 done\n", - "Filling history dataframe for Owen Otasowie: 219/220 done\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "Filling history dataframe for Owen Otasowie: 219/220 done\n", "Alpha is [ 9.20967011 9.09309201 66.37465724]\n" ] }, @@ -625,7 +625,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "sample: 100%|███████████| 4500/4500 [00:35<00:00, 126.51it/s, 15 steps of size 2.84e-01. acc. prob=0.87]\n" + "sample: 100%|███████████| 4500/4500 [00:34<00:00, 128.58it/s, 15 steps of size 2.84e-01. acc. prob=0.87]\n" ] }, { @@ -783,7 +783,13 @@ "Filling history dataframe for Jeremy Ngakia: 148/180 done\n", "Filling history dataframe for Ben Wilmot: 149/180 done\n", "Filling history dataframe for Ryan Fredericks: 150/180 done\n", - "Filling history dataframe for Arthur Masuaku: 151/180 done\n", + "Filling history dataframe for Arthur Masuaku: 151/180 done\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Filling history dataframe for Issa Diop: 152/180 done\n", "Filling history dataframe for Conor Coady: 153/180 done\n", "Filling history dataframe for Fernando Marçal: 154/180 done\n", @@ -819,7 +825,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "sample: 100%|███████████| 4500/4500 [00:30<00:00, 148.90it/s, 15 steps of size 2.59e-01. acc. prob=0.89]\n" + "sample: 100%|███████████| 4500/4500 [00:29<00:00, 153.04it/s, 15 steps of size 2.59e-01. acc. prob=0.89]\n" ] } ], @@ -831,7 +837,7 @@ }, { "cell_type": "code", - "execution_count": 116, + "execution_count": 11, "id": "d9ee3dcf", "metadata": {}, "outputs": [ @@ -841,7 +847,7 @@ "Text(0, 0.5, 'P(assist)')" ] }, - "execution_count": 116, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, @@ -872,7 +878,7 @@ }, { "cell_type": "code", - "execution_count": 117, + "execution_count": 12, "id": "0f489bb8", "metadata": {}, "outputs": [ @@ -992,7 +998,7 @@ "28 Jamie Vardy 0.346544 0.164212 0.489244" ] }, - "execution_count": 117, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } @@ -1003,7 +1009,7 @@ }, { "cell_type": "code", - "execution_count": 118, + "execution_count": 13, "id": "baf0899a", "metadata": {}, "outputs": [ @@ -1123,7 +1129,7 @@ "19 Anwar El Ghazi 0.194924 0.118159 0.686917" ] }, - "execution_count": 118, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -1142,8 +1148,8 @@ }, { "cell_type": "code", - "execution_count": 119, - "id": "ec1c38a6", + "execution_count": 14, + "id": "d7fc9907", "metadata": { "scrolled": true }, @@ -1229,8 +1235,8 @@ }, { "cell_type": "code", - "execution_count": 120, - "id": "aa59a2fa", + "execution_count": 15, + "id": "347604f1", "metadata": {}, "outputs": [], "source": [ @@ -1242,8 +1248,8 @@ }, { "cell_type": "code", - "execution_count": 121, - "id": "bdbd48ff", + "execution_count": 16, + "id": "cc86610e", "metadata": {}, "outputs": [ { @@ -1252,13 +1258,13 @@ "Text(0.5, 1.0, 'p_neither')" ] }, - "execution_count": 121, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -1284,8 +1290,8 @@ }, { "cell_type": "code", - "execution_count": 147, - "id": "b1943809", + "execution_count": 17, + "id": "23919fc8", "metadata": { "scrolled": true }, @@ -1363,197 +1369,138 @@ "Filling history dataframe for Adedapo Awokoya-Mebude: 66/67 done\n", "Pierre-Emerick Aubameyang\n", "Alpha is [41.92280325 11.64522313 60.43197362]\n", - "[41.92280325 11.64522313 60.43197362]\n", "Alexandre Lacazette\n", "Alpha is [36.43990584 22.26883135 55.29126281]\n", - "[36.43990584 22.26883135 55.29126281]\n", "Edward Nketiah\n", "Alpha is [27.24634455 5.44926891 70.30438654]\n", - "[27.24634455 5.44926891 70.30438654]\n", "Ollie Watkins\n", "Alpha is [ 9.94012238 6.39007867 21.66979895]\n", - "[ 9.94012238 6.39007867 21.66979895]\n", "Wesley Moraes\n", "Alpha is [15.06677796 3.01335559 57.91986644]\n", - "[15.06677796 3.01335559 57.91986644]\n", "Mbwana Ally Samatta\n", "Alpha is [nan nan nan]\n", - "[nan nan nan]\n", "Keinan Davis\n", "Alpha is [ 6.77722153 13.55444305 55.66833542]\n", - "[ 6.77722153 13.55444305 55.66833542]\n", "Danny Ings\n", "Alpha is [50.64200071 11.11653674 52.24146255]\n", - "[50.64200071 11.11653674 52.24146255]\n", "Ivan Toney\n", "Alpha is [nan nan nan]\n", - "[nan nan nan]\n", "Marcus Forss\n", "Alpha is [nan nan nan]\n", - "[nan nan nan]\n", "Halil Dervişoğlu\n", "Alpha is [nan nan nan]\n", - "[nan nan nan]\n", "Neal Maupay\n", "Alpha is [22.47098406 6.24194002 47.28707593]\n", - "[22.47098406 6.24194002 47.28707593]\n", "Aaron Connolly\n", "Alpha is [15.72749631 12.58199705 44.69050664]\n", - "[15.72749631 12.58199705 44.69050664]\n", "Danny Welbeck\n", "Alpha is [27.49602857 18.33068571 63.17328571]\n", - "[27.49602857 18.33068571 63.17328571]\n", "Florin Andone\n", "Alpha is [43.79935966 0. 70.20064034]\n", - "[43.79935966 0. 70.20064034]\n", "Jay Rodriguez\n", "Alpha is [18.94153846 10.52307692 46.53538462]\n", - "[18.94153846 10.52307692 46.53538462]\n", "Ashley Barnes\n", "Alpha is [40.18119 5.74017 68.07864]\n", - "[40.18119 5.74017 68.07864]\n", "Chris Wood\n", "Alpha is [44.86168185 8.7231048 60.41521335]\n", - "[44.86168185 8.7231048 60.41521335]\n", "Matej Vydra\n", "Alpha is [23.42434478 15.61622986 74.95942536]\n", - "[23.42434478 15.61622986 74.95942536]\n", "Olivier Giroud\n", "Alpha is [33.71830986 12.04225352 68.23943662]\n", - "[33.71830986 12.04225352 68.23943662]\n", "Michy Batshuayi\n", "Alpha is [25.20387393 15.75242121 49.04370487]\n", - "[25.20387393 15.75242121 49.04370487]\n", "Timo Werner\n", "Alpha is [ 5.1748029 10.3496058 22.4755913]\n", - "[ 5.1748029 10.3496058 22.4755913]\n", "Tammy Abraham\n", "Alpha is [39.93697868 15.21408712 58.8489342 ]\n", - "[39.93697868 15.21408712 58.8489342 ]\n", "Christian Benteke\n", "Alpha is [31.96805994 9.83632614 72.19561392]\n", - "[31.96805994 9.83632614 72.19561392]\n", "Jordan Ayew\n", "Alpha is [16.31855713 14.83505194 82.84639093]\n", - "[16.31855713 14.83505194 82.84639093]\n", "Jean-Philippe Mateta\n", "Alpha is [ 7.95348837 0. 11.04651163]\n", - "[ 7.95348837 0. 11.04651163]\n", "Dominic Calvert-Lewin\n", "Alpha is [38.88264654 13.3311931 61.78616036]\n", - "[38.88264654 13.3311931 61.78616036]\n", "Richarlison de Andrade\n", "Alpha is [30.97439272 13.14065146 69.88495582]\n", - "[30.97439272 13.14065146 69.88495582]\n", "Jamie Vardy\n", "Alpha is [40.96669118 19.02024948 54.01305934]\n", - "[40.96669118 19.02024948 54.01305934]\n", "Kelechi Iheanacho\n", "Alpha is [34.00149226 20.77868972 59.21981802]\n", - "[34.00149226 20.77868972 59.21981802]\n", "Patson Daka\n", "Alpha is [nan nan nan]\n", - "[nan nan nan]\n", "Rodrigo Moreno\n", "Alpha is [11.47216828 6.55552473 19.97230699]\n", - "[11.47216828 6.55552473 19.97230699]\n", "Patrick Bamford\n", "Alpha is [11.67568596 7.55485562 18.76945842]\n", - "[11.67568596 7.55485562 18.76945842]\n", "Roberto Firmino\n", "Alpha is [17.204164 14.33680334 82.45903266]\n", - "[17.204164 14.33680334 82.45903266]\n", "Divock Origi\n", "Alpha is [25.08737919 14.33564525 66.57697556]\n", - "[25.08737919 14.33564525 66.57697556]\n", "Gabriel Fernando de Jesus\n", "Alpha is [24.61570839 13.12837781 76.2559138 ]\n", - "[24.61570839 13.12837781 76.2559138 ]\n", "Edinson Cavani\n", "Alpha is [11.88653614 4.75461446 18.3588494 ]\n", - "[11.88653614 4.75461446 18.3588494 ]\n", "Anthony Martial\n", "Alpha is [31.1005095 20.06484484 62.83464567]\n", - "[31.1005095 20.06484484 62.83464567]\n", "Callum Wilson\n", "Alpha is [37.26608754 26.30547356 50.4284389 ]\n", - "[37.26608754 26.30547356 50.4284389 ]\n", "Dwight Gayle\n", "Alpha is [31.44446615 18.86667969 56.68885417]\n", - "[31.44446615 18.86667969 56.68885417]\n", "Allan Saint-Maximin\n", "Alpha is [10.87622395 18.12703992 46.99673613]\n", - "[10.87622395 18.12703992 46.99673613]\n", "Joelinton Cássio Apolinário de Lira\n", "Alpha is [ 7.97325071 5.31550048 62.71124881]\n", - "[ 7.97325071 5.31550048 62.71124881]\n", "Teemu Pukki\n", "Alpha is [19.06486717 5.19950923 13.7356236 ]\n", - "[19.06486717 5.19950923 13.7356236 ]\n", "Jordan Hugill\n", "Alpha is [nan nan nan]\n", - "[nan nan nan]\n", "Adam Idah\n", "Alpha is [ 0. 0. 34.]\n", - "[ 0. 0. 34.]\n", "Joshua Sargent\n", "Alpha is [nan nan nan]\n", - "[nan nan nan]\n", "Daniel N'Lundulu\n", "Alpha is [ 0. 0. 68.]\n", - "[ 0. 0. 68.]\n", "Che Adams\n", "Alpha is [18.35463597 15.53084582 42.11451821]\n", - "[18.35463597 15.53084582 42.11451821]\n", "Michael Obafemi\n", "Alpha is [33.59527877 25.19645908 45.20826215]\n", - "[33.59527877 25.19645908 45.20826215]\n", "Armando Broja\n", "Alpha is [ 0. 0. 10.]\n", - "[ 0. 0. 10.]\n", "Shane Long\n", "Alpha is [20.11067963 14.36477116 79.52454921]\n", - "[20.11067963 14.36477116 79.52454921]\n", "Harry Kane\n", "Alpha is [42.76228801 16.22017821 55.01753377]\n", - "[42.76228801 16.22017821 55.01753377]\n", "Dane Scarlett\n", "Alpha is [ 0. 0. 17.]\n", - "[ 0. 0. 17.]\n", "Troy Deeney\n", "Alpha is [23.54976538 8.67622935 43.77400526]\n", - "[23.54976538 8.67622935 43.77400526]\n", "Andre Gray\n", "Alpha is [25.40155497 8.46718499 42.13126004]\n", - "[25.40155497 8.46718499 42.13126004]\n", "Stipe Perica\n", "Alpha is [nan nan nan]\n", - "[nan nan nan]\n", "Isaac Success Ajayi\n", "Alpha is [ 5.38002981 5.38002981 65.23994039]\n", - "[ 5.38002981 5.38002981 65.23994039]\n", "Ashley Fletcher\n", "Alpha is [nan nan nan]\n", - "[nan nan nan]\n", "João Pedro Junqueira de Jesus\n", "Alpha is [ 0. 0. 17.]\n", - "[ 0. 0. 17.]\n", "Emmanuel Dennis\n", "Alpha is [nan nan nan]\n", - "[nan nan nan]\n", "Joshua King\n", "Alpha is [25.0929368 11.15241636 58.75464684]\n", - "[25.0929368 11.15241636 58.75464684]\n", "Adedapo Awokoya-Mebude\n", "Alpha is [nan nan nan]\n", - "[nan nan nan]\n", "Juan Camilo Hernández Suárez\n", "Alpha is [nan nan nan]\n", - "[nan nan nan]\n", "Michail Antonio\n", "Alpha is [31.99045671 20.91683708 61.0927062 ]\n", - "[31.99045671 20.91683708 61.0927062 ]\n", - "Raúl Jiménez\n" + "Raúl Jiménez\n", + "Alpha is [41.35074939 21.89157321 50.75767741]\n", + "Fabio Silva\n", + "Alpha is [10.68047337 8.01035503 19.3091716 ]\n", + "Patrick Cutrone\n", + "Alpha is [28.82815735 0. 30.17184265]\n" ] }, { @@ -1580,20 +1527,6 @@ " * (total_minutes / minutes)\n" ] }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Alpha is [41.35074939 21.89157321 50.75767741]\n", - "[41.35074939 21.89157321 50.75767741]\n", - "Fabio Silva\n", - "Alpha is [10.68047337 8.01035503 19.3091716 ]\n", - "[10.68047337 8.01035503 19.3091716 ]\n", - "Patrick Cutrone\n", - "Alpha is [28.82815735 0. 30.17184265]\n", - "[28.82815735 0. 30.17184265]\n" - ] - }, { "data": { "text/html": [ @@ -1721,7 +1654,7 @@ "[67 rows x 4 columns]" ] }, - "execution_count": 147, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -1754,8 +1687,8 @@ }, { "cell_type": "code", - "execution_count": 131, - "id": "1233b2a7", + "execution_count": 18, + "id": "ce367b0b", "metadata": {}, "outputs": [ { @@ -1885,7 +1818,7 @@ "[67 rows x 4 columns]" ] }, - "execution_count": 131, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -1896,8 +1829,8 @@ }, { "cell_type": "code", - "execution_count": 128, - "id": "52b93d5d", + "execution_count": 19, + "id": "e6599a7c", "metadata": {}, "outputs": [], "source": [ @@ -1907,8 +1840,8 @@ }, { "cell_type": "code", - "execution_count": 130, - "id": "24b3a156", + "execution_count": 20, + "id": "8d7d3c28", "metadata": {}, "outputs": [ { @@ -1973,7 +1906,7 @@ "dtype: float64" ] }, - "execution_count": 130, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -1984,8 +1917,8 @@ }, { "cell_type": "code", - "execution_count": 143, - "id": "78655917", + "execution_count": 21, + "id": "63e80fb6", "metadata": {}, "outputs": [ { @@ -1994,13 +1927,13 @@ "Text(0.5, 1.0, 'Player Posterior p_neither')" ] }, - "execution_count": 143, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -2037,8 +1970,8 @@ }, { "cell_type": "code", - "execution_count": 141, - "id": "8fae0bc1", + "execution_count": 22, + "id": "2db7225e", "metadata": {}, "outputs": [ { @@ -2055,7 +1988,7 @@ "Name: emp_score, dtype: float64" ] }, - "execution_count": 141, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } @@ -2067,15 +2000,15 @@ }, { "cell_type": "code", - "execution_count": 142, - "id": "0210efb4", + "execution_count": 23, + "id": "9f21dc54", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "0.29018462865084715 0.04744173568690675\n" + "0.28999106484107434 0.05041885720986763\n" ] } ], @@ -2086,8 +2019,8 @@ }, { "cell_type": "code", - "execution_count": 140, - "id": "ff256e66", + "execution_count": 24, + "id": "24e8b49a", "metadata": {}, "outputs": [ { @@ -2104,7 +2037,7 @@ "Name: prob_score, dtype: float64" ] }, - "execution_count": 140, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } @@ -2116,8 +2049,8 @@ }, { "cell_type": "code", - "execution_count": 145, - "id": "89f7c1d2", + "execution_count": 25, + "id": "0dc48f41", "metadata": {}, "outputs": [ { @@ -2132,7 +2065,7 @@ "Name: Roberto Firmino, dtype: float64" ] }, - "execution_count": 145, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -2143,30 +2076,185 @@ }, { "cell_type": "code", - "execution_count": 149, - "id": "0ff395ac", + "execution_count": 27, + "id": "9b0dcf90", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
emp_scoreemp_assistemp_neithername
40.3677440.1021510.530105Pierre-Emerick Aubameyang
60.3196480.1953410.485011Alexandre Lacazette
200.2645280.0529060.682567Edward Nketiah
420.2615820.1681600.570258Ollie Watkins
490.1982470.0396490.762104Wesley Moraes
...............
473NaNNaNNaNJuan Camilo Hernández Suárez
4820.2806180.1834810.535901Michail Antonio
5020.3627260.1920310.445243Raúl Jiménez
5170.2810650.2107990.508136Fabio Silva
5230.4886130.0000000.511387Patrick Cutrone
\n", + "

67 rows × 4 columns

\n", + "
" + ], + "text/plain": [ + " emp_score emp_assist emp_neither name\n", + "4 0.367744 0.102151 0.530105 Pierre-Emerick Aubameyang\n", + "6 0.319648 0.195341 0.485011 Alexandre Lacazette\n", + "20 0.264528 0.052906 0.682567 Edward Nketiah\n", + "42 0.261582 0.168160 0.570258 Ollie Watkins\n", + "49 0.198247 0.039649 0.762104 Wesley Moraes\n", + ".. ... ... ... ...\n", + "473 NaN NaN NaN Juan Camilo Hernández Suárez\n", + "482 0.280618 0.183481 0.535901 Michail Antonio\n", + "502 0.362726 0.192031 0.445243 Raúl Jiménez\n", + "517 0.281065 0.210799 0.508136 Fabio Silva\n", + "523 0.488613 0.000000 0.511387 Patrick Cutrone\n", + "\n", + "[67 rows x 4 columns]" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "emp_fwd" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a160ed7d", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "936957ad", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "84.5" + "array([0.15209208, 0.12593437, 0.72197355])" ] }, - "execution_count": 149, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "x = np.array([24.55, 12.04, 47.91])\n", - "x.sum()" + "# exact posterior\n", + "import numpy as np\n", + "prior = np.array([24.55477665, 12.03720926, 47.90801409])\n", + "#prior = 1 * prior / prior.sum()\n", + "data = np.array([17.20, 14.34, 82.46])\n", + "posterior = prior + data\n", + "posterior / posterior.sum()" ] }, { "cell_type": "code", "execution_count": null, - "id": "3d6fa47a", + "id": "b04f81ba", "metadata": {}, "outputs": [], "source": [] From 0d45b392ca1250f6f1aa05db2257a3da14670f15 Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Mon, 16 Aug 2021 19:56:44 +0100 Subject: [PATCH 17/43] Update numpyro_player_model.ipynb --- notebooks/numpyro_player_model.ipynb | 40 ++++++++++++++-------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/notebooks/numpyro_player_model.ipynb b/notebooks/numpyro_player_model.ipynb index 789befdb..e9c0402f 100644 --- a/notebooks/numpyro_player_model.ipynb +++ b/notebooks/numpyro_player_model.ipynb @@ -1149,7 +1149,7 @@ { "cell_type": "code", "execution_count": 14, - "id": "d7fc9907", + "id": "a130125e", "metadata": { "scrolled": true }, @@ -1236,7 +1236,7 @@ { "cell_type": "code", "execution_count": 15, - "id": "347604f1", + "id": "55c3026f", "metadata": {}, "outputs": [], "source": [ @@ -1249,7 +1249,7 @@ { "cell_type": "code", "execution_count": 16, - "id": "cc86610e", + "id": "bf26d0b1", "metadata": {}, "outputs": [ { @@ -1291,7 +1291,7 @@ { "cell_type": "code", "execution_count": 17, - "id": "23919fc8", + "id": "add936ca", "metadata": { "scrolled": true }, @@ -1688,7 +1688,7 @@ { "cell_type": "code", "execution_count": 18, - "id": "ce367b0b", + "id": "4f1f84e8", "metadata": {}, "outputs": [ { @@ -1830,7 +1830,7 @@ { "cell_type": "code", "execution_count": 19, - "id": "e6599a7c", + "id": "77128396", "metadata": {}, "outputs": [], "source": [ @@ -1841,7 +1841,7 @@ { "cell_type": "code", "execution_count": 20, - "id": "8d7d3c28", + "id": "9a721114", "metadata": {}, "outputs": [ { @@ -1918,7 +1918,7 @@ { "cell_type": "code", "execution_count": 21, - "id": "63e80fb6", + "id": "cfb3b814", "metadata": {}, "outputs": [ { @@ -1971,7 +1971,7 @@ { "cell_type": "code", "execution_count": 22, - "id": "2db7225e", + "id": "a1e9a784", "metadata": {}, "outputs": [ { @@ -2001,7 +2001,7 @@ { "cell_type": "code", "execution_count": 23, - "id": "9f21dc54", + "id": "1b7ce89f", "metadata": {}, "outputs": [ { @@ -2020,7 +2020,7 @@ { "cell_type": "code", "execution_count": 24, - "id": "24e8b49a", + "id": "b352c487", "metadata": {}, "outputs": [ { @@ -2050,7 +2050,7 @@ { "cell_type": "code", "execution_count": 25, - "id": "0dc48f41", + "id": "22dcf9b0", "metadata": {}, "outputs": [ { @@ -2077,7 +2077,7 @@ { "cell_type": "code", "execution_count": 27, - "id": "9b0dcf90", + "id": "2298c926", "metadata": {}, "outputs": [ { @@ -2219,24 +2219,24 @@ { "cell_type": "code", "execution_count": null, - "id": "a160ed7d", + "id": "0c8b1c64", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", - "execution_count": 37, - "id": "936957ad", + "execution_count": 38, + "id": "719ab876", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([0.15209208, 0.12593437, 0.72197355])" + "array([0.16517841, 0.12749511, 0.70732649])" ] }, - "execution_count": 37, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } @@ -2245,7 +2245,7 @@ "# exact posterior\n", "import numpy as np\n", "prior = np.array([24.55477665, 12.03720926, 47.90801409])\n", - "#prior = 1 * prior / prior.sum()\n", + "prior = 13 * prior / prior.sum()\n", "data = np.array([17.20, 14.34, 82.46])\n", "posterior = prior + data\n", "posterior / posterior.sum()" @@ -2254,7 +2254,7 @@ { "cell_type": "code", "execution_count": null, - "id": "b04f81ba", + "id": "08c75178", "metadata": {}, "outputs": [], "source": [] From ac39f6767d4ba3896ab296ead2312ad464d1ea90 Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Tue, 17 Aug 2021 20:15:11 +0100 Subject: [PATCH 18/43] wip conjugate prior model --- airsenal/framework/player_model.py | 51 + notebooks/numpyro_player_model.ipynb | 2077 +++++++++++++------------- 2 files changed, 1102 insertions(+), 1026 deletions(-) diff --git a/airsenal/framework/player_model.py b/airsenal/framework/player_model.py index 790173bd..317ecf12 100644 --- a/airsenal/framework/player_model.py +++ b/airsenal/framework/player_model.py @@ -3,6 +3,7 @@ import numpyro import numpyro.distributions as dist from numpyro.infer import MCMC, NUTS +import pandas as pd from typing import Any, Dict, Optional @@ -98,3 +99,53 @@ def get_probs_for_player(self, player_id): prob_assist = float(self.samples["probs"][:, index, 1].mean()) prob_neither = float(self.samples["probs"][:, index, 2].mean()) return (prob_score, prob_assist, prob_neither) + + +class ConjugatePlayerModel(object): + def __init__(self): + self.player_ids = None + self.samples = None + + @staticmethod + def _model(df, prior): + neff = { + idx: get_empirical_bayes_estimates(data) + for idx, data in df.groupby("player_id") + } + neff = pd.DataFrame(neff).T + neff = neff.fillna(0) + neff.columns = ["prob_score", "prob_assist", "prob_neither"] + return prior + neff + + + def fit(self, data): + return self + + def get_probs(self): + prob_dict = { + "player_id": [], + "prob_score": [], + "prob_assist": [], + "prob_neither": [], + } + for i, pid in enumerate(self.player_ids): + prob_dict["player_id"].append(pid) + prob_dict["prob_score"].append(float(self.samples["probs"][:, i, 0].mean())) + prob_dict["prob_assist"].append( + float(self.samples["probs"][:, i, 1].mean()) + ) + prob_dict["prob_neither"].append( + float(self.samples["probs"][:, i, 2].mean()) + ) + return prob_dict + + def get_probs_for_player(self, player_id): + try: + index = list(self.player_ids).index(player_id) + except (ValueError): + raise RuntimeError(f"Unknown player_id {player_id}") + prob_score = float(self.samples["probs"][:, index, 0].mean()) + prob_assist = float(self.samples["probs"][:, index, 1].mean()) + prob_neither = float(self.samples["probs"][:, index, 2].mean()) + return (prob_score, prob_assist, prob_neither) + diff --git a/notebooks/numpyro_player_model.ipynb b/notebooks/numpyro_player_model.ipynb index e9c0402f..ca72f9cb 100644 --- a/notebooks/numpyro_player_model.ipynb +++ b/notebooks/numpyro_player_model.ipynb @@ -311,521 +311,551 @@ "name": "stdout", "output_type": "stream", "text": [ - "Filling history dataframe for Harry Kane: 0/67 done\n", - "Filling history dataframe for Jamie Vardy: 1/67 done\n", - "Filling history dataframe for Pierre-Emerick Aubameyang: 2/67 done\n", - "Filling history dataframe for Timo Werner: 3/67 done\n", - "Filling history dataframe for Roberto Firmino: 4/67 done\n", - "Filling history dataframe for Alexandre Lacazette: 5/67 done\n", - "Filling history dataframe for Gabriel Fernando de Jesus: 6/67 done\n", - "Filling history dataframe for Edinson Cavani: 7/67 done\n", - "Filling history dataframe for Danny Ings: 8/67 done\n", - "Filling history dataframe for Dominic Calvert-Lewin: 9/67 done\n", - "Filling history dataframe for Patrick Bamford: 10/67 done\n", - "Filling history dataframe for Anthony Martial: 11/67 done\n", - "Filling history dataframe for Ollie Watkins: 12/67 done\n", - "Filling history dataframe for Richarlison de Andrade: 13/67 done\n", - "Filling history dataframe for Kelechi Iheanacho: 14/67 done\n", - "Filling history dataframe for Patson Daka: 15/67 done\n", - "Filling history dataframe for Callum Wilson: 16/67 done\n", - "Filling history dataframe for Michail Antonio: 17/67 done\n", - "Filling history dataframe for Raúl Jiménez: 18/67 done\n", - "Filling history dataframe for Chris Wood: 19/67 done\n", - "Filling history dataframe for Che Adams: 20/67 done\n", - "Filling history dataframe for Ivan Toney: 21/67 done\n", - "Filling history dataframe for Neal Maupay: 22/67 done\n", - "Filling history dataframe for Olivier Giroud: 23/67 done\n", - "Filling history dataframe for Tammy Abraham: 24/67 done\n", - "Filling history dataframe for Christian Benteke: 25/67 done\n", - "Filling history dataframe for Rodrigo Moreno: 26/67 done\n", - "Filling history dataframe for Allan Saint-Maximin: 27/67 done\n", - "Filling history dataframe for Danny Welbeck: 28/67 done\n", - "Filling history dataframe for Jordan Ayew: 29/67 done\n", - "Filling history dataframe for Joelinton Cássio Apolinário de Lira: 30/67 done\n", - "Filling history dataframe for Teemu Pukki: 31/67 done\n", - "Filling history dataframe for Fabio Silva: 32/67 done\n", - "Filling history dataframe for Edward Nketiah: 33/67 done\n", - "Filling history dataframe for Wesley Moraes: 34/67 done\n", - "Filling history dataframe for Mbwana Ally Samatta: 35/67 done\n", - "Filling history dataframe for Marcus Forss: 36/67 done\n", - "Filling history dataframe for Halil Dervişoğlu: 37/67 done\n", - "Filling history dataframe for Aaron Connolly: 38/67 done\n", - "Filling history dataframe for Jay Rodriguez: 39/67 done\n", - "Filling history dataframe for Ashley Barnes: 40/67 done\n", - "Filling history dataframe for Matej Vydra: 41/67 done\n", - "Filling history dataframe for Michy Batshuayi: 42/67 done\n", - "Filling history dataframe for Jean-Philippe Mateta: 43/67 done\n", - "Filling history dataframe for Dwight Gayle: 44/67 done\n", - "Filling history dataframe for Jordan Hugill: 45/67 done\n", - "Filling history dataframe for Joshua Sargent: 46/67 done\n", - "Filling history dataframe for Shane Long: 47/67 done\n", - "Filling history dataframe for Troy Deeney: 48/67 done\n", - "Filling history dataframe for Andre Gray: 49/67 done\n", - "Filling history dataframe for João Pedro Junqueira de Jesus: 50/67 done\n", - "Filling history dataframe for Joshua King: 51/67 done\n", - "Filling history dataframe for Florin Andone: 52/67 done\n", - "Filling history dataframe for Divock Origi: 53/67 done\n", - "Filling history dataframe for Adam Idah: 54/67 done\n", - "Filling history dataframe for Armando Broja: 55/67 done\n", - "Filling history dataframe for Isaac Success Ajayi: 56/67 done\n", - "Filling history dataframe for Ashley Fletcher: 57/67 done\n", - "Filling history dataframe for Emmanuel Dennis: 58/67 done\n", - "Filling history dataframe for Juan Camilo Hernández Suárez: 59/67 done\n", - "Filling history dataframe for Patrick Cutrone: 60/67 done\n", - "Filling history dataframe for Keinan Davis: 61/67 done\n", - "Filling history dataframe for Daniel N'Lundulu: 62/67 done\n", - "Filling history dataframe for Michael Obafemi: 63/67 done\n", - "Filling history dataframe for Dane Scarlett: 64/67 done\n", - "Filling history dataframe for Stipe Perica: 65/67 done\n", - "Filling history dataframe for Adedapo Awokoya-Mebude: 66/67 done\n", - "Alpha is [24.55477665 12.03720926 47.90801409]\n" + "Filling history dataframe for Harry Kane: 0/75 done\n", + "Filling history dataframe for Romelu Lukaku: 1/75 done\n", + "Filling history dataframe for Jamie Vardy: 2/75 done\n", + "Filling history dataframe for Pierre-Emerick Aubameyang: 3/75 done\n", + "Filling history dataframe for Timo Werner: 4/75 done\n", + "Filling history dataframe for Roberto Firmino: 5/75 done\n", + "Filling history dataframe for Alexandre Lacazette: 6/75 done\n", + "Filling history dataframe for Gabriel Fernando de Jesus: 7/75 done\n", + "Filling history dataframe for Edinson Cavani: 8/75 done\n", + "Filling history dataframe for Danny Ings: 9/75 done\n", + "Filling history dataframe for Dominic Calvert-Lewin: 10/75 done\n", + "Filling history dataframe for Patrick Bamford: 11/75 done\n", + "Filling history dataframe for Anthony Martial: 12/75 done\n", + "Filling history dataframe for Richarlison de Andrade: 13/75 done\n", + "Filling history dataframe for Ollie Watkins: 14/75 done\n", + "Filling history dataframe for Kelechi Iheanacho: 15/75 done\n", + "Filling history dataframe for Patson Daka: 16/75 done\n", + "Filling history dataframe for Callum Wilson: 17/75 done\n", + "Filling history dataframe for Michail Antonio: 18/75 done\n", + "Filling history dataframe for Raúl Jiménez: 19/75 done\n", + "Filling history dataframe for Chris Wood: 20/75 done\n", + "Filling history dataframe for Che Adams: 21/75 done\n", + "Filling history dataframe for Ivan Toney: 22/75 done\n", + "Filling history dataframe for Neal Maupay: 23/75 done\n", + "Filling history dataframe for Olivier Giroud: 24/75 done\n", + "Filling history dataframe for Tammy Abraham: 25/75 done\n", + "Filling history dataframe for Christian Benteke: 26/75 done\n", + "Filling history dataframe for Rodrigo Moreno: 27/75 done\n", + "Filling history dataframe for Allan Saint-Maximin: 28/75 done\n", + "Filling history dataframe for Danny Welbeck: 29/75 done\n", + "Filling history dataframe for Jordan Ayew: 30/75 done\n", + "Filling history dataframe for Joelinton Cássio Apolinário de Lira: 31/75 done\n", + "Filling history dataframe for Teemu Pukki: 32/75 done\n", + "Filling history dataframe for Adam Armstrong: 33/75 done\n", + "Filling history dataframe for Fabio Silva: 34/75 done\n", + "Filling history dataframe for Edward Nketiah: 35/75 done\n", + "Filling history dataframe for Wesley Moraes: 36/75 done\n", + "Filling history dataframe for Mbwana Ally Samatta: 37/75 done\n", + "Filling history dataframe for Marcus Forss: 38/75 done\n", + "Filling history dataframe for Halil Dervişoğlu: 39/75 done\n", + "Filling history dataframe for Aaron Connolly: 40/75 done\n", + "Filling history dataframe for Jay Rodriguez: 41/75 done\n", + "Filling history dataframe for Ashley Barnes: 42/75 done\n", + "Filling history dataframe for Matej Vydra: 43/75 done\n", + "Filling history dataframe for Michy Batshuayi: 44/75 done\n", + "Filling history dataframe for Jean-Philippe Mateta: 45/75 done\n", + "Filling history dataframe for Dwight Gayle: 46/75 done\n", + "Filling history dataframe for Jordan Hugill: 47/75 done\n", + "Filling history dataframe for Joshua Sargent: 48/75 done\n", + "Filling history dataframe for Shane Long: 49/75 done\n", + "Filling history dataframe for Troy Deeney: 50/75 done\n", + "Filling history dataframe for Andre Gray: 51/75 done\n", + "Filling history dataframe for João Pedro Junqueira de Jesus: 52/75 done\n", + "Filling history dataframe for Joshua King: 53/75 done\n", + "Filling history dataframe for Folarin Balogun: 54/75 done\n", + "Filling history dataframe for Florin Andone: 55/75 done\n", + "Filling history dataframe for Divock Origi: 56/75 done\n", + "Filling history dataframe for Adam Idah: 57/75 done\n", + "Filling history dataframe for Armando Broja: 58/75 done\n", + "Filling history dataframe for Isaac Success Ajayi: 59/75 done\n", + "Filling history dataframe for Ashley Fletcher: 60/75 done\n", + "Filling history dataframe for Emmanuel Dennis: 61/75 done\n", + "Filling history dataframe for Juan Camilo Hernández Suárez: 62/75 done\n", + "Filling history dataframe for Patrick Cutrone: 63/75 done\n", + "Filling history dataframe for Keinan Davis: 64/75 done\n", + "Filling history dataframe for Andi Zeqiri: 65/75 done\n", + "Filling history dataframe for Lewis Richardson: 66/75 done\n", + "Filling history dataframe for Robert Street: 67/75 done\n", + "Filling history dataframe for Nathan Broadhead: 68/75 done\n", + "Filling history dataframe for Sam Greenwood: 69/75 done\n", + "Filling history dataframe for Daniel N'Lundulu: 70/75 done\n", + "Filling history dataframe for Michael Obafemi: 71/75 done\n", + "Filling history dataframe for Dane Scarlett: 72/75 done\n", + "Filling history dataframe for Stipe Perica: 73/75 done\n", + "Filling history dataframe for Adedapo Awokoya-Mebude: 74/75 done\n", + "Alpha is [19.30121916 9.36931379 37.59613372]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "sample: 100%|████████████| 4500/4500 [00:11<00:00, 383.10it/s, 7 steps of size 4.86e-01. acc. prob=0.80]\n" + "sample: 100%|████████| 4500/4500 [00:13<00:00, 342.12it/s, 7 steps of size 4.62e-01. acc. prob=0.80]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Filling history dataframe for Mohamed Salah: 0/220 done\n", - "Filling history dataframe for Sadio Mané: 1/220 done\n", - "Filling history dataframe for Kevin De Bruyne: 2/220 done\n", - "Filling history dataframe for Bruno Miguel Borges Fernandes: 3/220 done\n", - "Filling history dataframe for Raheem Sterling: 4/220 done\n", - "Filling history dataframe for Heung-Min Son: 5/220 done\n", - "Filling history dataframe for Marcus Rashford: 6/220 done\n", - "Filling history dataframe for Jadon Sancho: 7/220 done\n", - "Filling history dataframe for Riyad Mahrez: 8/220 done\n", - "Filling history dataframe for Kai Havertz: 9/220 done\n", - "Filling history dataframe for Christian Pulisic: 10/220 done\n", - "Filling history dataframe for Jack Grealish: 11/220 done\n", - "Filling history dataframe for Phil Foden: 12/220 done\n", - "Filling history dataframe for Nicolas Pépé: 13/220 done\n", - "Filling history dataframe for Hakim Ziyech: 14/220 done\n", - "Filling history dataframe for Mason Mount: 15/220 done\n", - "Filling history dataframe for Diogo Jota: 16/220 done\n", - "Filling history dataframe for Ilkay Gündogan: 17/220 done\n", - "Filling history dataframe for Paul Pogba: 18/220 done\n", - "Filling history dataframe for Mason Greenwood: 19/220 done\n", - "Filling history dataframe for Wilfried Zaha: 20/220 done\n", - "Filling history dataframe for Gylfi Sigurdsson: 21/220 done\n", - "Filling history dataframe for James Rodríguez: 22/220 done\n", - "Filling history dataframe for James Maddison: 23/220 done\n", - "Filling history dataframe for Harvey Barnes: 24/220 done\n", - "Filling history dataframe for Bernardo Mota Veiga de Carvalho e Silva: 25/220 done\n", - "Filling history dataframe for Ferran Torres: 26/220 done\n", - "Filling history dataframe for Jesse Lingard: 27/220 done\n", - "Filling history dataframe for Willian Borges Da Silva: 28/220 done\n", - "Filling history dataframe for Bukayo Saka: 29/220 done\n", - "Filling history dataframe for Emiliano Buendía Stati: 30/220 done\n", - "Filling history dataframe for Leon Bailey: 31/220 done\n", - "Filling history dataframe for Leandro Trossard: 32/220 done\n", - "Filling history dataframe for Youri Tielemans: 33/220 done\n", - "Filling history dataframe for Raphael Dias Belloli: 34/220 done\n", - "Filling history dataframe for James Ward-Prowse: 35/220 done\n", - "Filling history dataframe for Lucas Rodrigues Moura da Silva: 36/220 done\n", - "Filling history dataframe for Bamidele Alli: 37/220 done\n", - "Filling history dataframe for Jarrod Bowen: 38/220 done\n", - "Filling history dataframe for Pedro Lomba Neto: 39/220 done\n", - "Filling history dataframe for Joseph Willock: 40/220 done\n", - "Filling history dataframe for Bertrand Traoré: 41/220 done\n", - "Filling history dataframe for John McGinn: 42/220 done\n", - "Filling history dataframe for Anwar El Ghazi: 43/220 done\n", - "Filling history dataframe for Pascal Groß: 44/220 done\n", - "Filling history dataframe for Enock Mwepu: 45/220 done\n", - "Filling history dataframe for Dwight McNeil: 46/220 done\n", - "Filling history dataframe for Jorge Luiz Frello Filho: 47/220 done\n", - "Filling history dataframe for Eberechi Eze: 48/220 done\n", - "Filling history dataframe for Alex Iwobi: 49/220 done\n", - "Filling history dataframe for Ayoze Pérez: 50/220 done\n", - "Filling history dataframe for Jack Harrison: 51/220 done\n", - "Filling history dataframe for Xherdan Shaqiri: 52/220 done\n", - "Filling history dataframe for Alex Oxlade-Chamberlain: 53/220 done\n", - "Filling history dataframe for Donny van de Beek: 54/220 done\n", - "Filling history dataframe for Daniel James: 55/220 done\n", - "Filling history dataframe for Theo Walcott: 56/220 done\n", - "Filling history dataframe for Nathan Redmond: 57/220 done\n", - "Filling history dataframe for Stuart Armstrong: 58/220 done\n", - "Filling history dataframe for Erik Lamela: 59/220 done\n", - "Filling history dataframe for Steven Bergwijn: 60/220 done\n", - "Filling history dataframe for Giovani Lo Celso: 61/220 done\n", - "Filling history dataframe for Tanguy Ndombele: 62/220 done\n", - "Filling history dataframe for Bryan Gil Salvatierra: 63/220 done\n", - "Filling history dataframe for Ismaila Sarr: 64/220 done\n", - "Filling history dataframe for Manuel Lanzini: 65/220 done\n", - "Filling history dataframe for Saïd Benrahma: 66/220 done\n", - "Filling history dataframe for Tomas Soucek: 67/220 done\n", - "Filling history dataframe for Pablo Fornals: 68/220 done\n", - "Filling history dataframe for Adama Traoré: 69/220 done\n", - "Filling history dataframe for Francisco Machado Mota de Castro Trincão: 70/220 done\n", - "Filling history dataframe for Ainsley Maitland-Niles: 71/220 done\n", - "Filling history dataframe for Emile Smith Rowe: 72/220 done\n", - "Filling history dataframe for Gabriel Teodoro Martinelli Silva: 73/220 done\n", - "Filling history dataframe for Mahmoud Ahmed Ibrahim Hassan: 74/220 done\n", - "Filling history dataframe for Tariqe Fosu-Henry: 75/220 done\n", - "Filling history dataframe for Sergi Canós: 76/220 done\n", - "Filling history dataframe for Pelenda Joshua Dasilva: 77/220 done\n", - "Filling history dataframe for Saman Ghoddos: 78/220 done\n", - "Filling history dataframe for Bryan Mbeumo: 79/220 done\n", - "Filling history dataframe for Adam Lallana: 80/220 done\n", - "Filling history dataframe for Solomon March: 81/220 done\n", - "Filling history dataframe for Alireza Jahanbakhsh: 82/220 done\n", - "Filling history dataframe for Alexis Mac Allister: 83/220 done\n", - "Filling history dataframe for Ashley Westwood: 84/220 done\n", - "Filling history dataframe for Johann Berg Gudmundsson: 85/220 done\n", - "Filling history dataframe for Ross Barkley: 86/220 done\n", - "Filling history dataframe for Ruben Loftus-Cheek: 87/220 done\n", - "Filling history dataframe for Callum Hudson-Odoi: 88/220 done\n", - "Filling history dataframe for Conor Gallagher: 89/220 done\n", - "Filling history dataframe for Luka Milivojevic: 90/220 done\n", - "Filling history dataframe for Jeffrey Schlupp: 91/220 done\n", - "Filling history dataframe for Michael Olise: 92/220 done\n", - "Filling history dataframe for Bernard Anício Caldeira Duarte: 93/220 done\n", - "Filling history dataframe for Abdoulaye Doucouré: 94/220 done\n", - "Filling history dataframe for Andros Townsend: 95/220 done\n", - "Filling history dataframe for Demarai Gray: 96/220 done\n", - "Filling history dataframe for Marc Albrighton: 97/220 done\n", - "Filling history dataframe for Pablo Hernández Domínguez: 98/220 done\n", - "Filling history dataframe for Mateusz Klich: 99/220 done\n", - "Filling history dataframe for Stuart Dallas: 100/220 done\n", - "Filling history dataframe for Hélder Wander Sousa de Azevedo e Costa: 101/220 done\n", - "Filling history dataframe for Thiago Alcántara do Nascimento: 102/220 done\n", - "Filling history dataframe for Fabio Henrique Tavares: 103/220 done\n", - "Filling history dataframe for Takumi Minamino: 104/220 done\n", - "Filling history dataframe for Harvey Elliott: 105/220 done\n", - "Filling history dataframe for Rodrigo Hernandez: 106/220 done\n", - "Filling history dataframe for Scott McTominay: 107/220 done\n", - "Filling history dataframe for Jonjo Shelvey: 108/220 done\n", - "Filling history dataframe for Ryan Fraser: 109/220 done\n", - "Filling history dataframe for Miguel Almirón: 110/220 done\n", - "Filling history dataframe for Kieran Dowell: 111/220 done\n", - "Filling history dataframe for Todd Cantwell: 112/220 done\n", - "Filling history dataframe for Milot Rashica: 113/220 done\n", - "Filling history dataframe for Moussa Djenepo: 114/220 done\n", - "Filling history dataframe for Mohamed Elyounoussi: 115/220 done\n", - "Filling history dataframe for Ken Sema: 116/220 done\n", - "Filling history dataframe for Philip Zinckernagel: 117/220 done\n", - "Filling history dataframe for Imrân Louza: 118/220 done\n", - "Filling history dataframe for Juraj Kucka: 119/220 done\n", - "Filling history dataframe for Andriy Yarmolenko: 120/220 done\n", - "Filling history dataframe for Rúben Diogo da Silva Neves: 121/220 done\n", - "Filling history dataframe for Daniel Castelo Podence: 122/220 done\n", - "Filling history dataframe for Granit Xhaka: 123/220 done\n", - "Filling history dataframe for Thomas Partey: 124/220 done\n", - "Filling history dataframe for Albert Sambi Lokonga: 125/220 done\n", - "Filling history dataframe for Conor Hourihane: 126/220 done\n", - "Filling history dataframe for Morgan Sanson: 127/220 done\n", - "Filling history dataframe for Jaden Philogene-Bidace: 128/220 done\n", - "Filling history dataframe for Christian Nørgaard: 129/220 done\n", - "Filling history dataframe for Vitaly Janelt: 130/220 done\n", - "Filling history dataframe for Mathias Jensen: 131/220 done\n", - "Filling history dataframe for Frank Onyeka: 132/220 done\n", - "Filling history dataframe for Shandon Baptiste: 133/220 done\n", - "Filling history dataframe for Steven Alzate: 134/220 done\n", - "Filling history dataframe for Mateo Kovacic: 135/220 done\n", - "Filling history dataframe for N'Golo Kanté: 136/220 done\n", - "Filling history dataframe for Jairo Riedewald: 137/220 done\n", - "Filling history dataframe for André Filipe Tavares Gomes: 138/220 done\n", - "Filling history dataframe for Tom Davies: 139/220 done\n", - "Filling history dataframe for Dennis Praet: 140/220 done\n" + "Filling history dataframe for Mohamed Salah: 0/233 done\n", + "Filling history dataframe for Bruno Miguel Borges Fernandes: 1/233 done\n", + "Filling history dataframe for Sadio Mané: 2/233 done\n", + "Filling history dataframe for Kevin De Bruyne: 3/233 done\n", + "Filling history dataframe for Raheem Sterling: 4/233 done\n", + "Filling history dataframe for Heung-Min Son: 5/233 done\n", + "Filling history dataframe for Marcus Rashford: 6/233 done\n", + "Filling history dataframe for Jadon Sancho: 7/233 done\n", + "Filling history dataframe for Riyad Mahrez: 8/233 done\n", + "Filling history dataframe for Kai Havertz: 9/233 done\n", + "Filling history dataframe for Christian Pulisic: 10/233 done\n", + "Filling history dataframe for Jack Grealish: 11/233 done\n", + "Filling history dataframe for Phil Foden: 12/233 done\n", + "Filling history dataframe for Paul Pogba: 13/233 done\n", + "Filling history dataframe for Nicolas Pépé: 14/233 done\n", + "Filling history dataframe for Hakim Ziyech: 15/233 done\n", + "Filling history dataframe for Mason Mount: 16/233 done\n", + "Filling history dataframe for Diogo Jota: 17/233 done\n", + "Filling history dataframe for Ilkay Gündogan: 18/233 done\n", + "Filling history dataframe for Mason Greenwood: 19/233 done\n", + "Filling history dataframe for Wilfried Zaha: 20/233 done\n", + "Filling history dataframe for Gylfi Sigurdsson: 21/233 done\n", + "Filling history dataframe for James Rodríguez: 22/233 done\n", + "Filling history dataframe for James Maddison: 23/233 done\n", + "Filling history dataframe for Harvey Barnes: 24/233 done\n", + "Filling history dataframe for Bernardo Mota Veiga de Carvalho e Silva: 25/233 done\n", + "Filling history dataframe for Ferran Torres: 26/233 done\n", + "Filling history dataframe for Jesse Lingard: 27/233 done\n", + "Filling history dataframe for Willian Borges Da Silva: 28/233 done\n", + "Filling history dataframe for Bukayo Saka: 29/233 done\n", + "Filling history dataframe for Emiliano Buendía Stati: 30/233 done\n", + "Filling history dataframe for Leon Bailey: 31/233 done\n", + "Filling history dataframe for Leandro Trossard: 32/233 done\n", + "Filling history dataframe for Youri Tielemans: 33/233 done\n", + "Filling history dataframe for Raphael Dias Belloli: 34/233 done\n", + "Filling history dataframe for James Ward-Prowse: 35/233 done\n", + "Filling history dataframe for Lucas Rodrigues Moura da Silva: 36/233 done\n", + "Filling history dataframe for Bamidele Alli: 37/233 done\n", + "Filling history dataframe for Jarrod Bowen: 38/233 done\n", + "Filling history dataframe for Pedro Lomba Neto: 39/233 done\n", + "Filling history dataframe for Bertrand Traoré: 40/233 done\n", + "Filling history dataframe for John McGinn: 41/233 done\n", + "Filling history dataframe for Anwar El Ghazi: 42/233 done\n", + "Filling history dataframe for Yoane Wissa: 43/233 done\n", + "Filling history dataframe for Pascal Groß: 44/233 done\n", + "Filling history dataframe for Enock Mwepu: 45/233 done\n", + "Filling history dataframe for Dwight McNeil: 46/233 done\n", + "Filling history dataframe for Jorge Luiz Frello Filho: 47/233 done\n", + "Filling history dataframe for Eberechi Eze: 48/233 done\n", + "Filling history dataframe for Alex Iwobi: 49/233 done\n", + "Filling history dataframe for Ayoze Pérez: 50/233 done\n", + "Filling history dataframe for Jack Harrison: 51/233 done\n", + "Filling history dataframe for Xherdan Shaqiri: 52/233 done\n", + "Filling history dataframe for Alex Oxlade-Chamberlain: 53/233 done\n", + "Filling history dataframe for Donny van de Beek: 54/233 done\n", + "Filling history dataframe for Daniel James: 55/233 done\n", + "Filling history dataframe for Joseph Willock: 56/233 done\n", + "Filling history dataframe for Theo Walcott: 57/233 done\n", + "Filling history dataframe for Nathan Redmond: 58/233 done\n", + "Filling history dataframe for Stuart Armstrong: 59/233 done\n", + "Filling history dataframe for Erik Lamela: 60/233 done\n", + "Filling history dataframe for Steven Bergwijn: 61/233 done\n", + "Filling history dataframe for Giovani Lo Celso: 62/233 done\n", + "Filling history dataframe for Tanguy Ndombele: 63/233 done\n", + "Filling history dataframe for Bryan Gil Salvatierra: 64/233 done\n", + "Filling history dataframe for Ismaila Sarr: 65/233 done\n", + "Filling history dataframe for Manuel Lanzini: 66/233 done\n", + "Filling history dataframe for Saïd Benrahma: 67/233 done\n", + "Filling history dataframe for Tomas Soucek: 68/233 done\n", + "Filling history dataframe for Pablo Fornals: 69/233 done\n", + "Filling history dataframe for Adama Traoré: 70/233 done\n", + "Filling history dataframe for Francisco Machado Mota de Castro Trincão: 71/233 done\n", + "Filling history dataframe for Ainsley Maitland-Niles: 72/233 done\n", + "Filling history dataframe for Emile Smith Rowe: 73/233 done\n", + "Filling history dataframe for Gabriel Teodoro Martinelli Silva: 74/233 done\n", + "Filling history dataframe for Mahmoud Ahmed Ibrahim Hassan: 75/233 done\n", + "Filling history dataframe for Tariqe Fosu-Henry: 76/233 done\n", + "Filling history dataframe for Sergi Canós: 77/233 done\n", + "Filling history dataframe for Pelenda Joshua Dasilva: 78/233 done\n", + "Filling history dataframe for Saman Ghoddos: 79/233 done\n", + "Filling history dataframe for Bryan Mbeumo: 80/233 done\n", + "Filling history dataframe for Adam Lallana: 81/233 done\n", + "Filling history dataframe for Solomon March: 82/233 done\n", + "Filling history dataframe for Alireza Jahanbakhsh: 83/233 done\n", + "Filling history dataframe for Alexis Mac Allister: 84/233 done\n", + "Filling history dataframe for Ashley Westwood: 85/233 done\n", + "Filling history dataframe for Johann Berg Gudmundsson: 86/233 done\n", + "Filling history dataframe for Ross Barkley: 87/233 done\n", + "Filling history dataframe for Ruben Loftus-Cheek: 88/233 done\n", + "Filling history dataframe for Callum Hudson-Odoi: 89/233 done\n", + "Filling history dataframe for Conor Gallagher: 90/233 done\n", + "Filling history dataframe for Luka Milivojevic: 91/233 done\n", + "Filling history dataframe for Jeffrey Schlupp: 92/233 done\n", + "Filling history dataframe for Michael Olise: 93/233 done\n", + "Filling history dataframe for Bernard Anício Caldeira Duarte: 94/233 done\n", + "Filling history dataframe for Abdoulaye Doucouré: 95/233 done\n", + "Filling history dataframe for Andros Townsend: 96/233 done\n", + "Filling history dataframe for Demarai Gray: 97/233 done\n", + "Filling history dataframe for Marc Albrighton: 98/233 done\n", + "Filling history dataframe for Pablo Hernández Domínguez: 99/233 done\n", + "Filling history dataframe for Mateusz Klich: 100/233 done\n", + "Filling history dataframe for Stuart Dallas: 101/233 done\n", + "Filling history dataframe for Hélder Wander Sousa de Azevedo e Costa: 102/233 done\n", + "Filling history dataframe for Thiago Alcántara do Nascimento: 103/233 done\n", + "Filling history dataframe for Fabio Henrique Tavares: 104/233 done\n", + "Filling history dataframe for Takumi Minamino: 105/233 done\n", + "Filling history dataframe for Harvey Elliott: 106/233 done\n", + "Filling history dataframe for Rodrigo Hernandez: 107/233 done\n", + "Filling history dataframe for Scott McTominay: 108/233 done\n", + "Filling history dataframe for Jonjo Shelvey: 109/233 done\n", + "Filling history dataframe for Ryan Fraser: 110/233 done\n", + "Filling history dataframe for Miguel Almirón: 111/233 done\n", + "Filling history dataframe for Kieran Dowell: 112/233 done\n", + "Filling history dataframe for Todd Cantwell: 113/233 done\n", + "Filling history dataframe for Milot Rashica: 114/233 done\n", + "Filling history dataframe for Moussa Djenepo: 115/233 done\n", + "Filling history dataframe for Mohamed Elyounoussi: 116/233 done\n", + "Filling history dataframe for Ken Sema: 117/233 done\n", + "Filling history dataframe for Philip Zinckernagel: 118/233 done\n", + "Filling history dataframe for Imrân Louza: 119/233 done\n", + "Filling history dataframe for Juraj Kucka: 120/233 done\n", + "Filling history dataframe for Andriy Yarmolenko: 121/233 done\n", + "Filling history dataframe for Rúben Diogo da Silva Neves: 122/233 done\n", + "Filling history dataframe for Daniel Castelo Podence: 123/233 done\n", + "Filling history dataframe for Granit Xhaka: 124/233 done\n", + "Filling history dataframe for Thomas Partey: 125/233 done\n", + "Filling history dataframe for Albert Sambi Lokonga: 126/233 done\n", + "Filling history dataframe for Reiss Nelson: 127/233 done\n", + "Filling history dataframe for Conor Hourihane: 128/233 done\n", + "Filling history dataframe for Morgan Sanson: 129/233 done\n", + "Filling history dataframe for Jaden Philogene-Bidace: 130/233 done\n", + "Filling history dataframe for Christian Nørgaard: 131/233 done\n", + "Filling history dataframe for Vitaly Janelt: 132/233 done\n", + "Filling history dataframe for Mathias Jensen: 133/233 done\n", + "Filling history dataframe for Frank Onyeka: 134/233 done\n", + "Filling history dataframe for Shandon Baptiste: 135/233 done\n", + "Filling history dataframe for Steven Alzate: 136/233 done\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Filling history dataframe for Wilfred Ndidi: 141/220 done\n", - "Filling history dataframe for Boubakary Soumaré: 142/220 done\n", - "Filling history dataframe for Kalvin Phillips: 143/220 done\n", - "Filling history dataframe for Tyler Roberts: 144/220 done\n", - "Filling history dataframe for James Milner: 145/220 done\n", - "Filling history dataframe for Jordan Henderson: 146/220 done\n", - "Filling history dataframe for Naby Keita: 147/220 done\n", - "Filling history dataframe for Curtis Jones: 148/220 done\n", - "Filling history dataframe for Fernando Luiz Rosa: 149/220 done\n", - "Filling history dataframe for Samuel Edozie: 150/220 done\n", - "Filling history dataframe for Frederico Rodrigues de Paula Santos: 151/220 done\n", - "Filling history dataframe for Juan Mata: 152/220 done\n", - "Filling history dataframe for Andreas Pereira: 153/220 done\n", - "Filling history dataframe for Anthony Elanga: 154/220 done\n", - "Filling history dataframe for Jeff Hendrick: 155/220 done\n", - "Filling history dataframe for Jacob Murphy: 156/220 done\n", - "Filling history dataframe for Marco Stiepermann: 157/220 done\n", - "Filling history dataframe for Kenny McLean: 158/220 done\n", - "Filling history dataframe for Onel Hernández: 159/220 done\n", - "Filling history dataframe for Przemyslaw Placheta: 160/220 done\n", - "Filling history dataframe for Josh Martin: 161/220 done\n", - "Filling history dataframe for Pierre Lees-Melou: 162/220 done\n", - "Filling history dataframe for Nathan Tella: 163/220 done\n", - "Filling history dataframe for Pierre-Emile Højbjerg: 164/220 done\n", - "Filling history dataframe for Dan Gosling: 165/220 done\n", - "Filling history dataframe for Tom Cleverley: 166/220 done\n", - "Filling history dataframe for Nathaniel Chalobah: 167/220 done\n", - "Filling history dataframe for Will Hughes: 168/220 done\n", - "Filling history dataframe for Declan Rice: 169/220 done\n", - "Filling history dataframe for João Filipe Iria Santos Moutinho: 170/220 done\n", - "Filling history dataframe for Leander Dendoncker: 171/220 done\n", - "Filling history dataframe for Mohamed Naser El Sayed Elneny: 172/220 done\n", - "Filling history dataframe for Lucas Torreira: 173/220 done\n", - "Filling history dataframe for Mattéo Guendouzi: 174/220 done\n", - "Filling history dataframe for Marvelous Nakamba: 175/220 done\n", - "Filling history dataframe for Douglas Luiz Soares de Paulo: 176/220 done\n", - "Filling history dataframe for Jacob Ramsey: 177/220 done\n", - "Filling history dataframe for Aaron Ramsey: 178/220 done\n", - "Filling history dataframe for Jan Zamburek: 179/220 done\n", - "Filling history dataframe for Mads Bidstrup: 180/220 done\n", - "Filling history dataframe for Davy Pröpper: 181/220 done\n", - "Filling history dataframe for Yves Bissouma: 182/220 done\n", - "Filling history dataframe for Jakub Moder: 183/220 done\n", - "Filling history dataframe for Jack Cork: 184/220 done\n", - "Filling history dataframe for Dale Stephens: 185/220 done\n", - "Filling history dataframe for Josh Brownhill: 186/220 done\n", - "Filling history dataframe for Josh Benson: 187/220 done\n", - "Filling history dataframe for James McArthur: 188/220 done\n", - "Filling history dataframe for Fabian Delph: 189/220 done\n", - "Filling history dataframe for Allan Marques Loureiro: 190/220 done\n", - "Filling history dataframe for Anthony Gordon: 191/220 done\n", - "Filling history dataframe for Jean-Philippe Gbamin: 192/220 done\n", - "Filling history dataframe for Nampalys Mendy: 193/220 done\n", - "Filling history dataframe for Hamza Choudhury: 194/220 done\n", - "Filling history dataframe for Kiernan Dewsbury-Hall: 195/220 done\n", - "Filling history dataframe for Ian Carlo Poveda-Ocampo: 196/220 done\n", - "Filling history dataframe for Jamie Shackleton: 197/220 done\n", - "Filling history dataframe for Cole Palmer: 198/220 done\n", - "Filling history dataframe for Nemanja Matic: 199/220 done\n", - "Filling history dataframe for Isaac Hayden: 200/220 done\n", - "Filling history dataframe for Sean Longstaff: 201/220 done\n", - "Filling history dataframe for Matthew Longstaff: 202/220 done\n", - "Filling history dataframe for Billy Gilmour: 203/220 done\n", - "Filling history dataframe for Lukas Rupp: 204/220 done\n", - "Filling history dataframe for Oriol Romeu Vidal: 205/220 done\n", - "Filling history dataframe for William Smallbone: 206/220 done\n", - "Filling history dataframe for Ibrahima Diallo: 207/220 done\n", - "Filling history dataframe for Moussa Sissoko: 208/220 done\n", - "Filling history dataframe for Harry Winks: 209/220 done\n", - "Filling history dataframe for Oliver Skipp: 210/220 done\n", - "Filling history dataframe for Ayotomiwa Dele-Bashiru: 211/220 done\n", - "Filling history dataframe for Domingos Quina: 212/220 done\n", - "Filling history dataframe for Joseph Hungbo: 213/220 done\n", - "Filling history dataframe for Kwadwo Baah: 214/220 done\n", - "Filling history dataframe for Oghenekaro Peter Etebo: 215/220 done\n", - "Filling history dataframe for Mark Noble: 216/220 done\n", - "Filling history dataframe for Conor Coventry: 217/220 done\n", - "Filling history dataframe for Morgan Gibbs-White: 218/220 done\n", - "Filling history dataframe for Owen Otasowie: 219/220 done\n", - "Alpha is [ 9.20967011 9.09309201 66.37465724]\n" + "Filling history dataframe for Mateo Kovacic: 137/233 done\n", + "Filling history dataframe for N'Golo Kanté: 138/233 done\n", + "Filling history dataframe for Jairo Riedewald: 139/233 done\n", + "Filling history dataframe for André Filipe Tavares Gomes: 140/233 done\n", + "Filling history dataframe for Tom Davies: 141/233 done\n", + "Filling history dataframe for Dennis Praet: 142/233 done\n", + "Filling history dataframe for Wilfred Ndidi: 143/233 done\n", + "Filling history dataframe for Boubakary Soumaré: 144/233 done\n", + "Filling history dataframe for Kalvin Phillips: 145/233 done\n", + "Filling history dataframe for Tyler Roberts: 146/233 done\n", + "Filling history dataframe for James Milner: 147/233 done\n", + "Filling history dataframe for Jordan Henderson: 148/233 done\n", + "Filling history dataframe for Naby Keita: 149/233 done\n", + "Filling history dataframe for Curtis Jones: 150/233 done\n", + "Filling history dataframe for Fernando Luiz Rosa: 151/233 done\n", + "Filling history dataframe for Samuel Edozie: 152/233 done\n", + "Filling history dataframe for Frederico Rodrigues de Paula Santos: 153/233 done\n", + "Filling history dataframe for Juan Mata: 154/233 done\n", + "Filling history dataframe for Andreas Pereira: 155/233 done\n", + "Filling history dataframe for Anthony Elanga: 156/233 done\n", + "Filling history dataframe for Jeff Hendrick: 157/233 done\n", + "Filling history dataframe for Jacob Murphy: 158/233 done\n", + "Filling history dataframe for Marco Stiepermann: 159/233 done\n", + "Filling history dataframe for Kenny McLean: 160/233 done\n", + "Filling history dataframe for Onel Hernández: 161/233 done\n", + "Filling history dataframe for Przemyslaw Placheta: 162/233 done\n", + "Filling history dataframe for Josh Martin: 163/233 done\n", + "Filling history dataframe for Pierre Lees-Melou: 164/233 done\n", + "Filling history dataframe for Christos Tzolis: 165/233 done\n", + "Filling history dataframe for Nathan Tella: 166/233 done\n", + "Filling history dataframe for Pierre-Emile Højbjerg: 167/233 done\n", + "Filling history dataframe for Dan Gosling: 168/233 done\n", + "Filling history dataframe for Tom Cleverley: 169/233 done\n", + "Filling history dataframe for Nathaniel Chalobah: 170/233 done\n", + "Filling history dataframe for Will Hughes: 171/233 done\n", + "Filling history dataframe for Declan Rice: 172/233 done\n", + "Filling history dataframe for João Filipe Iria Santos Moutinho: 173/233 done\n", + "Filling history dataframe for Leander Dendoncker: 174/233 done\n", + "Filling history dataframe for Mohamed Naser El Sayed Elneny: 175/233 done\n", + "Filling history dataframe for Lucas Torreira: 176/233 done\n", + "Filling history dataframe for Mattéo Guendouzi: 177/233 done\n", + "Filling history dataframe for Marvelous Nakamba: 178/233 done\n", + "Filling history dataframe for Douglas Luiz Soares de Paulo: 179/233 done\n", + "Filling history dataframe for Jacob Ramsey: 180/233 done\n", + "Filling history dataframe for Aaron Ramsey: 181/233 done\n", + "Filling history dataframe for Carney Chukwuemeka: 182/233 done\n", + "Filling history dataframe for Jan Zamburek: 183/233 done\n", + "Filling history dataframe for Mads Bidstrup: 184/233 done\n", + "Filling history dataframe for Davy Pröpper: 185/233 done\n", + "Filling history dataframe for Yves Bissouma: 186/233 done\n", + "Filling history dataframe for Jakub Moder: 187/233 done\n", + "Filling history dataframe for Taylor Richards: 188/233 done\n", + "Filling history dataframe for Moisés Caicedo: 189/233 done\n", + "Filling history dataframe for Jack Cork: 190/233 done\n", + "Filling history dataframe for Dale Stephens: 191/233 done\n", + "Filling history dataframe for Josh Brownhill: 192/233 done\n", + "Filling history dataframe for Josh Benson: 193/233 done\n", + "Filling history dataframe for James McArthur: 194/233 done\n", + "Filling history dataframe for Jesurun Rak-Sakyi: 195/233 done\n", + "Filling history dataframe for Scott Banks: 196/233 done\n", + "Filling history dataframe for Fabian Delph: 197/233 done\n", + "Filling history dataframe for Allan Marques Loureiro: 198/233 done\n", + "Filling history dataframe for Anthony Gordon: 199/233 done\n", + "Filling history dataframe for Jean-Philippe Gbamin: 200/233 done\n", + "Filling history dataframe for Nampalys Mendy: 201/233 done\n", + "Filling history dataframe for Hamza Choudhury: 202/233 done\n", + "Filling history dataframe for Kiernan Dewsbury-Hall: 203/233 done\n", + "Filling history dataframe for Ian Carlo Poveda-Ocampo: 204/233 done\n", + "Filling history dataframe for Jamie Shackleton: 205/233 done\n", + "Filling history dataframe for Crysencio Summerville: 206/233 done\n", + "Filling history dataframe for Adam Forshaw: 207/233 done\n", + "Filling history dataframe for Ben Woodburn: 208/233 done\n", + "Filling history dataframe for Cole Palmer: 209/233 done\n", + "Filling history dataframe for Nemanja Matic: 210/233 done\n", + "Filling history dataframe for Isaac Hayden: 211/233 done\n", + "Filling history dataframe for Sean Longstaff: 212/233 done\n", + "Filling history dataframe for Matthew Longstaff: 213/233 done\n", + "Filling history dataframe for Billy Gilmour: 214/233 done\n", + "Filling history dataframe for Lukas Rupp: 215/233 done\n", + "Filling history dataframe for Oriol Romeu Vidal: 216/233 done\n", + "Filling history dataframe for William Smallbone: 217/233 done\n", + "Filling history dataframe for Ibrahima Diallo: 218/233 done\n", + "Filling history dataframe for Moussa Sissoko: 219/233 done\n", + "Filling history dataframe for Harry Winks: 220/233 done\n", + "Filling history dataframe for Oliver Skipp: 221/233 done\n", + "Filling history dataframe for Ayotomiwa Dele-Bashiru: 222/233 done\n", + "Filling history dataframe for Domingos Quina: 223/233 done\n", + "Filling history dataframe for Joseph Hungbo: 224/233 done\n", + "Filling history dataframe for Kwadwo Baah: 225/233 done\n", + "Filling history dataframe for Oghenekaro Peter Etebo: 226/233 done\n", + "Filling history dataframe for Mark Noble: 227/233 done\n", + "Filling history dataframe for Conor Coventry: 228/233 done\n", + "Filling history dataframe for Morgan Gibbs-White: 229/233 done\n", + "Filling history dataframe for Owen Otasowie: 230/233 done\n", + "Filling history dataframe for Luke Cundle: 231/233 done\n", + "Filling history dataframe for Chem Campbell: 232/233 done\n", + "Alpha is [ 7.57610141 7.49343156 54.60857862]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "sample: 100%|███████████| 4500/4500 [00:34<00:00, 128.58it/s, 15 steps of size 2.84e-01. acc. prob=0.87]\n" + "sample: 100%|███████| 4500/4500 [00:41<00:00, 109.69it/s, 15 steps of size 3.00e-01. acc. prob=0.86]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Filling history dataframe for Trent Alexander-Arnold: 0/180 done\n", - "Filling history dataframe for Andrew Robertson: 1/180 done\n", - "Filling history dataframe for Virgil van Dijk: 2/180 done\n", - "Filling history dataframe for César Azpilicueta: 3/180 done\n", - "Filling history dataframe for Benjamin Chilwell: 4/180 done\n", - "Filling history dataframe for João Pedro Cavaco Cancelo: 5/180 done\n", - "Filling history dataframe for Rúben Santos Gato Alves Dias: 6/180 done\n", - "Filling history dataframe for Thiago Emiliano da Silva: 7/180 done\n", - "Filling history dataframe for Marcos Alonso: 8/180 done\n", - "Filling history dataframe for Antonio Rüdiger: 9/180 done\n", - "Filling history dataframe for Kurt Zouma: 10/180 done\n", - "Filling history dataframe for Reece James: 11/180 done\n", - "Filling history dataframe for Lucas Digne: 12/180 done\n", - "Filling history dataframe for Jonny Evans: 13/180 done\n", - "Filling history dataframe for Ricardo Domingos Barbosa Pereira: 14/180 done\n", - "Filling history dataframe for Timothy Castagne: 15/180 done\n", - "Filling history dataframe for Ibrahima Konaté: 16/180 done\n", - "Filling history dataframe for Kyle Walker: 17/180 done\n", - "Filling history dataframe for John Stones: 18/180 done\n", - "Filling history dataframe for Benjamin Mendy: 19/180 done\n", - "Filling history dataframe for Aymeric Laporte: 20/180 done\n", - "Filling history dataframe for Oleksandr Zinchenko: 21/180 done\n", - "Filling history dataframe for Harry Maguire: 22/180 done\n", - "Filling history dataframe for Luke Shaw: 23/180 done\n", - "Filling history dataframe for Aaron Wan-Bissaka: 24/180 done\n", - "Filling history dataframe for Aaron Cresswell: 25/180 done\n", - "Filling history dataframe for Héctor Bellerín: 26/180 done\n", - "Filling history dataframe for Kieran Tierney: 27/180 done\n", - "Filling history dataframe for Gabriel Magalhães: 28/180 done\n", - "Filling history dataframe for Tyrone Mings: 29/180 done\n", - "Filling history dataframe for Matt Targett: 30/180 done\n", - "Filling history dataframe for Matthew Cash: 31/180 done\n", - "Filling history dataframe for Ezri Konsa Ngoyo: 32/180 done\n", - "Filling history dataframe for Ashley Young: 33/180 done\n", - "Filling history dataframe for Lewis Dunk: 34/180 done\n", - "Filling history dataframe for James Tarkowski: 35/180 done\n", - "Filling history dataframe for Ben Mee: 36/180 done\n", - "Filling history dataframe for Andreas Christensen: 37/180 done\n", - "Filling history dataframe for Malang Sarr: 38/180 done\n", - "Filling history dataframe for Seamus Coleman: 39/180 done\n", - "Filling history dataframe for Michael Keane: 40/180 done\n", - "Filling history dataframe for Yerry Mina: 41/180 done\n", - "Filling history dataframe for Ben Godfrey: 42/180 done\n", - "Filling history dataframe for Çaglar Söyüncü: 43/180 done\n", - "Filling history dataframe for James Justin: 44/180 done\n", - "Filling history dataframe for Ryan Bertrand: 45/180 done\n", - "Filling history dataframe for Héctor Junior Firpo Adames: 46/180 done\n", - "Filling history dataframe for Joel Matip: 47/180 done\n", - "Filling history dataframe for Joseph Gomez: 48/180 done\n", - "Filling history dataframe for Nathan Aké: 49/180 done\n", - "Filling history dataframe for Alex Nicolao Telles: 50/180 done\n", - "Filling history dataframe for Victor Lindelöf: 51/180 done\n", - "Filling history dataframe for Eric Bailly: 52/180 done\n", - "Filling history dataframe for Matt Ritchie: 53/180 done\n", - "Filling history dataframe for Jannik Vestergaard: 54/180 done\n", - "Filling history dataframe for Kyle Walker-Peters: 55/180 done\n", - "Filling history dataframe for Romain Perraud: 56/180 done\n", - "Filling history dataframe for Toby Alderweireld: 57/180 done\n", - "Filling history dataframe for Serge Aurier: 58/180 done\n", - "Filling history dataframe for Matt Doherty: 59/180 done\n", - "Filling history dataframe for Sergio Reguilón: 60/180 done\n", - "Filling history dataframe for Cristian Romero: 61/180 done\n", - "Filling history dataframe for Angelo Ogbonna: 62/180 done\n", - "Filling history dataframe for Craig Dawson: 63/180 done\n", - "Filling history dataframe for Vladimir Coufal: 64/180 done\n", - "Filling history dataframe for Willy Boly: 65/180 done\n", - "Filling history dataframe for Romain Saïss: 66/180 done\n", - "Filling history dataframe for Nélson Cabral Semedo: 67/180 done\n", - "Filling history dataframe for Cédric Soares: 68/180 done\n", - "Filling history dataframe for Pablo Marí: 69/180 done\n", - "Filling history dataframe for Calum Chambers: 70/180 done\n", - "Filling history dataframe for Sead Kolasinac: 71/180 done\n", - "Filling history dataframe for Rob Holding: 72/180 done\n", - "Filling history dataframe for Konstantinos Mavropanos: 73/180 done\n", - "Filling history dataframe for William Saliba: 74/180 done\n", - "Filling history dataframe for Ben White: 75/180 done\n", - "Filling history dataframe for Nuno Varela Tavares: 76/180 done\n", - "Filling history dataframe for Björn Engels: 77/180 done\n", - "Filling history dataframe for Kortney Hause: 78/180 done\n", - "Filling history dataframe for Frédéric Guilbert: 79/180 done\n", - "Filling history dataframe for Axel Tuanzebe: 80/180 done\n", - "Filling history dataframe for Pontus Jansson: 81/180 done\n", - "Filling history dataframe for Rico Henry: 82/180 done\n", - "Filling history dataframe for Mads Roerslev Rasmussen: 83/180 done\n", - "Filling history dataframe for Mads Bech Sørensen: 84/180 done\n", - "Filling history dataframe for Ethan Pinnock: 85/180 done\n", - "Filling history dataframe for Kristoffer Ajer: 86/180 done\n", - "Filling history dataframe for Dominic Thompson: 87/180 done\n", - "Filling history dataframe for Dan Burn: 88/180 done\n", - "Filling history dataframe for Adam Webster: 89/180 done\n", - "Filling history dataframe for Joël Veltman: 90/180 done\n", - "Filling history dataframe for Tariq Lamptey: 91/180 done\n", - "Filling history dataframe for Erik Pieters: 92/180 done\n", - "Filling history dataframe for Matthew Lowton: 93/180 done\n", - "Filling history dataframe for Charlie Taylor: 94/180 done\n", - "Filling history dataframe for Nathan Collins: 95/180 done\n", - "Filling history dataframe for Ethan Ampadu: 96/180 done\n", - "Filling history dataframe for James Tomkins: 97/180 done\n", - "Filling history dataframe for Cheikhou Kouyaté: 98/180 done\n", - "Filling history dataframe for Jarosław Jach: 99/180 done\n", - "Filling history dataframe for Nathan Ferguson: 100/180 done\n", - "Filling history dataframe for Tyrick Mitchell: 101/180 done\n", - "Filling history dataframe for Joel Ward: 102/180 done\n", - "Filling history dataframe for Marc Guéhi: 103/180 done\n", - "Filling history dataframe for Joachim Andersen: 104/180 done\n", - "Filling history dataframe for Nathaniel Clyne: 105/180 done\n", - "Filling history dataframe for Mason Holgate: 106/180 done\n", - "Filling history dataframe for Jonjoe Kenny: 107/180 done\n", - "Filling history dataframe for Luke Thomas: 108/180 done\n", - "Filling history dataframe for Wesley Fofana: 109/180 done\n", - "Filling history dataframe for Liam Cooper: 110/180 done\n", - "Filling history dataframe for Luke Ayling: 111/180 done\n", - "Filling history dataframe for Diego Llorente: 112/180 done\n", - "Filling history dataframe for Robin Koch: 113/180 done\n", - "Filling history dataframe for Pascal Struijk: 114/180 done\n", - "Filling history dataframe for Nathaniel Phillips: 115/180 done\n", - "Filling history dataframe for Rhys Williams: 116/180 done\n", - "Filling history dataframe for José Diogo Dalot Teixeira: 117/180 done\n", - "Filling history dataframe for Ciaran Clark: 118/180 done\n", - "Filling history dataframe for Jamaal Lascelles: 119/180 done\n", - "Filling history dataframe for Paul Dummett: 120/180 done\n", - "Filling history dataframe for Emil Krafth: 121/180 done\n", - "Filling history dataframe for Fabian Schär: 122/180 done\n", - "Filling history dataframe for Jamal Lewis: 123/180 done\n", - "Filling history dataframe for Federico Fernández: 124/180 done\n", - "Filling history dataframe for Grant Hanley: 125/180 done\n", - "Filling history dataframe for Sam Byram: 126/180 done\n", - "Filling history dataframe for Christoph Zimmermann: 127/180 done\n", - "Filling history dataframe for Max Aarons: 128/180 done\n", - "Filling history dataframe for Jacob Sørensen: 129/180 done\n", - "Filling history dataframe for Ben Gibson: 130/180 done\n", - "Filling history dataframe for Dimitris Giannoulis: 131/180 done\n", - "Filling history dataframe for Jack Stephens: 132/180 done\n", - "Filling history dataframe for Jan Bednarek: 133/180 done\n", - "Filling history dataframe for Mohammed Salisu: 134/180 done\n", - "Filling history dataframe for Eric Dier: 135/180 done\n", - "Filling history dataframe for Ben Davies: 136/180 done\n", - "Filling history dataframe for Davinson Sánchez: 137/180 done\n", - "Filling history dataframe for Ryan Sessegnon: 138/180 done\n", - "Filling history dataframe for Japhet Tanganga: 139/180 done\n", - "Filling history dataframe for Joe Rodon: 140/180 done\n", - "Filling history dataframe for Danny Rose: 141/180 done\n", - "Filling history dataframe for Craig Cathcart: 142/180 done\n", - "Filling history dataframe for Francisco Femenía Far: 143/180 done\n", - "Filling history dataframe for Christian Kabasele: 144/180 done\n", - "Filling history dataframe for William Troost-Ekong: 145/180 done\n", - "Filling history dataframe for Adam Masina: 146/180 done\n", - "Filling history dataframe for Francisco Sierralta: 147/180 done\n", - "Filling history dataframe for Jeremy Ngakia: 148/180 done\n", - "Filling history dataframe for Ben Wilmot: 149/180 done\n", - "Filling history dataframe for Ryan Fredericks: 150/180 done\n", - "Filling history dataframe for Arthur Masuaku: 151/180 done\n" + "Filling history dataframe for Trent Alexander-Arnold: 0/189 done\n", + "Filling history dataframe for Andrew Robertson: 1/189 done\n", + "Filling history dataframe for Virgil van Dijk: 2/189 done\n", + "Filling history dataframe for César Azpilicueta: 3/189 done\n", + "Filling history dataframe for Benjamin Chilwell: 4/189 done\n", + "Filling history dataframe for João Pedro Cavaco Cancelo: 5/189 done\n", + "Filling history dataframe for Rúben Santos Gato Alves Dias: 6/189 done\n", + "Filling history dataframe for Thiago Emiliano da Silva: 7/189 done\n", + "Filling history dataframe for Marcos Alonso: 8/189 done\n", + "Filling history dataframe for Antonio Rüdiger: 9/189 done\n", + "Filling history dataframe for Kurt Zouma: 10/189 done\n", + "Filling history dataframe for Reece James: 11/189 done\n", + "Filling history dataframe for Lucas Digne: 12/189 done\n", + "Filling history dataframe for Jonny Evans: 13/189 done\n", + "Filling history dataframe for Ricardo Domingos Barbosa Pereira: 14/189 done\n", + "Filling history dataframe for Timothy Castagne: 15/189 done\n", + "Filling history dataframe for Ibrahima Konaté: 16/189 done\n", + "Filling history dataframe for Kyle Walker: 17/189 done\n", + "Filling history dataframe for John Stones: 18/189 done\n", + "Filling history dataframe for Benjamin Mendy: 19/189 done\n", + "Filling history dataframe for Aymeric Laporte: 20/189 done\n", + "Filling history dataframe for Oleksandr Zinchenko: 21/189 done\n", + "Filling history dataframe for Harry Maguire: 22/189 done\n", + "Filling history dataframe for Luke Shaw: 23/189 done\n", + "Filling history dataframe for Aaron Wan-Bissaka: 24/189 done\n", + "Filling history dataframe for Aaron Cresswell: 25/189 done\n", + "Filling history dataframe for Héctor Bellerín: 26/189 done\n", + "Filling history dataframe for Kieran Tierney: 27/189 done\n", + "Filling history dataframe for Gabriel Magalhães: 28/189 done\n", + "Filling history dataframe for Tyrone Mings: 29/189 done\n", + "Filling history dataframe for Matt Targett: 30/189 done\n", + "Filling history dataframe for Matthew Cash: 31/189 done\n", + "Filling history dataframe for Ezri Konsa Ngoyo: 32/189 done\n", + "Filling history dataframe for Ashley Young: 33/189 done\n", + "Filling history dataframe for Lewis Dunk: 34/189 done\n", + "Filling history dataframe for James Tarkowski: 35/189 done\n", + "Filling history dataframe for Ben Mee: 36/189 done\n", + "Filling history dataframe for Andreas Christensen: 37/189 done\n", + "Filling history dataframe for Malang Sarr: 38/189 done\n", + "Filling history dataframe for Trevoh Chalobah: 39/189 done\n", + "Filling history dataframe for Seamus Coleman: 40/189 done\n", + "Filling history dataframe for Michael Keane: 41/189 done\n", + "Filling history dataframe for Yerry Mina: 42/189 done\n", + "Filling history dataframe for Ben Godfrey: 43/189 done\n", + "Filling history dataframe for Çaglar Söyüncü: 44/189 done\n", + "Filling history dataframe for James Justin: 45/189 done\n", + "Filling history dataframe for Jannik Vestergaard: 46/189 done\n", + "Filling history dataframe for Ryan Bertrand: 47/189 done\n", + "Filling history dataframe for Héctor Junior Firpo Adames: 48/189 done\n", + "Filling history dataframe for Joel Matip: 49/189 done\n", + "Filling history dataframe for Joseph Gomez: 50/189 done\n", + "Filling history dataframe for Nathan Aké: 51/189 done\n", + "Filling history dataframe for Alex Nicolao Telles: 52/189 done\n", + "Filling history dataframe for Victor Lindelöf: 53/189 done\n", + "Filling history dataframe for Eric Bailly: 54/189 done\n", + "Filling history dataframe for Matt Ritchie: 55/189 done\n", + "Filling history dataframe for Kyle Walker-Peters: 56/189 done\n", + "Filling history dataframe for Romain Perraud: 57/189 done\n", + "Filling history dataframe for Toby Alderweireld: 58/189 done\n", + "Filling history dataframe for Serge Aurier: 59/189 done\n", + "Filling history dataframe for Matt Doherty: 60/189 done\n", + "Filling history dataframe for Sergio Reguilón: 61/189 done\n", + "Filling history dataframe for Cristian Romero: 62/189 done\n", + "Filling history dataframe for Angelo Ogbonna: 63/189 done\n", + "Filling history dataframe for Craig Dawson: 64/189 done\n", + "Filling history dataframe for Vladimir Coufal: 65/189 done\n", + "Filling history dataframe for Willy Boly: 66/189 done\n", + "Filling history dataframe for Romain Saïss: 67/189 done\n", + "Filling history dataframe for Nélson Cabral Semedo: 68/189 done\n", + "Filling history dataframe for Cédric Soares: 69/189 done\n", + "Filling history dataframe for Pablo Marí: 70/189 done\n", + "Filling history dataframe for Calum Chambers: 71/189 done\n", + "Filling history dataframe for Sead Kolasinac: 72/189 done\n", + "Filling history dataframe for Rob Holding: 73/189 done\n", + "Filling history dataframe for Konstantinos Mavropanos: 74/189 done\n", + "Filling history dataframe for William Saliba: 75/189 done\n", + "Filling history dataframe for Ben White: 76/189 done\n", + "Filling history dataframe for Nuno Varela Tavares: 77/189 done\n", + "Filling history dataframe for Björn Engels: 78/189 done\n", + "Filling history dataframe for Kortney Hause: 79/189 done\n", + "Filling history dataframe for Frédéric Guilbert: 80/189 done\n", + "Filling history dataframe for Axel Tuanzebe: 81/189 done\n", + "Filling history dataframe for Pontus Jansson: 82/189 done\n", + "Filling history dataframe for Rico Henry: 83/189 done\n", + "Filling history dataframe for Mads Roerslev Rasmussen: 84/189 done\n", + "Filling history dataframe for Mads Bech Sørensen: 85/189 done\n", + "Filling history dataframe for Ethan Pinnock: 86/189 done\n", + "Filling history dataframe for Kristoffer Ajer: 87/189 done\n", + "Filling history dataframe for Dominic Thompson: 88/189 done\n", + "Filling history dataframe for Dan Burn: 89/189 done\n", + "Filling history dataframe for Adam Webster: 90/189 done\n", + "Filling history dataframe for Joël Veltman: 91/189 done\n", + "Filling history dataframe for Tariq Lamptey: 92/189 done\n", + "Filling history dataframe for Erik Pieters: 93/189 done\n", + "Filling history dataframe for Matthew Lowton: 94/189 done\n", + "Filling history dataframe for Charlie Taylor: 95/189 done\n", + "Filling history dataframe for Nathan Collins: 96/189 done\n", + "Filling history dataframe for Ethan Ampadu: 97/189 done\n", + "Filling history dataframe for Emerson Palmieri dos Santos: 98/189 done\n", + "Filling history dataframe for James Tomkins: 99/189 done\n", + "Filling history dataframe for Cheikhou Kouyaté: 100/189 done\n", + "Filling history dataframe for Jarosław Jach: 101/189 done\n", + "Filling history dataframe for Nathan Ferguson: 102/189 done\n", + "Filling history dataframe for Tyrick Mitchell: 103/189 done\n", + "Filling history dataframe for Joel Ward: 104/189 done\n", + "Filling history dataframe for Marc Guéhi: 105/189 done\n", + "Filling history dataframe for Joachim Andersen: 106/189 done\n", + "Filling history dataframe for Nathaniel Clyne: 107/189 done\n", + "Filling history dataframe for Mason Holgate: 108/189 done\n", + "Filling history dataframe for Jonjoe Kenny: 109/189 done\n", + "Filling history dataframe for Luke Thomas: 110/189 done\n", + "Filling history dataframe for Wesley Fofana: 111/189 done\n", + "Filling history dataframe for Liam Cooper: 112/189 done\n", + "Filling history dataframe for Luke Ayling: 113/189 done\n", + "Filling history dataframe for Diego Llorente: 114/189 done\n", + "Filling history dataframe for Robin Koch: 115/189 done\n", + "Filling history dataframe for Pascal Struijk: 116/189 done\n", + "Filling history dataframe for Nathaniel Phillips: 117/189 done\n", + "Filling history dataframe for Rhys Williams: 118/189 done\n", + "Filling history dataframe for José Diogo Dalot Teixeira: 119/189 done\n", + "Filling history dataframe for Ciaran Clark: 120/189 done\n", + "Filling history dataframe for Jamaal Lascelles: 121/189 done\n", + "Filling history dataframe for Paul Dummett: 122/189 done\n", + "Filling history dataframe for Emil Krafth: 123/189 done\n", + "Filling history dataframe for Fabian Schär: 124/189 done\n", + "Filling history dataframe for Jamal Lewis: 125/189 done\n", + "Filling history dataframe for Federico Fernández: 126/189 done\n", + "Filling history dataframe for Grant Hanley: 127/189 done\n", + "Filling history dataframe for Sam Byram: 128/189 done\n", + "Filling history dataframe for Christoph Zimmermann: 129/189 done\n", + "Filling history dataframe for Max Aarons: 130/189 done\n", + "Filling history dataframe for Jacob Sørensen: 131/189 done\n", + "Filling history dataframe for Ben Gibson: 132/189 done\n", + "Filling history dataframe for Dimitris Giannoulis: 133/189 done\n", + "Filling history dataframe for Jack Stephens: 134/189 done\n", + "Filling history dataframe for Jan Bednarek: 135/189 done\n", + "Filling history dataframe for Mohammed Salisu: 136/189 done\n", + "Filling history dataframe for Eric Dier: 137/189 done\n", + "Filling history dataframe for Ben Davies: 138/189 done\n", + "Filling history dataframe for Davinson Sánchez: 139/189 done\n", + "Filling history dataframe for Ryan Sessegnon: 140/189 done\n", + "Filling history dataframe for Japhet Tanganga: 141/189 done\n", + "Filling history dataframe for Joe Rodon: 142/189 done\n", + "Filling history dataframe for Danny Rose: 143/189 done\n", + "Filling history dataframe for Craig Cathcart: 144/189 done\n", + "Filling history dataframe for Francisco Femenía Far: 145/189 done\n", + "Filling history dataframe for Christian Kabasele: 146/189 done\n", + "Filling history dataframe for William Troost-Ekong: 147/189 done\n", + "Filling history dataframe for Adam Masina: 148/189 done\n", + "Filling history dataframe for Francisco Sierralta: 149/189 done\n", + "Filling history dataframe for Jeremy Ngakia: 150/189 done\n", + "Filling history dataframe for Ben Wilmot: 151/189 done\n", + "Filling history dataframe for Ryan Fredericks: 152/189 done\n", + "Filling history dataframe for Arthur Masuaku: 153/189 done\n", + "Filling history dataframe for Issa Diop: 154/189 done\n", + "Filling history dataframe for Conor Coady: 155/189 done\n", + "Filling history dataframe for Fernando Marçal: 156/189 done\n", + "Filling history dataframe for Jonathan Castro Otto: 157/189 done\n", + "Filling history dataframe for Max Kilman: 158/189 done\n", + "Filling history dataframe for Yerson Mosquera Valdelamar: 159/189 done\n", + "Filling history dataframe for Rayan Ait Nouri: 160/189 done\n", + "Filling history dataframe for Charlie Goode: 161/189 done\n", + "Filling history dataframe for Shane Duffy: 162/189 done\n", + "Filling history dataframe for Bernardo Fernandes Da Silva Junior: 163/189 done\n", + "Filling history dataframe for Michal Karbownik: 164/189 done\n", + "Filling history dataframe for Phil Bardsley: 165/189 done\n", + "Filling history dataframe for Kevin Long: 166/189 done\n", + "Filling history dataframe for Bobby Thomas: 167/189 done\n", + "Filling history dataframe for Martin Kelly: 168/189 done\n", + "Filling history dataframe for Reece Hannam: 169/189 done\n", + "Filling history dataframe for Jarrad Branthwaite: 170/189 done\n", + "Filling history dataframe for Daniel Amartey: 171/189 done\n", + "Filling history dataframe for Konstantinos Tsimikas: 172/189 done\n", + "Filling history dataframe for Neco Williams: 173/189 done\n", + "Filling history dataframe for Ben Davies: 174/189 done\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Filling history dataframe for Issa Diop: 152/180 done\n", - "Filling history dataframe for Conor Coady: 153/180 done\n", - "Filling history dataframe for Fernando Marçal: 154/180 done\n", - "Filling history dataframe for Jonathan Castro Otto: 155/180 done\n", - "Filling history dataframe for Max Kilman: 156/180 done\n", - "Filling history dataframe for Yerson Mosquera Valdelamar: 157/180 done\n", - "Filling history dataframe for Rayan Ait Nouri: 158/180 done\n", - "Filling history dataframe for Charlie Goode: 159/180 done\n", - "Filling history dataframe for Shane Duffy: 160/180 done\n", - "Filling history dataframe for Bernardo Fernandes Da Silva Junior: 161/180 done\n", - "Filling history dataframe for Phil Bardsley: 162/180 done\n", - "Filling history dataframe for Kevin Long: 163/180 done\n", - "Filling history dataframe for Martin Kelly: 164/180 done\n", - "Filling history dataframe for Daniel Amartey: 165/180 done\n", - "Filling history dataframe for Konstantinos Tsimikas: 166/180 done\n", - "Filling history dataframe for Neco Williams: 167/180 done\n", - "Filling history dataframe for Ben Davies: 168/180 done\n", - "Filling history dataframe for Brandon Williams: 169/180 done\n", - "Filling history dataframe for Javier Manquillo: 170/180 done\n", - "Filling history dataframe for Andrew Omobamidele: 171/180 done\n", - "Filling history dataframe for Bali Mumba: 172/180 done\n", - "Filling history dataframe for Tino Livramento: 173/180 done\n", - "Filling history dataframe for Marc Navarro: 174/180 done\n", - "Filling history dataframe for Matthew Pollock: 175/180 done\n", - "Filling history dataframe for Winston Reid: 176/180 done\n", - "Filling history dataframe for Ben Johnson: 177/180 done\n", - "Filling history dataframe for Frederik Alves: 178/180 done\n", - "Filling history dataframe for Ki-Jana Hoever: 179/180 done\n", - "Alpha is [ 2.65911566 4.64218497 80.79937051]\n" + "Filling history dataframe for Brandon Williams: 175/189 done\n", + "Filling history dataframe for Javier Manquillo: 176/189 done\n", + "Filling history dataframe for Andrew Omobamidele: 177/189 done\n", + "Filling history dataframe for Bali Mumba: 178/189 done\n", + "Filling history dataframe for Tino Livramento: 179/189 done\n", + "Filling history dataframe for Yan Valery: 180/189 done\n", + "Filling history dataframe for Marc Navarro: 181/189 done\n", + "Filling history dataframe for Matthew Pollock: 182/189 done\n", + "Filling history dataframe for Winston Reid: 183/189 done\n", + "Filling history dataframe for Ben Johnson: 184/189 done\n", + "Filling history dataframe for Frederik Alves: 185/189 done\n", + "Filling history dataframe for Jamal Baptiste: 186/189 done\n", + "Filling history dataframe for Ki-Jana Hoever: 187/189 done\n", + "Filling history dataframe for Christian Marques: 188/189 done\n", + "Alpha is [ 2.20695308 3.80735945 66.82079385]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "sample: 100%|███████████| 4500/4500 [00:29<00:00, 153.04it/s, 15 steps of size 2.59e-01. acc. prob=0.89]\n" + "sample: 100%|███████| 4500/4500 [00:38<00:00, 117.98it/s, 15 steps of size 2.65e-01. acc. prob=0.88]\n" ] } ], @@ -853,7 +883,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -913,72 +943,72 @@ " \n", " 7\n", " Danny Ings\n", - " 0.419006\n", - " 0.133731\n", - " 0.447263\n", + " 0.436643\n", + " 0.130513\n", + " 0.432844\n", " \n", " \n", " 17\n", " Chris Wood\n", - " 0.380964\n", - " 0.119381\n", - " 0.499655\n", + " 0.388925\n", + " 0.114703\n", + " 0.496372\n", " \n", " \n", " 0\n", " Pierre-Emerick Aubameyang\n", - " 0.374010\n", - " 0.128854\n", - " 0.497136\n", + " 0.381972\n", + " 0.126044\n", + " 0.491984\n", " \n", " \n", " 19\n", " Olivier Giroud\n", - " 0.356051\n", - " 0.157327\n", - " 0.486622\n", - " \n", - " \n", - " 26\n", - " Dominic Calvert-Lewin\n", - " 0.349573\n", - " 0.140500\n", - " 0.509926\n", + " 0.369933\n", + " 0.159366\n", + " 0.470701\n", " \n", " \n", " 22\n", " Tammy Abraham\n", - " 0.349531\n", - " 0.152698\n", - " 0.497770\n", + " 0.359916\n", + " 0.154560\n", + " 0.485524\n", " \n", " \n", - " 64\n", - " Raúl Jiménez\n", - " 0.348702\n", - " 0.178484\n", - " 0.472813\n", + " 26\n", + " Dominic Calvert-Lewin\n", + " 0.357257\n", + " 0.137516\n", + " 0.505227\n", " \n", " \n", " 37\n", " Anthony Martial\n", - " 0.348614\n", - " 0.201009\n", - " 0.450377\n", - " \n", - " \n", - " 51\n", - " Harry Kane\n", - " 0.348130\n", - " 0.143002\n", - " 0.508868\n", + " 0.356406\n", + " 0.208686\n", + " 0.434908\n", " \n", " \n", " 28\n", " Jamie Vardy\n", - " 0.346544\n", + " 0.355651\n", " 0.164212\n", - " 0.489244\n", + " 0.480137\n", + " \n", + " \n", + " 64\n", + " Raúl Jiménez\n", + " 0.355503\n", + " 0.182633\n", + " 0.461864\n", + " \n", + " \n", + " 51\n", + " Harry Kane\n", + " 0.352839\n", + " 0.142425\n", + " 0.504735\n", " \n", " \n", "\n", @@ -986,16 +1016,16 @@ ], "text/plain": [ " name prob_score prob_assist prob_neither\n", - "7 Danny Ings 0.419006 0.133731 0.447263\n", - "17 Chris Wood 0.380964 0.119381 0.499655\n", - "0 Pierre-Emerick Aubameyang 0.374010 0.128854 0.497136\n", - "19 Olivier Giroud 0.356051 0.157327 0.486622\n", - "26 Dominic Calvert-Lewin 0.349573 0.140500 0.509926\n", - "22 Tammy Abraham 0.349531 0.152698 0.497770\n", - "64 Raúl Jiménez 0.348702 0.178484 0.472813\n", - "37 Anthony Martial 0.348614 0.201009 0.450377\n", - "51 Harry Kane 0.348130 0.143002 0.508868\n", - "28 Jamie Vardy 0.346544 0.164212 0.489244" + "7 Danny Ings 0.436643 0.130513 0.432844\n", + "17 Chris Wood 0.388925 0.114703 0.496372\n", + "0 Pierre-Emerick Aubameyang 0.381972 0.126044 0.491984\n", + "19 Olivier Giroud 0.369933 0.159366 0.470701\n", + "22 Tammy Abraham 0.359916 0.154560 0.485524\n", + "26 Dominic Calvert-Lewin 0.357257 0.137516 0.505227\n", + "37 Anthony Martial 0.356406 0.208686 0.434908\n", + "28 Jamie Vardy 0.355651 0.164212 0.480137\n", + "64 Raúl Jiménez 0.355503 0.182633 0.461864\n", + "51 Harry Kane 0.352839 0.142425 0.504735" ] }, "execution_count": 12, @@ -1044,72 +1074,72 @@ " \n", " 115\n", " Mohamed Salah\n", - " 0.263217\n", - " 0.135257\n", - " 0.601525\n", - " \n", - " \n", - " 113\n", - " Sadio Mané\n", - " 0.247171\n", - " 0.134980\n", - " 0.617849\n", + " 0.273805\n", + " 0.142624\n", + " 0.583571\n", " \n", " \n", " 118\n", " Diogo Jota\n", - " 0.246123\n", - " 0.144510\n", - " 0.609367\n", + " 0.268702\n", + " 0.148473\n", + " 0.582825\n", + " \n", + " \n", + " 113\n", + " Sadio Mané\n", + " 0.252196\n", + " 0.135145\n", + " 0.612660\n", " \n", " \n", " 178\n", " Heung-Min Son\n", - " 0.236003\n", - " 0.197724\n", - " 0.566273\n", + " 0.250461\n", + " 0.204082\n", + " 0.545457\n", " \n", " \n", " 138\n", " Marcus Rashford\n", - " 0.233239\n", - " 0.172716\n", - " 0.594045\n", + " 0.243572\n", + " 0.178158\n", + " 0.578270\n", " \n", " \n", " 137\n", " Bruno Miguel Borges Fernandes\n", - " 0.215141\n", - " 0.189257\n", - " 0.595602\n", - " \n", - " \n", - " 125\n", - " Raheem Sterling\n", - " 0.213007\n", - " 0.147724\n", - " 0.639269\n", + " 0.238181\n", + " 0.191716\n", + " 0.570103\n", " \n", " \n", " 91\n", " Ayoze Pérez\n", - " 0.212885\n", - " 0.117487\n", - " 0.669628\n", + " 0.225603\n", + " 0.117771\n", + " 0.656626\n", " \n", " \n", " 142\n", " Mason Greenwood\n", - " 0.206455\n", - " 0.095866\n", - " 0.697679\n", + " 0.220313\n", + " 0.090482\n", + " 0.689204\n", + " \n", + " \n", + " 125\n", + " Raheem Sterling\n", + " 0.218636\n", + " 0.150042\n", + " 0.631322\n", " \n", " \n", " 19\n", " Anwar El Ghazi\n", - " 0.194924\n", - " 0.118159\n", - " 0.686917\n", + " 0.208516\n", + " 0.121247\n", + " 0.670237\n", " \n", " \n", "\n", @@ -1117,16 +1147,16 @@ ], "text/plain": [ " name prob_score prob_assist prob_neither\n", - "115 Mohamed Salah 0.263217 0.135257 0.601525\n", - "113 Sadio Mané 0.247171 0.134980 0.617849\n", - "118 Diogo Jota 0.246123 0.144510 0.609367\n", - "178 Heung-Min Son 0.236003 0.197724 0.566273\n", - "138 Marcus Rashford 0.233239 0.172716 0.594045\n", - "137 Bruno Miguel Borges Fernandes 0.215141 0.189257 0.595602\n", - "125 Raheem Sterling 0.213007 0.147724 0.639269\n", - "91 Ayoze Pérez 0.212885 0.117487 0.669628\n", - "142 Mason Greenwood 0.206455 0.095866 0.697679\n", - "19 Anwar El Ghazi 0.194924 0.118159 0.686917" + "115 Mohamed Salah 0.273805 0.142624 0.583571\n", + "118 Diogo Jota 0.268702 0.148473 0.582825\n", + "113 Sadio Mané 0.252196 0.135145 0.612660\n", + "178 Heung-Min Son 0.250461 0.204082 0.545457\n", + "138 Marcus Rashford 0.243572 0.178158 0.578270\n", + "137 Bruno Miguel Borges Fernandes 0.238181 0.191716 0.570103\n", + "91 Ayoze Pérez 0.225603 0.117771 0.656626\n", + "142 Mason Greenwood 0.220313 0.090482 0.689204\n", + "125 Raheem Sterling 0.218636 0.150042 0.631322\n", + "19 Anwar El Ghazi 0.208516 0.121247 0.670237" ] }, "execution_count": 13, @@ -1158,74 +1188,82 @@ "name": "stdout", "output_type": "stream", "text": [ - "Filling history dataframe for Harry Kane: 0/67 done\n", - "Filling history dataframe for Jamie Vardy: 1/67 done\n", - "Filling history dataframe for Pierre-Emerick Aubameyang: 2/67 done\n", - "Filling history dataframe for Timo Werner: 3/67 done\n", - "Filling history dataframe for Roberto Firmino: 4/67 done\n", - "Filling history dataframe for Alexandre Lacazette: 5/67 done\n", - "Filling history dataframe for Gabriel Fernando de Jesus: 6/67 done\n", - "Filling history dataframe for Edinson Cavani: 7/67 done\n", - "Filling history dataframe for Danny Ings: 8/67 done\n", - "Filling history dataframe for Dominic Calvert-Lewin: 9/67 done\n", - "Filling history dataframe for Patrick Bamford: 10/67 done\n", - "Filling history dataframe for Anthony Martial: 11/67 done\n", - "Filling history dataframe for Ollie Watkins: 12/67 done\n", - "Filling history dataframe for Richarlison de Andrade: 13/67 done\n", - "Filling history dataframe for Kelechi Iheanacho: 14/67 done\n", - "Filling history dataframe for Patson Daka: 15/67 done\n", - "Filling history dataframe for Callum Wilson: 16/67 done\n", - "Filling history dataframe for Michail Antonio: 17/67 done\n", - "Filling history dataframe for Raúl Jiménez: 18/67 done\n", - "Filling history dataframe for Chris Wood: 19/67 done\n", - "Filling history dataframe for Che Adams: 20/67 done\n", - "Filling history dataframe for Ivan Toney: 21/67 done\n", - "Filling history dataframe for Neal Maupay: 22/67 done\n", - "Filling history dataframe for Olivier Giroud: 23/67 done\n", - "Filling history dataframe for Tammy Abraham: 24/67 done\n", - "Filling history dataframe for Christian Benteke: 25/67 done\n", - "Filling history dataframe for Rodrigo Moreno: 26/67 done\n", - "Filling history dataframe for Allan Saint-Maximin: 27/67 done\n", - "Filling history dataframe for Danny Welbeck: 28/67 done\n", - "Filling history dataframe for Jordan Ayew: 29/67 done\n", - "Filling history dataframe for Joelinton Cássio Apolinário de Lira: 30/67 done\n", - "Filling history dataframe for Teemu Pukki: 31/67 done\n", - "Filling history dataframe for Fabio Silva: 32/67 done\n", - "Filling history dataframe for Edward Nketiah: 33/67 done\n", - "Filling history dataframe for Wesley Moraes: 34/67 done\n", - "Filling history dataframe for Mbwana Ally Samatta: 35/67 done\n", - "Filling history dataframe for Marcus Forss: 36/67 done\n", - "Filling history dataframe for Halil Dervişoğlu: 37/67 done\n", - "Filling history dataframe for Aaron Connolly: 38/67 done\n", - "Filling history dataframe for Jay Rodriguez: 39/67 done\n", - "Filling history dataframe for Ashley Barnes: 40/67 done\n", - "Filling history dataframe for Matej Vydra: 41/67 done\n", - "Filling history dataframe for Michy Batshuayi: 42/67 done\n", - "Filling history dataframe for Jean-Philippe Mateta: 43/67 done\n", - "Filling history dataframe for Dwight Gayle: 44/67 done\n", - "Filling history dataframe for Jordan Hugill: 45/67 done\n", - "Filling history dataframe for Joshua Sargent: 46/67 done\n", - "Filling history dataframe for Shane Long: 47/67 done\n", - "Filling history dataframe for Troy Deeney: 48/67 done\n", - "Filling history dataframe for Andre Gray: 49/67 done\n", - "Filling history dataframe for João Pedro Junqueira de Jesus: 50/67 done\n", - "Filling history dataframe for Joshua King: 51/67 done\n", - "Filling history dataframe for Florin Andone: 52/67 done\n", - "Filling history dataframe for Divock Origi: 53/67 done\n", - "Filling history dataframe for Adam Idah: 54/67 done\n", - "Filling history dataframe for Armando Broja: 55/67 done\n", - "Filling history dataframe for Isaac Success Ajayi: 56/67 done\n", - "Filling history dataframe for Ashley Fletcher: 57/67 done\n", - "Filling history dataframe for Emmanuel Dennis: 58/67 done\n", - "Filling history dataframe for Juan Camilo Hernández Suárez: 59/67 done\n", - "Filling history dataframe for Patrick Cutrone: 60/67 done\n", - "Filling history dataframe for Keinan Davis: 61/67 done\n", - "Filling history dataframe for Daniel N'Lundulu: 62/67 done\n", - "Filling history dataframe for Michael Obafemi: 63/67 done\n", - "Filling history dataframe for Dane Scarlett: 64/67 done\n", - "Filling history dataframe for Stipe Perica: 65/67 done\n", - "Filling history dataframe for Adedapo Awokoya-Mebude: 66/67 done\n", - "Alpha is [24.55477665 12.03720926 47.90801409]\n" + "Filling history dataframe for Harry Kane: 0/75 done\n", + "Filling history dataframe for Romelu Lukaku: 1/75 done\n", + "Filling history dataframe for Jamie Vardy: 2/75 done\n", + "Filling history dataframe for Pierre-Emerick Aubameyang: 3/75 done\n", + "Filling history dataframe for Timo Werner: 4/75 done\n", + "Filling history dataframe for Roberto Firmino: 5/75 done\n", + "Filling history dataframe for Alexandre Lacazette: 6/75 done\n", + "Filling history dataframe for Gabriel Fernando de Jesus: 7/75 done\n", + "Filling history dataframe for Edinson Cavani: 8/75 done\n", + "Filling history dataframe for Danny Ings: 9/75 done\n", + "Filling history dataframe for Dominic Calvert-Lewin: 10/75 done\n", + "Filling history dataframe for Patrick Bamford: 11/75 done\n", + "Filling history dataframe for Anthony Martial: 12/75 done\n", + "Filling history dataframe for Richarlison de Andrade: 13/75 done\n", + "Filling history dataframe for Ollie Watkins: 14/75 done\n", + "Filling history dataframe for Kelechi Iheanacho: 15/75 done\n", + "Filling history dataframe for Patson Daka: 16/75 done\n", + "Filling history dataframe for Callum Wilson: 17/75 done\n", + "Filling history dataframe for Michail Antonio: 18/75 done\n", + "Filling history dataframe for Raúl Jiménez: 19/75 done\n", + "Filling history dataframe for Chris Wood: 20/75 done\n", + "Filling history dataframe for Che Adams: 21/75 done\n", + "Filling history dataframe for Ivan Toney: 22/75 done\n", + "Filling history dataframe for Neal Maupay: 23/75 done\n", + "Filling history dataframe for Olivier Giroud: 24/75 done\n", + "Filling history dataframe for Tammy Abraham: 25/75 done\n", + "Filling history dataframe for Christian Benteke: 26/75 done\n", + "Filling history dataframe for Rodrigo Moreno: 27/75 done\n", + "Filling history dataframe for Allan Saint-Maximin: 28/75 done\n", + "Filling history dataframe for Danny Welbeck: 29/75 done\n", + "Filling history dataframe for Jordan Ayew: 30/75 done\n", + "Filling history dataframe for Joelinton Cássio Apolinário de Lira: 31/75 done\n", + "Filling history dataframe for Teemu Pukki: 32/75 done\n", + "Filling history dataframe for Adam Armstrong: 33/75 done\n", + "Filling history dataframe for Fabio Silva: 34/75 done\n", + "Filling history dataframe for Edward Nketiah: 35/75 done\n", + "Filling history dataframe for Wesley Moraes: 36/75 done\n", + "Filling history dataframe for Mbwana Ally Samatta: 37/75 done\n", + "Filling history dataframe for Marcus Forss: 38/75 done\n", + "Filling history dataframe for Halil Dervişoğlu: 39/75 done\n", + "Filling history dataframe for Aaron Connolly: 40/75 done\n", + "Filling history dataframe for Jay Rodriguez: 41/75 done\n", + "Filling history dataframe for Ashley Barnes: 42/75 done\n", + "Filling history dataframe for Matej Vydra: 43/75 done\n", + "Filling history dataframe for Michy Batshuayi: 44/75 done\n", + "Filling history dataframe for Jean-Philippe Mateta: 45/75 done\n", + "Filling history dataframe for Dwight Gayle: 46/75 done\n", + "Filling history dataframe for Jordan Hugill: 47/75 done\n", + "Filling history dataframe for Joshua Sargent: 48/75 done\n", + "Filling history dataframe for Shane Long: 49/75 done\n", + "Filling history dataframe for Troy Deeney: 50/75 done\n", + "Filling history dataframe for Andre Gray: 51/75 done\n", + "Filling history dataframe for João Pedro Junqueira de Jesus: 52/75 done\n", + "Filling history dataframe for Joshua King: 53/75 done\n", + "Filling history dataframe for Folarin Balogun: 54/75 done\n", + "Filling history dataframe for Florin Andone: 55/75 done\n", + "Filling history dataframe for Divock Origi: 56/75 done\n", + "Filling history dataframe for Adam Idah: 57/75 done\n", + "Filling history dataframe for Armando Broja: 58/75 done\n", + "Filling history dataframe for Isaac Success Ajayi: 59/75 done\n", + "Filling history dataframe for Ashley Fletcher: 60/75 done\n", + "Filling history dataframe for Emmanuel Dennis: 61/75 done\n", + "Filling history dataframe for Juan Camilo Hernández Suárez: 62/75 done\n", + "Filling history dataframe for Patrick Cutrone: 63/75 done\n", + "Filling history dataframe for Keinan Davis: 64/75 done\n", + "Filling history dataframe for Andi Zeqiri: 65/75 done\n", + "Filling history dataframe for Lewis Richardson: 66/75 done\n", + "Filling history dataframe for Robert Street: 67/75 done\n", + "Filling history dataframe for Nathan Broadhead: 68/75 done\n", + "Filling history dataframe for Sam Greenwood: 69/75 done\n", + "Filling history dataframe for Daniel N'Lundulu: 70/75 done\n", + "Filling history dataframe for Michael Obafemi: 71/75 done\n", + "Filling history dataframe for Dane Scarlett: 72/75 done\n", + "Filling history dataframe for Stipe Perica: 73/75 done\n", + "Filling history dataframe for Adedapo Awokoya-Mebude: 74/75 done\n", + "Alpha is [19.30121916 9.36931379 37.59613372]\n" ] } ], @@ -1264,7 +1302,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -1300,231 +1338,262 @@ "name": "stdout", "output_type": "stream", "text": [ - "Filling history dataframe for Harry Kane: 0/67 done\n", - "Filling history dataframe for Jamie Vardy: 1/67 done\n", - "Filling history dataframe for Pierre-Emerick Aubameyang: 2/67 done\n", - "Filling history dataframe for Timo Werner: 3/67 done\n", - "Filling history dataframe for Roberto Firmino: 4/67 done\n", - "Filling history dataframe for Alexandre Lacazette: 5/67 done\n", - "Filling history dataframe for Gabriel Fernando de Jesus: 6/67 done\n", - "Filling history dataframe for Edinson Cavani: 7/67 done\n", - "Filling history dataframe for Danny Ings: 8/67 done\n", - "Filling history dataframe for Dominic Calvert-Lewin: 9/67 done\n", - "Filling history dataframe for Patrick Bamford: 10/67 done\n", - "Filling history dataframe for Anthony Martial: 11/67 done\n", - "Filling history dataframe for Ollie Watkins: 12/67 done\n", - "Filling history dataframe for Richarlison de Andrade: 13/67 done\n", - "Filling history dataframe for Kelechi Iheanacho: 14/67 done\n", - "Filling history dataframe for Patson Daka: 15/67 done\n", - "Filling history dataframe for Callum Wilson: 16/67 done\n", - "Filling history dataframe for Michail Antonio: 17/67 done\n", - "Filling history dataframe for Raúl Jiménez: 18/67 done\n", - "Filling history dataframe for Chris Wood: 19/67 done\n", - "Filling history dataframe for Che Adams: 20/67 done\n", - "Filling history dataframe for Ivan Toney: 21/67 done\n", - "Filling history dataframe for Neal Maupay: 22/67 done\n", - "Filling history dataframe for Olivier Giroud: 23/67 done\n", - "Filling history dataframe for Tammy Abraham: 24/67 done\n", - "Filling history dataframe for Christian Benteke: 25/67 done\n", - "Filling history dataframe for Rodrigo Moreno: 26/67 done\n", - "Filling history dataframe for Allan Saint-Maximin: 27/67 done\n", - "Filling history dataframe for Danny Welbeck: 28/67 done\n", - "Filling history dataframe for Jordan Ayew: 29/67 done\n", - "Filling history dataframe for Joelinton Cássio Apolinário de Lira: 30/67 done\n", - "Filling history dataframe for Teemu Pukki: 31/67 done\n", - "Filling history dataframe for Fabio Silva: 32/67 done\n", - "Filling history dataframe for Edward Nketiah: 33/67 done\n", - "Filling history dataframe for Wesley Moraes: 34/67 done\n", - "Filling history dataframe for Mbwana Ally Samatta: 35/67 done\n", - "Filling history dataframe for Marcus Forss: 36/67 done\n", - "Filling history dataframe for Halil Dervişoğlu: 37/67 done\n", - "Filling history dataframe for Aaron Connolly: 38/67 done\n", - "Filling history dataframe for Jay Rodriguez: 39/67 done\n", - "Filling history dataframe for Ashley Barnes: 40/67 done\n", - "Filling history dataframe for Matej Vydra: 41/67 done\n", - "Filling history dataframe for Michy Batshuayi: 42/67 done\n", - "Filling history dataframe for Jean-Philippe Mateta: 43/67 done\n", - "Filling history dataframe for Dwight Gayle: 44/67 done\n", - "Filling history dataframe for Jordan Hugill: 45/67 done\n", - "Filling history dataframe for Joshua Sargent: 46/67 done\n", - "Filling history dataframe for Shane Long: 47/67 done\n", - "Filling history dataframe for Troy Deeney: 48/67 done\n", - "Filling history dataframe for Andre Gray: 49/67 done\n", - "Filling history dataframe for João Pedro Junqueira de Jesus: 50/67 done\n", - "Filling history dataframe for Joshua King: 51/67 done\n", - "Filling history dataframe for Florin Andone: 52/67 done\n", - "Filling history dataframe for Divock Origi: 53/67 done\n", - "Filling history dataframe for Adam Idah: 54/67 done\n", - "Filling history dataframe for Armando Broja: 55/67 done\n", - "Filling history dataframe for Isaac Success Ajayi: 56/67 done\n", - "Filling history dataframe for Ashley Fletcher: 57/67 done\n", - "Filling history dataframe for Emmanuel Dennis: 58/67 done\n", - "Filling history dataframe for Juan Camilo Hernández Suárez: 59/67 done\n", - "Filling history dataframe for Patrick Cutrone: 60/67 done\n", - "Filling history dataframe for Keinan Davis: 61/67 done\n", - "Filling history dataframe for Daniel N'Lundulu: 62/67 done\n", - "Filling history dataframe for Michael Obafemi: 63/67 done\n", - "Filling history dataframe for Dane Scarlett: 64/67 done\n", - "Filling history dataframe for Stipe Perica: 65/67 done\n", - "Filling history dataframe for Adedapo Awokoya-Mebude: 66/67 done\n", + "Filling history dataframe for Harry Kane: 0/75 done\n", + "Filling history dataframe for Romelu Lukaku: 1/75 done\n", + "Filling history dataframe for Jamie Vardy: 2/75 done\n", + "Filling history dataframe for Pierre-Emerick Aubameyang: 3/75 done\n", + "Filling history dataframe for Timo Werner: 4/75 done\n", + "Filling history dataframe for Roberto Firmino: 5/75 done\n", + "Filling history dataframe for Alexandre Lacazette: 6/75 done\n", + "Filling history dataframe for Gabriel Fernando de Jesus: 7/75 done\n", + "Filling history dataframe for Edinson Cavani: 8/75 done\n", + "Filling history dataframe for Danny Ings: 9/75 done\n", + "Filling history dataframe for Dominic Calvert-Lewin: 10/75 done\n", + "Filling history dataframe for Patrick Bamford: 11/75 done\n", + "Filling history dataframe for Anthony Martial: 12/75 done\n", + "Filling history dataframe for Richarlison de Andrade: 13/75 done\n", + "Filling history dataframe for Ollie Watkins: 14/75 done\n", + "Filling history dataframe for Kelechi Iheanacho: 15/75 done\n", + "Filling history dataframe for Patson Daka: 16/75 done\n", + "Filling history dataframe for Callum Wilson: 17/75 done\n", + "Filling history dataframe for Michail Antonio: 18/75 done\n", + "Filling history dataframe for Raúl Jiménez: 19/75 done\n", + "Filling history dataframe for Chris Wood: 20/75 done\n", + "Filling history dataframe for Che Adams: 21/75 done\n", + "Filling history dataframe for Ivan Toney: 22/75 done\n", + "Filling history dataframe for Neal Maupay: 23/75 done\n", + "Filling history dataframe for Olivier Giroud: 24/75 done\n", + "Filling history dataframe for Tammy Abraham: 25/75 done\n", + "Filling history dataframe for Christian Benteke: 26/75 done\n", + "Filling history dataframe for Rodrigo Moreno: 27/75 done\n", + "Filling history dataframe for Allan Saint-Maximin: 28/75 done\n", + "Filling history dataframe for Danny Welbeck: 29/75 done\n", + "Filling history dataframe for Jordan Ayew: 30/75 done\n", + "Filling history dataframe for Joelinton Cássio Apolinário de Lira: 31/75 done\n", + "Filling history dataframe for Teemu Pukki: 32/75 done\n", + "Filling history dataframe for Adam Armstrong: 33/75 done\n", + "Filling history dataframe for Fabio Silva: 34/75 done\n", + "Filling history dataframe for Edward Nketiah: 35/75 done\n", + "Filling history dataframe for Wesley Moraes: 36/75 done\n", + "Filling history dataframe for Mbwana Ally Samatta: 37/75 done\n", + "Filling history dataframe for Marcus Forss: 38/75 done\n", + "Filling history dataframe for Halil Dervişoğlu: 39/75 done\n", + "Filling history dataframe for Aaron Connolly: 40/75 done\n", + "Filling history dataframe for Jay Rodriguez: 41/75 done\n", + "Filling history dataframe for Ashley Barnes: 42/75 done\n", + "Filling history dataframe for Matej Vydra: 43/75 done\n", + "Filling history dataframe for Michy Batshuayi: 44/75 done\n", + "Filling history dataframe for Jean-Philippe Mateta: 45/75 done\n", + "Filling history dataframe for Dwight Gayle: 46/75 done\n", + "Filling history dataframe for Jordan Hugill: 47/75 done\n", + "Filling history dataframe for Joshua Sargent: 48/75 done\n", + "Filling history dataframe for Shane Long: 49/75 done\n", + "Filling history dataframe for Troy Deeney: 50/75 done\n", + "Filling history dataframe for Andre Gray: 51/75 done\n", + "Filling history dataframe for João Pedro Junqueira de Jesus: 52/75 done\n", + "Filling history dataframe for Joshua King: 53/75 done\n", + "Filling history dataframe for Folarin Balogun: 54/75 done\n", + "Filling history dataframe for Florin Andone: 55/75 done\n", + "Filling history dataframe for Divock Origi: 56/75 done\n", + "Filling history dataframe for Adam Idah: 57/75 done\n", + "Filling history dataframe for Armando Broja: 58/75 done\n", + "Filling history dataframe for Isaac Success Ajayi: 59/75 done\n", + "Filling history dataframe for Ashley Fletcher: 60/75 done\n", + "Filling history dataframe for Emmanuel Dennis: 61/75 done\n", + "Filling history dataframe for Juan Camilo Hernández Suárez: 62/75 done\n", + "Filling history dataframe for Patrick Cutrone: 63/75 done\n", + "Filling history dataframe for Keinan Davis: 64/75 done\n", + "Filling history dataframe for Andi Zeqiri: 65/75 done\n", + "Filling history dataframe for Lewis Richardson: 66/75 done\n", + "Filling history dataframe for Robert Street: 67/75 done\n", + "Filling history dataframe for Nathan Broadhead: 68/75 done\n", + "Filling history dataframe for Sam Greenwood: 69/75 done\n", + "Filling history dataframe for Daniel N'Lundulu: 70/75 done\n", + "Filling history dataframe for Michael Obafemi: 71/75 done\n", + "Filling history dataframe for Dane Scarlett: 72/75 done\n", + "Filling history dataframe for Stipe Perica: 73/75 done\n", + "Filling history dataframe for Adedapo Awokoya-Mebude: 74/75 done\n", "Pierre-Emerick Aubameyang\n", - "Alpha is [41.92280325 11.64522313 60.43197362]\n", + "Alpha is [42.66151685 11.85042135 60.4880618 ]\n", "Alexandre Lacazette\n", - "Alpha is [36.43990584 22.26883135 55.29126281]\n", + "Alpha is [37.08200637 22.66122611 55.25676752]\n", "Edward Nketiah\n", - "Alpha is [27.24634455 5.44926891 70.30438654]\n", + "Alpha is [27.77796802 5.5555936 70.66643838]\n", "Ollie Watkins\n", - "Alpha is [ 9.94012238 6.39007867 21.66979895]\n", + "Alpha is [10.10279605 6.49465461 22.40254934]\n", "Wesley Moraes\n", - "Alpha is [15.06677796 3.01335559 57.91986644]\n", + "Alpha is [15.15025042 3.03005008 58.8196995 ]\n", "Mbwana Ally Samatta\n", "Alpha is [nan nan nan]\n", "Keinan Davis\n", - "Alpha is [ 6.77722153 13.55444305 55.66833542]\n", + "Alpha is [ 6.81476846 13.62953692 56.55569462]\n", "Danny Ings\n", - "Alpha is [50.64200071 11.11653674 52.24146255]\n", + "Alpha is [51.36502815 11.00679175 52.6281801 ]\n", "Ivan Toney\n", - "Alpha is [nan nan nan]\n", + "Alpha is [0. 0. 1.]\n", "Marcus Forss\n", - "Alpha is [nan nan nan]\n", + "Alpha is [0. 0. 1.]\n", "Halil Dervişoğlu\n", "Alpha is [nan nan nan]\n", "Neal Maupay\n", - "Alpha is [22.47098406 6.24194002 47.28707593]\n", + "Alpha is [23.34784141 6.14416879 47.5079898 ]\n", "Aaron Connolly\n", - "Alpha is [15.72749631 12.58199705 44.69050664]\n", + "Alpha is [15.74156291 12.59325033 45.66518676]\n", "Danny Welbeck\n", - "Alpha is [27.49602857 18.33068571 63.17328571]\n", + "Alpha is [27.6084507 18.4056338 63.98591549]\n", "Florin Andone\n", - "Alpha is [43.79935966 0. 70.20064034]\n", + "Alpha is [43.80267177 0. 71.19732823]\n", "Jay Rodriguez\n", - "Alpha is [18.94153846 10.52307692 46.53538462]\n", + "Alpha is [18.79180476 10.43989153 47.76830371]\n", "Ashley Barnes\n", - "Alpha is [40.18119 5.74017 68.07864]\n", + "Alpha is [40.394144 5.770592 68.835264]\n", "Chris Wood\n", - "Alpha is [44.86168185 8.7231048 60.41521335]\n", + "Alpha is [44.75867357 8.70307542 61.53825102]\n", "Matej Vydra\n", - "Alpha is [23.42434478 15.61622986 74.95942536]\n", + "Alpha is [23.59406902 15.72937935 75.67655163]\n", "Olivier Giroud\n", - "Alpha is [33.71830986 12.04225352 68.23943662]\n", + "Alpha is [33.77909947 12.0639641 69.15693644]\n", "Michy Batshuayi\n", - "Alpha is [25.20387393 15.75242121 49.04370487]\n", + "Alpha is [25.21492007 15.75932504 50.02575488]\n", "Timo Werner\n", - "Alpha is [ 5.1748029 10.3496058 22.4755913]\n", + "Alpha is [ 5.00914813 10.01829625 23.97255562]" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:478: RuntimeWarning: divide by zero encountered in long_scalars\n", + " a0 = neff * (goals / team) * (total_minutes / minutes)\n", + "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:478: RuntimeWarning: invalid value encountered in double_scalars\n", + " a0 = neff * (goals / team) * (total_minutes / minutes)\n", + "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:479: RuntimeWarning: divide by zero encountered in long_scalars\n", + " a1 = neff * (assists / team) * (total_minutes / minutes)\n", + "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:479: RuntimeWarning: invalid value encountered in double_scalars\n", + " a1 = neff * (assists / team) * (total_minutes / minutes)\n", + "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:483: RuntimeWarning: divide by zero encountered in long_scalars\n", + " * (total_minutes / minutes)\n", + "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:483: RuntimeWarning: invalid value encountered in double_scalars\n", + " * (total_minutes / minutes)\n", + "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:478: RuntimeWarning: invalid value encountered in long_scalars\n", + " a0 = neff * (goals / team) * (total_minutes / minutes)\n", + "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:479: RuntimeWarning: invalid value encountered in long_scalars\n", + " a1 = neff * (assists / team) * (total_minutes / minutes)\n", + "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:483: RuntimeWarning: invalid value encountered in long_scalars\n", + " * (total_minutes / minutes)\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n", "Tammy Abraham\n", - "Alpha is [39.93697868 15.21408712 58.8489342 ]\n", + "Alpha is [40.00897972 15.24151608 59.74950419]\n", "Christian Benteke\n", - "Alpha is [31.96805994 9.83632614 72.19561392]\n", + "Alpha is [32.25609756 9.9249531 72.81894934]\n", "Jordan Ayew\n", - "Alpha is [16.31855713 14.83505194 82.84639093]\n", + "Alpha is [16.37617261 14.88742964 83.73639775]\n", "Jean-Philippe Mateta\n", - "Alpha is [ 7.95348837 0. 11.04651163]\n", + "Alpha is [ 6.99164886 0. 13.00835114]\n", "Dominic Calvert-Lewin\n", - "Alpha is [38.88264654 13.3311931 61.78616036]\n", + "Alpha is [39.38515444 13.12838481 62.48646075]\n", "Richarlison de Andrade\n", - "Alpha is [30.97439272 13.14065146 69.88495582]\n", + "Alpha is [31.49456471 13.8946609 69.61077439]\n", "Jamie Vardy\n", - "Alpha is [40.96669118 19.02024948 54.01305934]\n", + "Alpha is [41.76876306 19.05241824 54.1788187 ]\n", "Kelechi Iheanacho\n", - "Alpha is [34.00149226 20.77868972 59.21981802]\n", + "Alpha is [34.23051052 20.91864532 59.85084416]\n", "Patson Daka\n", "Alpha is [nan nan nan]\n", "Rodrigo Moreno\n", - "Alpha is [11.47216828 6.55552473 19.97230699]\n", + "Alpha is [11.48791541 6.56452309 20.9475615 ]\n", "Patrick Bamford\n", - "Alpha is [11.67568596 7.55485562 18.76945842]\n", + "Alpha is [11.80900621 7.64112167 19.54987212]\n", "Roberto Firmino\n", - "Alpha is [17.204164 14.33680334 82.45903266]\n", + "Alpha is [17.80809521 14.36136711 82.83053768]\n", "Divock Origi\n", - "Alpha is [25.08737919 14.33564525 66.57697556]\n", + "Alpha is [25.22952884 14.41687362 67.35359754]\n", "Gabriel Fernando de Jesus\n", - "Alpha is [24.61570839 13.12837781 76.2559138 ]\n", + "Alpha is [24.95143528 13.30743215 76.74113257]\n", "Edinson Cavani\n", - "Alpha is [11.88653614 4.75461446 18.3588494 ]\n", + "Alpha is [11.7141365 4.6856546 19.60020889]\n", "Anthony Martial\n", - "Alpha is [31.1005095 20.06484484 62.83464567]\n", + "Alpha is [30.8105163 19.87775245 64.31173126]\n", "Callum Wilson\n", - "Alpha is [37.26608754 26.30547356 50.4284389 ]\n", + "Alpha is [38.07038755 26.10540861 50.82420384]\n", "Dwight Gayle\n", - "Alpha is [31.44446615 18.86667969 56.68885417]\n", + "Alpha is [31.51826676 18.91096006 57.57077318]\n", "Allan Saint-Maximin\n", - "Alpha is [10.87622395 18.12703992 46.99673613]\n", + "Alpha is [10.62460178 19.4784366 46.89696161]\n", "Joelinton Cássio Apolinário de Lira\n", - "Alpha is [ 7.97325071 5.31550048 62.71124881]\n", + "Alpha is [ 7.98554368 5.32369579 63.69076053]\n", "Teemu Pukki\n", - "Alpha is [19.06486717 5.19950923 13.7356236 ]\n", + "Alpha is [19.56587838 5.33614865 14.09797297]\n", "Jordan Hugill\n", "Alpha is [nan nan nan]\n", "Adam Idah\n", - "Alpha is [ 0. 0. 34.]\n", + "Alpha is [ 0. 0. 35.]\n", "Joshua Sargent\n", "Alpha is [nan nan nan]\n", "Daniel N'Lundulu\n", - "Alpha is [ 0. 0. 68.]\n", + "Alpha is [ 0. 0. 69.]\n", "Che Adams\n", - "Alpha is [18.35463597 15.53084582 42.11451821]\n", + "Alpha is [18.21419288 16.81310112 41.972706 ]\n", "Michael Obafemi\n", - "Alpha is [33.59527877 25.19645908 45.20826215]\n", + "Alpha is [33.99629972 25.49722479 45.50647549]\n", "Armando Broja\n", - "Alpha is [ 0. 0. 10.]\n", + "Alpha is [ 0. 0. 11.]\n", "Shane Long\n", - "Alpha is [20.11067963 14.36477116 79.52454921]\n", + "Alpha is [20.32292764 14.51637689 80.16069547]\n", "Harry Kane\n", - "Alpha is [42.76228801 16.22017821 55.01753377]\n", + "Alpha is [43.29490166 16.42220408 55.28289427]\n", "Dane Scarlett\n", - "Alpha is [ 0. 0. 17.]\n", + "Alpha is [ 0. 0. 18.]\n", "Troy Deeney\n", - "Alpha is [23.54976538 8.67622935 43.77400526]\n", + "Alpha is [23.32281284 8.59261526 45.08457191]\n", "Andre Gray\n", - "Alpha is [25.40155497 8.46718499 42.13126004]\n", + "Alpha is [25.21481863 8.40493954 43.38024183]\n", "Stipe Perica\n", "Alpha is [nan nan nan]\n", "Isaac Success Ajayi\n", - "Alpha is [ 5.38002981 5.38002981 65.23994039]\n", + "Alpha is [ 5.34047919 5.34047919 66.31904161]\n", "Ashley Fletcher\n", "Alpha is [nan nan nan]\n", "João Pedro Junqueira de Jesus\n", - "Alpha is [ 0. 0. 17.]\n", + "Alpha is [ 0. 0. 18.]\n", "Emmanuel Dennis\n", - "Alpha is [nan nan nan]\n", + "Alpha is [0.46153846 0.46153846 0.07692308]\n", "Joshua King\n", - "Alpha is [25.0929368 11.15241636 58.75464684]\n", + "Alpha is [24.96696416 11.09642852 59.93660732]\n", "Adedapo Awokoya-Mebude\n", "Alpha is [nan nan nan]\n", "Juan Camilo Hernández Suárez\n", - "Alpha is [nan nan nan]\n", + "Alpha is [ 1.25 0. -0.25]\n", "Michail Antonio\n", - "Alpha is [31.99045671 20.91683708 61.0927062 ]\n", + "Alpha is [32.49504031 22.86688022 59.63807946]\n", "Raúl Jiménez\n", - "Alpha is [41.35074939 21.89157321 50.75767741]\n", + "Alpha is [41.55824017 22.00142127 51.44033856]\n", "Fabio Silva\n", - "Alpha is [10.68047337 8.01035503 19.3091716 ]\n", + "Alpha is [11.24168514 8.43126386 19.327051 ]\n", "Patrick Cutrone\n", - "Alpha is [28.82815735 0. 30.17184265]\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:478: RuntimeWarning: invalid value encountered in long_scalars\n", - " a0 = neff * (goals / team) * (total_minutes / minutes)\n", - "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:479: RuntimeWarning: invalid value encountered in long_scalars\n", - " a1 = neff * (assists / team) * (total_minutes / minutes)\n", - "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:483: RuntimeWarning: invalid value encountered in long_scalars\n", - " * (total_minutes / minutes)\n", - "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:478: RuntimeWarning: divide by zero encountered in long_scalars\n", - " a0 = neff * (goals / team) * (total_minutes / minutes)\n", - "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:478: RuntimeWarning: invalid value encountered in double_scalars\n", - " a0 = neff * (goals / team) * (total_minutes / minutes)\n", - "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:479: RuntimeWarning: divide by zero encountered in long_scalars\n", - " a1 = neff * (assists / team) * (total_minutes / minutes)\n", - "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:479: RuntimeWarning: invalid value encountered in double_scalars\n", - " a1 = neff * (assists / team) * (total_minutes / minutes)\n", - "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:483: RuntimeWarning: divide by zero encountered in long_scalars\n", - " * (total_minutes / minutes)\n", - "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:483: RuntimeWarning: invalid value encountered in double_scalars\n", - " * (total_minutes / minutes)\n" + "Alpha is [29.8136646 0. 30.1863354]\n", + "Andi Zeqiri\n", + "Alpha is [ 0. 0. 35.]\n", + "Lewis Richardson\n", + "Alpha is [ 0. 0. 34.]\n", + "Nathan Broadhead\n", + "Alpha is [ 0. 0. 15.]\n", + "Sam Greenwood\n", + "Alpha is [nan nan nan]\n", + "Romelu Lukaku\n", + "Alpha is [22.47693798 1.87307817 52.64998385]\n", + "Folarin Balogun\n", + "Alpha is [nan nan nan]\n", + "Adam Armstrong\n", + "Alpha is [1. 0. 0.]\n", + "Robert Street\n", + "Alpha is [nan nan nan]\n" ] }, { @@ -1557,37 +1626,37 @@ " \n", " \n", " 4\n", - " 0.367744\n", - " 0.102151\n", - " 0.530105\n", + " 0.370970\n", + " 0.103047\n", + " 0.525983\n", " Pierre-Emerick Aubameyang\n", " \n", " \n", " 6\n", - " 0.319648\n", - " 0.195341\n", - " 0.485011\n", + " 0.322452\n", + " 0.197054\n", + " 0.480494\n", " Alexandre Lacazette\n", " \n", " \n", " 20\n", - " 0.264528\n", - " 0.052906\n", - " 0.682567\n", + " 0.267096\n", + " 0.053419\n", + " 0.679485\n", " Edward Nketiah\n", " \n", " \n", " 42\n", - " 0.261582\n", - " 0.168160\n", - " 0.570258\n", + " 0.259046\n", + " 0.166530\n", + " 0.574424\n", " Ollie Watkins\n", " \n", " \n", " 49\n", - " 0.198247\n", - " 0.039649\n", - " 0.762104\n", + " 0.196756\n", + " 0.039351\n", + " 0.763892\n", " Wesley Moraes\n", " \n", " \n", @@ -1598,60 +1667,60 @@ " ...\n", " \n", " \n", - " 473\n", + " 669\n", " NaN\n", " NaN\n", " NaN\n", - " Juan Camilo Hernández Suárez\n", + " Sam Greenwood\n", " \n", " \n", - " 482\n", - " 0.280618\n", - " 0.183481\n", - " 0.535901\n", - " Michail Antonio\n", + " 926\n", + " 0.291908\n", + " 0.024326\n", + " 0.683766\n", + " Romelu Lukaku\n", " \n", " \n", - " 502\n", - " 0.362726\n", - " 0.192031\n", - " 0.445243\n", - " Raúl Jiménez\n", + " 1184\n", + " NaN\n", + " NaN\n", + " NaN\n", + " Folarin Balogun\n", " \n", " \n", - " 517\n", - " 0.281065\n", - " 0.210799\n", - " 0.508136\n", - " Fabio Silva\n", + " 1188\n", + " 1.000000\n", + " 0.000000\n", + " 0.000000\n", + " Adam Armstrong\n", " \n", " \n", - " 523\n", - " 0.488613\n", - " 0.000000\n", - " 0.511387\n", - " Patrick Cutrone\n", + " 1191\n", + " NaN\n", + " NaN\n", + " NaN\n", + " Robert Street\n", " \n", " \n", "\n", - "

67 rows × 4 columns

\n", + "

75 rows × 4 columns

\n", "" ], "text/plain": [ - " emp_score emp_assist emp_neither name\n", - "4 0.367744 0.102151 0.530105 Pierre-Emerick Aubameyang\n", - "6 0.319648 0.195341 0.485011 Alexandre Lacazette\n", - "20 0.264528 0.052906 0.682567 Edward Nketiah\n", - "42 0.261582 0.168160 0.570258 Ollie Watkins\n", - "49 0.198247 0.039649 0.762104 Wesley Moraes\n", - ".. ... ... ... ...\n", - "473 NaN NaN NaN Juan Camilo Hernández Suárez\n", - "482 0.280618 0.183481 0.535901 Michail Antonio\n", - "502 0.362726 0.192031 0.445243 Raúl Jiménez\n", - "517 0.281065 0.210799 0.508136 Fabio Silva\n", - "523 0.488613 0.000000 0.511387 Patrick Cutrone\n", + " emp_score emp_assist emp_neither name\n", + "4 0.370970 0.103047 0.525983 Pierre-Emerick Aubameyang\n", + "6 0.322452 0.197054 0.480494 Alexandre Lacazette\n", + "20 0.267096 0.053419 0.679485 Edward Nketiah\n", + "42 0.259046 0.166530 0.574424 Ollie Watkins\n", + "49 0.196756 0.039351 0.763892 Wesley Moraes\n", + "... ... ... ... ...\n", + "669 NaN NaN NaN Sam Greenwood\n", + "926 0.291908 0.024326 0.683766 Romelu Lukaku\n", + "1184 NaN NaN NaN Folarin Balogun\n", + "1188 1.000000 0.000000 0.000000 Adam Armstrong\n", + "1191 NaN NaN NaN Robert Street\n", "\n", - "[67 rows x 4 columns]" + "[75 rows x 4 columns]" ] }, "execution_count": 17, @@ -1721,37 +1790,37 @@ " \n", " \n", " 4\n", - " 0.367744\n", - " 0.102151\n", - " 0.530105\n", + " 0.370970\n", + " 0.103047\n", + " 0.525983\n", " Pierre-Emerick Aubameyang\n", " \n", " \n", " 6\n", - " 0.319648\n", - " 0.195341\n", - " 0.485011\n", + " 0.322452\n", + " 0.197054\n", + " 0.480494\n", " Alexandre Lacazette\n", " \n", " \n", " 20\n", - " 0.264528\n", - " 0.052906\n", - " 0.682567\n", + " 0.267096\n", + " 0.053419\n", + " 0.679485\n", " Edward Nketiah\n", " \n", " \n", " 42\n", - " 0.261582\n", - " 0.168160\n", - " 0.570258\n", + " 0.259046\n", + " 0.166530\n", + " 0.574424\n", " Ollie Watkins\n", " \n", " \n", " 49\n", - " 0.198247\n", - " 0.039649\n", - " 0.762104\n", + " 0.196756\n", + " 0.039351\n", + " 0.763892\n", " Wesley Moraes\n", " \n", " \n", @@ -1762,60 +1831,60 @@ " ...\n", " \n", " \n", - " 473\n", + " 669\n", " NaN\n", " NaN\n", " NaN\n", - " Juan Camilo Hernández Suárez\n", + " Sam Greenwood\n", " \n", " \n", - " 482\n", - " 0.280618\n", - " 0.183481\n", - " 0.535901\n", - " Michail Antonio\n", + " 926\n", + " 0.291908\n", + " 0.024326\n", + " 0.683766\n", + " Romelu Lukaku\n", " \n", " \n", - " 502\n", - " 0.362726\n", - " 0.192031\n", - " 0.445243\n", - " Raúl Jiménez\n", + " 1184\n", + " NaN\n", + " NaN\n", + " NaN\n", + " Folarin Balogun\n", " \n", " \n", - " 517\n", - " 0.281065\n", - " 0.210799\n", - " 0.508136\n", - " Fabio Silva\n", + " 1188\n", + " 1.000000\n", + " 0.000000\n", + " 0.000000\n", + " Adam Armstrong\n", " \n", " \n", - " 523\n", - " 0.488613\n", - " 0.000000\n", - " 0.511387\n", - " Patrick Cutrone\n", + " 1191\n", + " NaN\n", + " NaN\n", + " NaN\n", + " Robert Street\n", " \n", " \n", "\n", - "

67 rows × 4 columns

\n", + "

75 rows × 4 columns

\n", "" ], "text/plain": [ - " emp_score emp_assist emp_neither name\n", - "4 0.367744 0.102151 0.530105 Pierre-Emerick Aubameyang\n", - "6 0.319648 0.195341 0.485011 Alexandre Lacazette\n", - "20 0.264528 0.052906 0.682567 Edward Nketiah\n", - "42 0.261582 0.168160 0.570258 Ollie Watkins\n", - "49 0.198247 0.039649 0.762104 Wesley Moraes\n", - ".. ... ... ... ...\n", - "473 NaN NaN NaN Juan Camilo Hernández Suárez\n", - "482 0.280618 0.183481 0.535901 Michail Antonio\n", - "502 0.362726 0.192031 0.445243 Raúl Jiménez\n", - "517 0.281065 0.210799 0.508136 Fabio Silva\n", - "523 0.488613 0.000000 0.511387 Patrick Cutrone\n", + " emp_score emp_assist emp_neither name\n", + "4 0.370970 0.103047 0.525983 Pierre-Emerick Aubameyang\n", + "6 0.322452 0.197054 0.480494 Alexandre Lacazette\n", + "20 0.267096 0.053419 0.679485 Edward Nketiah\n", + "42 0.259046 0.166530 0.574424 Ollie Watkins\n", + "49 0.196756 0.039351 0.763892 Wesley Moraes\n", + "... ... ... ... ...\n", + "669 NaN NaN NaN Sam Greenwood\n", + "926 0.291908 0.024326 0.683766 Romelu Lukaku\n", + "1184 NaN NaN NaN Folarin Balogun\n", + "1188 1.000000 0.000000 0.000000 Adam Armstrong\n", + "1191 NaN NaN NaN Robert Street\n", "\n", - "[67 rows x 4 columns]" + "[75 rows x 4 columns]" ] }, "execution_count": 18, @@ -1848,62 +1917,18 @@ "data": { "text/plain": [ "name\n", - "Patrick Cutrone -0.181681\n", - "Teemu Pukki -0.169515\n", - "Jean-Philippe Mateta -0.119288\n", - "Florin Andone -0.063258\n", - "Harry Kane -0.026978\n", - "Danny Ings -0.025222\n", - "Callum Wilson -0.015650\n", - "Edinson Cavani -0.015516\n", - "Troy Deeney -0.014102\n", - "Raúl Jiménez -0.014023\n", - "Jamie Vardy -0.012813\n", - "Chris Wood -0.012560\n", - "Michael Obafemi -0.011537\n", - "Ashley Barnes -0.011489\n", - "Tammy Abraham -0.000793\n", - "Andre Gray 0.005105\n", - "Pierre-Emerick Aubameyang 0.006266\n", - "Neal Maupay 0.008024\n", - "Dominic Calvert-Lewin 0.008498\n", - "Rodrigo Moreno 0.013557\n", - "Ollie Watkins 0.016160\n", - "Dwight Gayle 0.018778\n", - "Fabio Silva 0.019613\n", - "Patrick Bamford 0.020544\n", - "Alexandre Lacazette 0.021578\n", - "Kelechi Iheanacho 0.026609\n", - "Joshua King 0.031295\n", - "Christian Benteke 0.042877\n", - "Michy Batshuayi 0.043943\n", - "Michail Antonio 0.044173\n", - "Edward Nketiah 0.051547\n", - "Che Adams 0.055375\n", - "Jay Rodriguez 0.056963\n", - "Richarlison de Andrade 0.058117\n", - "Olivier Giroud 0.060276\n", - "Gabriel Fernando de Jesus 0.067389\n", - "Danny Welbeck 0.071717\n", - "Anthony Martial 0.075803\n", - "Divock Origi 0.079062\n", - "Wesley Moraes 0.081430\n", - "Aaron Connolly 0.091502\n", - "Roberto Firmino 0.098241\n", - "Timo Werner 0.098386\n", - "Matej Vydra 0.106739\n", - "Allan Saint-Maximin 0.129643\n", - "Shane Long 0.137672\n", - "Jordan Ayew 0.148273\n", - "Joelinton Cássio Apolinário de Lira 0.176016\n", - "Keinan Davis 0.204378\n", - "Isaac Success Ajayi 0.217033\n", - "Adam Idah 0.290042\n", - "Armando Broja 0.290129\n", - "Daniel N'Lundulu 0.290179\n", - "Dane Scarlett 0.290259\n", - "João Pedro Junqueira de Jesus 0.290580\n", - "dtype: float64" + "Juan Camilo Hernández Suárez -0.947735\n", + "Adam Armstrong -0.696284\n", + "Patrick Cutrone -0.186656\n", + "Emmanuel Dennis -0.165573\n", + "Teemu Pukki -0.159201\n", + " ... \n", + "Marcus Forss 0.291000\n", + "Adam Idah 0.291294\n", + "Daniel N'Lundulu 0.291642\n", + "Dane Scarlett 0.292065\n", + "João Pedro Junqueira de Jesus 0.292138\n", + "Length: 64, dtype: float64" ] }, "execution_count": 20, @@ -1933,7 +1958,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -1977,14 +2002,14 @@ { "data": { "text/plain": [ - "count 55.000000\n", - "mean 0.257673\n", - "std 0.122412\n", + "count 64.000000\n", + "mean 0.266503\n", + "std 0.207105\n", "min 0.000000\n", - "25% 0.201862\n", - "50% 0.280422\n", - "75% 0.336923\n", - "max 0.501707\n", + "25% 0.151740\n", + "50% 0.278787\n", + "75% 0.333905\n", + "max 1.250000\n", "Name: emp_score, dtype: float64" ] }, @@ -2008,7 +2033,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "0.28999106484107434 0.05041885720986763\n" + "0.29079466599812415 0.056853509320681506\n" ] } ], @@ -2026,14 +2051,14 @@ { "data": { "text/plain": [ - "count 67.000000\n", - "mean 0.310563\n", - "std 0.030214\n", - "min 0.234565\n", - "25% 0.290497\n", - "50% 0.306193\n", - "75% 0.324829\n", - "max 0.419006\n", + "count 75.000000\n", + "mean 0.312402\n", + "std 0.033285\n", + "min 0.219613\n", + "25% 0.291147\n", + "50% 0.303716\n", + "75% 0.331078\n", + "max 0.436643\n", "Name: prob_score, dtype: float64" ] }, @@ -2056,12 +2081,12 @@ { "data": { "text/plain": [ - "prob_score 0.249154\n", - "prob_assist 0.169443\n", - "prob_neither 0.581402\n", - "emp_score 0.150914\n", - "emp_assist 0.125761\n", - "emp_neither 0.723325\n", + "prob_score 0.249176\n", + "prob_assist 0.170757\n", + "prob_neither 0.580067\n", + "emp_score 0.154853\n", + "emp_assist 0.124881\n", + "emp_neither 0.720266\n", "Name: Roberto Firmino, dtype: float64" ] }, @@ -2076,7 +2101,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 26, "id": "2298c926", "metadata": {}, "outputs": [ @@ -2110,37 +2135,37 @@ " \n", " \n", " 4\n", - " 0.367744\n", - " 0.102151\n", - " 0.530105\n", + " 0.370970\n", + " 0.103047\n", + " 0.525983\n", " Pierre-Emerick Aubameyang\n", " \n", " \n", " 6\n", - " 0.319648\n", - " 0.195341\n", - " 0.485011\n", + " 0.322452\n", + " 0.197054\n", + " 0.480494\n", " Alexandre Lacazette\n", " \n", " \n", " 20\n", - " 0.264528\n", - " 0.052906\n", - " 0.682567\n", + " 0.267096\n", + " 0.053419\n", + " 0.679485\n", " Edward Nketiah\n", " \n", " \n", " 42\n", - " 0.261582\n", - " 0.168160\n", - " 0.570258\n", + " 0.259046\n", + " 0.166530\n", + " 0.574424\n", " Ollie Watkins\n", " \n", " \n", " 49\n", - " 0.198247\n", - " 0.039649\n", - " 0.762104\n", + " 0.196756\n", + " 0.039351\n", + " 0.763892\n", " Wesley Moraes\n", " \n", " \n", @@ -2151,63 +2176,63 @@ " ...\n", " \n", " \n", - " 473\n", + " 669\n", " NaN\n", " NaN\n", " NaN\n", - " Juan Camilo Hernández Suárez\n", + " Sam Greenwood\n", " \n", " \n", - " 482\n", - " 0.280618\n", - " 0.183481\n", - " 0.535901\n", - " Michail Antonio\n", + " 926\n", + " 0.291908\n", + " 0.024326\n", + " 0.683766\n", + " Romelu Lukaku\n", " \n", " \n", - " 502\n", - " 0.362726\n", - " 0.192031\n", - " 0.445243\n", - " Raúl Jiménez\n", + " 1184\n", + " NaN\n", + " NaN\n", + " NaN\n", + " Folarin Balogun\n", " \n", " \n", - " 517\n", - " 0.281065\n", - " 0.210799\n", - " 0.508136\n", - " Fabio Silva\n", + " 1188\n", + " 1.000000\n", + " 0.000000\n", + " 0.000000\n", + " Adam Armstrong\n", " \n", " \n", - " 523\n", - " 0.488613\n", - " 0.000000\n", - " 0.511387\n", - " Patrick Cutrone\n", + " 1191\n", + " NaN\n", + " NaN\n", + " NaN\n", + " Robert Street\n", " \n", " \n", "\n", - "

67 rows × 4 columns

\n", + "

75 rows × 4 columns

\n", "" ], "text/plain": [ - " emp_score emp_assist emp_neither name\n", - "4 0.367744 0.102151 0.530105 Pierre-Emerick Aubameyang\n", - "6 0.319648 0.195341 0.485011 Alexandre Lacazette\n", - "20 0.264528 0.052906 0.682567 Edward Nketiah\n", - "42 0.261582 0.168160 0.570258 Ollie Watkins\n", - "49 0.198247 0.039649 0.762104 Wesley Moraes\n", - ".. ... ... ... ...\n", - "473 NaN NaN NaN Juan Camilo Hernández Suárez\n", - "482 0.280618 0.183481 0.535901 Michail Antonio\n", - "502 0.362726 0.192031 0.445243 Raúl Jiménez\n", - "517 0.281065 0.210799 0.508136 Fabio Silva\n", - "523 0.488613 0.000000 0.511387 Patrick Cutrone\n", + " emp_score emp_assist emp_neither name\n", + "4 0.370970 0.103047 0.525983 Pierre-Emerick Aubameyang\n", + "6 0.322452 0.197054 0.480494 Alexandre Lacazette\n", + "20 0.267096 0.053419 0.679485 Edward Nketiah\n", + "42 0.259046 0.166530 0.574424 Ollie Watkins\n", + "49 0.196756 0.039351 0.763892 Wesley Moraes\n", + "... ... ... ... ...\n", + "669 NaN NaN NaN Sam Greenwood\n", + "926 0.291908 0.024326 0.683766 Romelu Lukaku\n", + "1184 NaN NaN NaN Folarin Balogun\n", + "1188 1.000000 0.000000 0.000000 Adam Armstrong\n", + "1191 NaN NaN NaN Robert Street\n", "\n", - "[67 rows x 4 columns]" + "[75 rows x 4 columns]" ] }, - "execution_count": 27, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } @@ -2226,7 +2251,7 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": 27, "id": "719ab876", "metadata": {}, "outputs": [ @@ -2236,7 +2261,7 @@ "array([0.16517841, 0.12749511, 0.70732649])" ] }, - "execution_count": 38, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } From 5d359b2dec35c31316b8b83228719be87f638977 Mon Sep 17 00:00:00 2001 From: tdarnell Date: Mon, 23 Aug 2021 01:42:55 +0100 Subject: [PATCH 19/43] Predicted top players webhook initial development --- airsenal/framework/data_fetcher.py | 2 +- airsenal/framework/utils.py | 94 ++++++++++++++++++++++++++++++ 2 files changed, 95 insertions(+), 1 deletion(-) diff --git a/airsenal/framework/data_fetcher.py b/airsenal/framework/data_fetcher.py index 7a47b7af..feef4f57 100644 --- a/airsenal/framework/data_fetcher.py +++ b/airsenal/framework/data_fetcher.py @@ -32,7 +32,7 @@ def __init__(self, fpl_team_id=None, rsession=None): self.fpl_league_data = None self.fpl_team_data = {} # players in squad, by gameweek self.fixture_data = None - for ID in ["FPL_LEAGUE_ID", "FPL_TEAM_ID", "FPL_LOGIN", "FPL_PASSWORD"]: + for ID in ["FPL_LEAGUE_ID", "FPL_TEAM_ID", "FPL_LOGIN", "FPL_PASSWORD", "DISCORD_WEBHOOK"]: if ID in os.environ.keys(): self.__setattr__(ID, os.environ[ID]) elif os.path.exists( diff --git a/airsenal/framework/utils.py b/airsenal/framework/utils.py index 67b12b6a..29ec0042 100644 --- a/airsenal/framework/utils.py +++ b/airsenal/framework/utils.py @@ -9,6 +9,7 @@ import dateparser import re from pickle import loads, dumps +import requests from sqlalchemy import or_, case, desc from airsenal.framework.mappings import alternative_player_names @@ -879,11 +880,19 @@ def get_top_predicted_points( season {str} -- Season to query (default: {CURRENT_SEASON}) dbsession {SQLAlchemy session} -- Database session (default: {None}) """ + discord_webhook = fetcher.DISCORD_WEBHOOK if not tag: tag = get_latest_prediction_tag() if not gameweek: gameweek = NEXT_GAMEWEEK + discord_embed = { + "title": "AIrsenal webhook", + "description": "PREDICTED TOP {} PLAYERS FOR GAMEWEEK(S) {}:".format(n_players, gameweek), + "color": 0x35a800, + "fields": [] + } + first_gw = gameweek[0] if isinstance(gameweek, (list, tuple)) else gameweek print("=" * 50) print("PREDICTED TOP {} PLAYERS FOR GAMEWEEK(S) {}:".format(n_players, gameweek)) @@ -915,6 +924,23 @@ def get_top_predicted_points( p[0].team(season, first_gw), ) ) + + # If a valid discord webhook URL has been stored in env variables, send a webhook message + if re.match('^.*(discord|discordapp)\.com\/api\/webhooks\/([\d]+)\/([a-zA-Z0-9_-]+)$', discord_webhook): + payload = get_discord_payload( + discord_embed=discord_embed, + position=position, + pts=pts[:n_players], + season=season, + first_gw=first_gw + ) + result = requests.post(discord_webhook, json=payload) + if 200 <= result.status_code < 300: + print(f"Webhook sent {result.status_code}") + else: + print(f"Not sent with {result.status_code}, response:\n{result.json()}") + else: + print("Warning: Discord webhook url is malformed!\n", discord_webhook) else: for position in ["GK", "DEF", "MID", "FWD"]: @@ -943,6 +969,74 @@ def get_top_predicted_points( ) ) print("-" * 25) + # If a valid discord webhook URL has been stored in env variables, send a webhook message + if re.match('^.*(discord|discordapp)\.com\/api\/webhooks\/([\d]+)\/([a-zA-Z0-9_-]+)$', discord_webhook): + payload = get_discord_payload( + discord_embed=discord_embed, + position=position, + pts=pts[:n_players], + season=season, + first_gw=first_gw + ) + result = requests.post(discord_webhook, json=payload) + if 200 <= result.status_code < 300: + print(f"Webhook sent {result.status_code}") + else: + print(f"Not sent with {result.status_code}, response:\n{result.json()}") + else: + print("Warning: Discord webhook url is malformed!\n", discord_webhook) + +def get_discord_payload( + discord_embed, + position, + pts, + season, + first_gw +): + discord_embed['fields'].append( + { + "name": 'Position', + "value": str(position), + "inline": False + } + ) + for i, p in enumerate(pts): + discord_embed['fields'].extend( + [ + { + "name": "Player", + "value": "{}. {}".format( + i + 1, + p[0].name + ), + "inline": True + }, + { + "name": "Predicted points", + "value": "{:.2f}pts".format( + p[1], + ), + "inline": True + }, + { + "name": "Attributes", + "value": "£{}m, {}, {}".format( + p[0].price(season, first_gw) / 10, + p[0].position(season), + p[0].team(season, first_gw), + ), + "inline": True + } + ] + ) + payload = { + "content": "", + "username": "AIrsenal", + "embeds": [ + discord_embed + ], + } + return payload def get_return_gameweek_from_news(news, season=CURRENT_SEASON, dbsession=session): From 5c9b40b00bbe4aacf4b52783edf0baf5ce0aeca4 Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Mon, 23 Aug 2021 11:29:48 +0100 Subject: [PATCH 20/43] wip notebook and thoughts on player model --- airsenal/framework/player_model.py | 64 +- airsenal/framework/prediction_utils.py | 29 +- notebooks/numpyro_player_model.ipynb | 2220 +++++++++++++++++------- 3 files changed, 1683 insertions(+), 630 deletions(-) diff --git a/airsenal/framework/player_model.py b/airsenal/framework/player_model.py index 317ecf12..73cdfb66 100644 --- a/airsenal/framework/player_model.py +++ b/airsenal/framework/player_model.py @@ -1,5 +1,6 @@ import jax.numpy as jnp import jax.random as random +import numpy as np import numpyro import numpyro.distributions as dist from numpyro.infer import MCMC, NUTS @@ -8,6 +9,48 @@ from typing import Any, Dict, Optional +def get_empirical_bayes_estimates(df_emp, prior_goals=None): + """ + Get values to use either for Dirichlet prior alphas or for updating posterior + in conjugate model. Returns number of goals, assists and neither scaled by the + proportion of minutes & no. matches a player is involved in. If df_emp contains more + than one player, result is average across all players. + + If prior_goals is not None, normalise the returned alpha values to sum to + prior_goals. + """ + # for compatibility with models we zero pad data so all players have + # the same number of rows (matches). Remove the dummy matches: + df = df_emp.copy() + df = df[df["match_id"] != 0] + + player_goals = df["goals"].sum() + player_assists = df["assists"].sum() + player_neither = df["neither"].sum() + player_minutes = df["minutes"].sum() + team_goals = df["team_goals"].sum() + total_minutes = 90 * len(df) + n_matches = df.groupby("player_name").count()["goals"].mean() + + # Total no. of player goals, assists, neither: + # no. matches played * fraction goals scored * (1 / fraction mins played) + a0 = n_matches * (player_goals / team_goals) * (total_minutes / player_minutes) + a1 = n_matches * (player_assists / team_goals) * (total_minutes / player_minutes) + a2 = ( + n_matches + * ( + (player_neither / team_goals) + - (total_minutes - player_minutes) / total_minutes + ) + * (total_minutes / player_minutes) + ) + alpha = np.array([a0, a1, a2]) + if prior_goals is not None: + alpha = prior_goals * (alpha / alpha.sum()) + print("Alpha is {}".format(alpha)) + return alpha + + class PlayerModel(object): """ numpyro implementation of the AIrsenal player model. @@ -102,6 +145,15 @@ def get_probs_for_player(self, player_id): class ConjugatePlayerModel(object): + """Exact implementation of player model: + Prior: Dirichlet(alpha) + Posterior: Dirichlet(alpha + n) + where n is the result of get_empirical_bayes_estimates for each player (i.e. total + number of goal involvements for player weighted by amount of time on pitch). + Strength of prior controlled by sum(alpha), by default 13 which is roughly the + average no. of goals a team's expected to score in 10 matches. alpha values comes + from average goal involvements for all players in that position. + """ def __init__(self): self.player_ids = None self.samples = None @@ -117,8 +169,17 @@ def _model(df, prior): neff.columns = ["prob_score", "prob_assist", "prob_neither"] return prior + neff - def fit(self, data): + + dict( + player_ids=player_ids, + nplayer=nplayer, + nmatch=nmatch, + minutes=minutes.astype("int64"), + y=y.astype("int64"), + alpha=alpha, + ) + alpha = data["alpha"] return self def get_probs(self): @@ -148,4 +209,3 @@ def get_probs_for_player(self, player_id): prob_assist = float(self.samples["probs"][:, index, 1].mean()) prob_neither = float(self.samples["probs"][:, index, 2].mean()) return (prob_score, prob_assist, prob_neither) - diff --git a/airsenal/framework/prediction_utils.py b/airsenal/framework/prediction_utils.py index 9bfc086b..f36eac85 100644 --- a/airsenal/framework/prediction_utils.py +++ b/airsenal/framework/prediction_utils.py @@ -12,7 +12,7 @@ from airsenal.framework.schema import PlayerPrediction, PlayerScore, Fixture -from airsenal.framework.player_model import PlayerModel +from airsenal.framework.player_model import PlayerModel, get_empirical_bayes_estimates from airsenal.framework.utils import ( NEXT_GAMEWEEK, @@ -460,33 +460,6 @@ def fill_ep(csv_filename, dbsession=session): outfile.close() -def get_empirical_bayes_estimates(df_emp): - """ - Get starting values for the model based on averaging goals/assists/neither - over all players in that position - """ - # still not sure about this... - df = df_emp.copy() - df = df[df["match_id"] != 0] - goals = df["goals"].sum() - assists = df["assists"].sum() - neither = df["neither"].sum() - minutes = df["minutes"].sum() - team = df["team_goals"].sum() - total_minutes = 90 * len(df) - neff = df.groupby("player_name").count()["goals"].mean() - a0 = neff * (goals / team) * (total_minutes / minutes) - a1 = neff * (assists / team) * (total_minutes / minutes) - a2 = ( - neff - * ((neither / team) - (total_minutes - minutes) / total_minutes) - * (total_minutes / minutes) - ) - alpha = np.array([a0, a1, a2]) - print("Alpha is {}".format(alpha)) - return alpha - - def process_player_data( prefix, season=CURRENT_SEASON, gameweek=NEXT_GAMEWEEK, dbsession=session ): diff --git a/notebooks/numpyro_player_model.ipynb b/notebooks/numpyro_player_model.ipynb index ca72f9cb..59f7629b 100644 --- a/notebooks/numpyro_player_model.ipynb +++ b/notebooks/numpyro_player_model.ipynb @@ -315,22 +315,22 @@ "Filling history dataframe for Romelu Lukaku: 1/75 done\n", "Filling history dataframe for Jamie Vardy: 2/75 done\n", "Filling history dataframe for Pierre-Emerick Aubameyang: 3/75 done\n", - "Filling history dataframe for Timo Werner: 4/75 done\n", - "Filling history dataframe for Roberto Firmino: 5/75 done\n", - "Filling history dataframe for Alexandre Lacazette: 6/75 done\n", - "Filling history dataframe for Gabriel Fernando de Jesus: 7/75 done\n", - "Filling history dataframe for Edinson Cavani: 8/75 done\n", + "Filling history dataframe for Roberto Firmino: 4/75 done\n", + "Filling history dataframe for Timo Werner: 5/75 done\n", + "Filling history dataframe for Gabriel Fernando de Jesus: 6/75 done\n", + "Filling history dataframe for Edinson Cavani: 7/75 done\n", + "Filling history dataframe for Alexandre Lacazette: 8/75 done\n", "Filling history dataframe for Danny Ings: 9/75 done\n", "Filling history dataframe for Dominic Calvert-Lewin: 10/75 done\n", "Filling history dataframe for Patrick Bamford: 11/75 done\n", "Filling history dataframe for Anthony Martial: 12/75 done\n", "Filling history dataframe for Richarlison de Andrade: 13/75 done\n", - "Filling history dataframe for Ollie Watkins: 14/75 done\n", - "Filling history dataframe for Kelechi Iheanacho: 15/75 done\n", - "Filling history dataframe for Patson Daka: 16/75 done\n", - "Filling history dataframe for Callum Wilson: 17/75 done\n", - "Filling history dataframe for Michail Antonio: 18/75 done\n", - "Filling history dataframe for Raúl Jiménez: 19/75 done\n", + "Filling history dataframe for Michail Antonio: 14/75 done\n", + "Filling history dataframe for Ollie Watkins: 15/75 done\n", + "Filling history dataframe for Callum Wilson: 16/75 done\n", + "Filling history dataframe for Raúl Jiménez: 17/75 done\n", + "Filling history dataframe for Kelechi Iheanacho: 18/75 done\n", + "Filling history dataframe for Patson Daka: 19/75 done\n", "Filling history dataframe for Chris Wood: 20/75 done\n", "Filling history dataframe for Che Adams: 21/75 done\n", "Filling history dataframe for Ivan Toney: 22/75 done\n", @@ -393,461 +393,464 @@ "name": "stderr", "output_type": "stream", "text": [ - "sample: 100%|████████| 4500/4500 [00:13<00:00, 342.12it/s, 7 steps of size 4.62e-01. acc. prob=0.80]\n" + "sample: 100%|████████| 4500/4500 [00:15<00:00, 294.05it/s, 7 steps of size 4.36e-01. acc. prob=0.82]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Filling history dataframe for Mohamed Salah: 0/233 done\n", - "Filling history dataframe for Bruno Miguel Borges Fernandes: 1/233 done\n", - "Filling history dataframe for Sadio Mané: 2/233 done\n", - "Filling history dataframe for Kevin De Bruyne: 3/233 done\n", - "Filling history dataframe for Raheem Sterling: 4/233 done\n", - "Filling history dataframe for Heung-Min Son: 5/233 done\n", - "Filling history dataframe for Marcus Rashford: 6/233 done\n", - "Filling history dataframe for Jadon Sancho: 7/233 done\n", - "Filling history dataframe for Riyad Mahrez: 8/233 done\n", - "Filling history dataframe for Kai Havertz: 9/233 done\n", - "Filling history dataframe for Christian Pulisic: 10/233 done\n", - "Filling history dataframe for Jack Grealish: 11/233 done\n", - "Filling history dataframe for Phil Foden: 12/233 done\n", - "Filling history dataframe for Paul Pogba: 13/233 done\n", - "Filling history dataframe for Nicolas Pépé: 14/233 done\n", - "Filling history dataframe for Hakim Ziyech: 15/233 done\n", - "Filling history dataframe for Mason Mount: 16/233 done\n", - "Filling history dataframe for Diogo Jota: 17/233 done\n", - "Filling history dataframe for Ilkay Gündogan: 18/233 done\n", - "Filling history dataframe for Mason Greenwood: 19/233 done\n", - "Filling history dataframe for Wilfried Zaha: 20/233 done\n", - "Filling history dataframe for Gylfi Sigurdsson: 21/233 done\n", - "Filling history dataframe for James Rodríguez: 22/233 done\n", - "Filling history dataframe for James Maddison: 23/233 done\n", - "Filling history dataframe for Harvey Barnes: 24/233 done\n", - "Filling history dataframe for Bernardo Mota Veiga de Carvalho e Silva: 25/233 done\n", - "Filling history dataframe for Ferran Torres: 26/233 done\n", - "Filling history dataframe for Jesse Lingard: 27/233 done\n", - "Filling history dataframe for Willian Borges Da Silva: 28/233 done\n", - "Filling history dataframe for Bukayo Saka: 29/233 done\n", - "Filling history dataframe for Emiliano Buendía Stati: 30/233 done\n", - "Filling history dataframe for Leon Bailey: 31/233 done\n", - "Filling history dataframe for Leandro Trossard: 32/233 done\n", - "Filling history dataframe for Youri Tielemans: 33/233 done\n", - "Filling history dataframe for Raphael Dias Belloli: 34/233 done\n", - "Filling history dataframe for James Ward-Prowse: 35/233 done\n", - "Filling history dataframe for Lucas Rodrigues Moura da Silva: 36/233 done\n", - "Filling history dataframe for Bamidele Alli: 37/233 done\n", - "Filling history dataframe for Jarrod Bowen: 38/233 done\n", - "Filling history dataframe for Pedro Lomba Neto: 39/233 done\n", - "Filling history dataframe for Bertrand Traoré: 40/233 done\n", - "Filling history dataframe for John McGinn: 41/233 done\n", - "Filling history dataframe for Anwar El Ghazi: 42/233 done\n", - "Filling history dataframe for Yoane Wissa: 43/233 done\n", - "Filling history dataframe for Pascal Groß: 44/233 done\n", - "Filling history dataframe for Enock Mwepu: 45/233 done\n", - "Filling history dataframe for Dwight McNeil: 46/233 done\n", - "Filling history dataframe for Jorge Luiz Frello Filho: 47/233 done\n", - "Filling history dataframe for Eberechi Eze: 48/233 done\n", - "Filling history dataframe for Alex Iwobi: 49/233 done\n", - "Filling history dataframe for Ayoze Pérez: 50/233 done\n", - "Filling history dataframe for Jack Harrison: 51/233 done\n", - "Filling history dataframe for Xherdan Shaqiri: 52/233 done\n", - "Filling history dataframe for Alex Oxlade-Chamberlain: 53/233 done\n", - "Filling history dataframe for Donny van de Beek: 54/233 done\n", - "Filling history dataframe for Daniel James: 55/233 done\n", - "Filling history dataframe for Joseph Willock: 56/233 done\n", - "Filling history dataframe for Theo Walcott: 57/233 done\n", - "Filling history dataframe for Nathan Redmond: 58/233 done\n", - "Filling history dataframe for Stuart Armstrong: 59/233 done\n", - "Filling history dataframe for Erik Lamela: 60/233 done\n", - "Filling history dataframe for Steven Bergwijn: 61/233 done\n", - "Filling history dataframe for Giovani Lo Celso: 62/233 done\n", - "Filling history dataframe for Tanguy Ndombele: 63/233 done\n", - "Filling history dataframe for Bryan Gil Salvatierra: 64/233 done\n", - "Filling history dataframe for Ismaila Sarr: 65/233 done\n", - "Filling history dataframe for Manuel Lanzini: 66/233 done\n", - "Filling history dataframe for Saïd Benrahma: 67/233 done\n", - "Filling history dataframe for Tomas Soucek: 68/233 done\n", - "Filling history dataframe for Pablo Fornals: 69/233 done\n", - "Filling history dataframe for Adama Traoré: 70/233 done\n", - "Filling history dataframe for Francisco Machado Mota de Castro Trincão: 71/233 done\n", - "Filling history dataframe for Ainsley Maitland-Niles: 72/233 done\n", - "Filling history dataframe for Emile Smith Rowe: 73/233 done\n", - "Filling history dataframe for Gabriel Teodoro Martinelli Silva: 74/233 done\n", - "Filling history dataframe for Mahmoud Ahmed Ibrahim Hassan: 75/233 done\n", - "Filling history dataframe for Tariqe Fosu-Henry: 76/233 done\n", - "Filling history dataframe for Sergi Canós: 77/233 done\n", - "Filling history dataframe for Pelenda Joshua Dasilva: 78/233 done\n", - "Filling history dataframe for Saman Ghoddos: 79/233 done\n", - "Filling history dataframe for Bryan Mbeumo: 80/233 done\n", - "Filling history dataframe for Adam Lallana: 81/233 done\n", - "Filling history dataframe for Solomon March: 82/233 done\n", - "Filling history dataframe for Alireza Jahanbakhsh: 83/233 done\n", - "Filling history dataframe for Alexis Mac Allister: 84/233 done\n", - "Filling history dataframe for Ashley Westwood: 85/233 done\n", - "Filling history dataframe for Johann Berg Gudmundsson: 86/233 done\n", - "Filling history dataframe for Ross Barkley: 87/233 done\n", - "Filling history dataframe for Ruben Loftus-Cheek: 88/233 done\n", - "Filling history dataframe for Callum Hudson-Odoi: 89/233 done\n", - "Filling history dataframe for Conor Gallagher: 90/233 done\n", - "Filling history dataframe for Luka Milivojevic: 91/233 done\n", - "Filling history dataframe for Jeffrey Schlupp: 92/233 done\n", - "Filling history dataframe for Michael Olise: 93/233 done\n", - "Filling history dataframe for Bernard Anício Caldeira Duarte: 94/233 done\n", - "Filling history dataframe for Abdoulaye Doucouré: 95/233 done\n", - "Filling history dataframe for Andros Townsend: 96/233 done\n", - "Filling history dataframe for Demarai Gray: 97/233 done\n", - "Filling history dataframe for Marc Albrighton: 98/233 done\n", - "Filling history dataframe for Pablo Hernández Domínguez: 99/233 done\n", - "Filling history dataframe for Mateusz Klich: 100/233 done\n", - "Filling history dataframe for Stuart Dallas: 101/233 done\n", - "Filling history dataframe for Hélder Wander Sousa de Azevedo e Costa: 102/233 done\n", - "Filling history dataframe for Thiago Alcántara do Nascimento: 103/233 done\n", - "Filling history dataframe for Fabio Henrique Tavares: 104/233 done\n", - "Filling history dataframe for Takumi Minamino: 105/233 done\n", - "Filling history dataframe for Harvey Elliott: 106/233 done\n", - "Filling history dataframe for Rodrigo Hernandez: 107/233 done\n", - "Filling history dataframe for Scott McTominay: 108/233 done\n", - "Filling history dataframe for Jonjo Shelvey: 109/233 done\n", - "Filling history dataframe for Ryan Fraser: 110/233 done\n", - "Filling history dataframe for Miguel Almirón: 111/233 done\n", - "Filling history dataframe for Kieran Dowell: 112/233 done\n", - "Filling history dataframe for Todd Cantwell: 113/233 done\n", - "Filling history dataframe for Milot Rashica: 114/233 done\n", - "Filling history dataframe for Moussa Djenepo: 115/233 done\n", - "Filling history dataframe for Mohamed Elyounoussi: 116/233 done\n", - "Filling history dataframe for Ken Sema: 117/233 done\n", - "Filling history dataframe for Philip Zinckernagel: 118/233 done\n", - "Filling history dataframe for Imrân Louza: 119/233 done\n", - "Filling history dataframe for Juraj Kucka: 120/233 done\n", - "Filling history dataframe for Andriy Yarmolenko: 121/233 done\n", - "Filling history dataframe for Rúben Diogo da Silva Neves: 122/233 done\n", - "Filling history dataframe for Daniel Castelo Podence: 123/233 done\n", - "Filling history dataframe for Granit Xhaka: 124/233 done\n", - "Filling history dataframe for Thomas Partey: 125/233 done\n", - "Filling history dataframe for Albert Sambi Lokonga: 126/233 done\n", - "Filling history dataframe for Reiss Nelson: 127/233 done\n", - "Filling history dataframe for Conor Hourihane: 128/233 done\n", - "Filling history dataframe for Morgan Sanson: 129/233 done\n", - "Filling history dataframe for Jaden Philogene-Bidace: 130/233 done\n", - "Filling history dataframe for Christian Nørgaard: 131/233 done\n", - "Filling history dataframe for Vitaly Janelt: 132/233 done\n", - "Filling history dataframe for Mathias Jensen: 133/233 done\n", - "Filling history dataframe for Frank Onyeka: 134/233 done\n", - "Filling history dataframe for Shandon Baptiste: 135/233 done\n", - "Filling history dataframe for Steven Alzate: 136/233 done\n" + "Filling history dataframe for Mohamed Salah: 0/235 done\n", + "Filling history dataframe for Bruno Miguel Borges Fernandes: 1/235 done\n", + "Filling history dataframe for Sadio Mané: 2/235 done\n", + "Filling history dataframe for Kevin De Bruyne: 3/235 done\n", + "Filling history dataframe for Raheem Sterling: 4/235 done\n", + "Filling history dataframe for Heung-Min Son: 5/235 done\n", + "Filling history dataframe for Marcus Rashford: 6/235 done\n", + "Filling history dataframe for Jadon Sancho: 7/235 done\n", + "Filling history dataframe for Riyad Mahrez: 8/235 done\n", + "Filling history dataframe for Kai Havertz: 9/235 done\n", + "Filling history dataframe for Christian Pulisic: 10/235 done\n", + "Filling history dataframe for Jack Grealish: 11/235 done\n", + "Filling history dataframe for Phil Foden: 12/235 done\n", + "Filling history dataframe for Paul Pogba: 13/235 done\n", + "Filling history dataframe for Mason Mount: 14/235 done\n", + "Filling history dataframe for Diogo Jota: 15/235 done\n", + "Filling history dataframe for Ilkay Gündogan: 16/235 done\n", + "Filling history dataframe for Mason Greenwood: 17/235 done\n", + "Filling history dataframe for Nicolas Pépé: 18/235 done\n", + "Filling history dataframe for Hakim Ziyech: 19/235 done\n", + "Filling history dataframe for Wilfried Zaha: 20/235 done\n", + "Filling history dataframe for Gylfi Sigurdsson: 21/235 done\n", + "Filling history dataframe for James Rodríguez: 22/235 done\n", + "Filling history dataframe for James Maddison: 23/235 done\n", + "Filling history dataframe for Harvey Barnes: 24/235 done\n", + "Filling history dataframe for Bernardo Mota Veiga de Carvalho e Silva: 25/235 done\n", + "Filling history dataframe for Ferran Torres: 26/235 done\n", + "Filling history dataframe for Jesse Lingard: 27/235 done\n", + "Filling history dataframe for Emiliano Buendía Stati: 28/235 done\n", + "Filling history dataframe for Leon Bailey: 29/235 done\n", + "Filling history dataframe for Leandro Trossard: 30/235 done\n", + "Filling history dataframe for Youri Tielemans: 31/235 done\n", + "Filling history dataframe for Raphael Dias Belloli: 32/235 done\n", + "Filling history dataframe for James Ward-Prowse: 33/235 done\n", + "Filling history dataframe for Lucas Rodrigues Moura da Silva: 34/235 done\n", + "Filling history dataframe for Bamidele Alli: 35/235 done\n", + "Filling history dataframe for Jarrod Bowen: 36/235 done\n", + "Filling history dataframe for Pedro Lomba Neto: 37/235 done\n", + "Filling history dataframe for Willian Borges Da Silva: 38/235 done\n", + "Filling history dataframe for Bukayo Saka: 39/235 done\n", + "Filling history dataframe for Saïd Benrahma: 40/235 done\n", + "Filling history dataframe for Bertrand Traoré: 41/235 done\n", + "Filling history dataframe for John McGinn: 42/235 done\n", + "Filling history dataframe for Anwar El Ghazi: 43/235 done\n", + "Filling history dataframe for Yoane Wissa: 44/235 done\n", + "Filling history dataframe for Pascal Groß: 45/235 done\n", + "Filling history dataframe for Enock Mwepu: 46/235 done\n", + "Filling history dataframe for Dwight McNeil: 47/235 done\n", + "Filling history dataframe for Jorge Luiz Frello Filho: 48/235 done\n", + "Filling history dataframe for Eberechi Eze: 49/235 done\n", + "Filling history dataframe for Alex Iwobi: 50/235 done\n", + "Filling history dataframe for Ayoze Pérez: 51/235 done\n", + "Filling history dataframe for Jack Harrison: 52/235 done\n", + "Filling history dataframe for Xherdan Shaqiri: 53/235 done\n", + "Filling history dataframe for Alex Oxlade-Chamberlain: 54/235 done\n", + "Filling history dataframe for Daniel James: 55/235 done\n", + "Filling history dataframe for Joseph Willock: 56/235 done\n", + "Filling history dataframe for Theo Walcott: 57/235 done\n", + "Filling history dataframe for Nathan Redmond: 58/235 done\n", + "Filling history dataframe for Stuart Armstrong: 59/235 done\n", + "Filling history dataframe for Erik Lamela: 60/235 done\n", + "Filling history dataframe for Steven Bergwijn: 61/235 done\n", + "Filling history dataframe for Giovani Lo Celso: 62/235 done\n", + "Filling history dataframe for Tanguy Ndombele: 63/235 done\n", + "Filling history dataframe for Bryan Gil Salvatierra: 64/235 done\n", + "Filling history dataframe for Ismaila Sarr: 65/235 done\n", + "Filling history dataframe for Tomas Soucek: 66/235 done\n", + "Filling history dataframe for Pablo Fornals: 67/235 done\n", + "Filling history dataframe for Adama Traoré: 68/235 done\n", + "Filling history dataframe for Francisco Machado Mota de Castro Trincão: 69/235 done\n", + "Filling history dataframe for Donny van de Beek: 70/235 done\n", + "Filling history dataframe for Manuel Lanzini: 71/235 done\n", + "Filling history dataframe for Ainsley Maitland-Niles: 72/235 done\n", + "Filling history dataframe for Emile Smith Rowe: 73/235 done\n", + "Filling history dataframe for Gabriel Teodoro Martinelli Silva: 74/235 done\n", + "Filling history dataframe for Mahmoud Ahmed Ibrahim Hassan: 75/235 done\n", + "Filling history dataframe for Sergi Canós: 76/235 done\n", + "Filling history dataframe for Pelenda Joshua Dasilva: 77/235 done\n", + "Filling history dataframe for Saman Ghoddos: 78/235 done\n", + "Filling history dataframe for Bryan Mbeumo: 79/235 done\n", + "Filling history dataframe for Adam Lallana: 80/235 done\n", + "Filling history dataframe for Solomon March: 81/235 done\n", + "Filling history dataframe for Alireza Jahanbakhsh: 82/235 done\n", + "Filling history dataframe for Alexis Mac Allister: 83/235 done\n", + "Filling history dataframe for Ashley Westwood: 84/235 done\n", + "Filling history dataframe for Johann Berg Gudmundsson: 85/235 done\n", + "Filling history dataframe for Ross Barkley: 86/235 done\n", + "Filling history dataframe for Ruben Loftus-Cheek: 87/235 done\n", + "Filling history dataframe for Callum Hudson-Odoi: 88/235 done\n", + "Filling history dataframe for Conor Gallagher: 89/235 done\n", + "Filling history dataframe for Luka Milivojevic: 90/235 done\n", + "Filling history dataframe for Jeffrey Schlupp: 91/235 done\n", + "Filling history dataframe for Michael Olise: 92/235 done\n", + "Filling history dataframe for Bernard Anício Caldeira Duarte: 93/235 done\n", + "Filling history dataframe for Abdoulaye Doucouré: 94/235 done\n", + "Filling history dataframe for Andros Townsend: 95/235 done\n", + "Filling history dataframe for Demarai Gray: 96/235 done\n", + "Filling history dataframe for Marc Albrighton: 97/235 done\n", + "Filling history dataframe for Pablo Hernández Domínguez: 98/235 done\n", + "Filling history dataframe for Mateusz Klich: 99/235 done\n", + "Filling history dataframe for Stuart Dallas: 100/235 done\n", + "Filling history dataframe for Hélder Wander Sousa de Azevedo e Costa: 101/235 done\n", + "Filling history dataframe for Thiago Alcántara do Nascimento: 102/235 done\n", + "Filling history dataframe for Fabio Henrique Tavares: 103/235 done\n", + "Filling history dataframe for Harvey Elliott: 104/235 done\n", + "Filling history dataframe for Rodrigo Hernandez: 105/235 done\n", + "Filling history dataframe for Scott McTominay: 106/235 done\n", + "Filling history dataframe for Jonjo Shelvey: 107/235 done\n", + "Filling history dataframe for Ryan Fraser: 108/235 done\n", + "Filling history dataframe for Miguel Almirón: 109/235 done\n", + "Filling history dataframe for Kieran Dowell: 110/235 done\n", + "Filling history dataframe for Todd Cantwell: 111/235 done\n", + "Filling history dataframe for Milot Rashica: 112/235 done\n", + "Filling history dataframe for Moussa Djenepo: 113/235 done\n", + "Filling history dataframe for Mohamed Elyounoussi: 114/235 done\n", + "Filling history dataframe for Ken Sema: 115/235 done\n", + "Filling history dataframe for Philip Zinckernagel: 116/235 done\n", + "Filling history dataframe for Imrân Louza: 117/235 done\n", + "Filling history dataframe for Juraj Kucka: 118/235 done\n", + "Filling history dataframe for Andriy Yarmolenko: 119/235 done\n", + "Filling history dataframe for Rúben Diogo da Silva Neves: 120/235 done\n", + "Filling history dataframe for Daniel Castelo Podence: 121/235 done\n", + "Filling history dataframe for Martin Ødegaard: 122/235 done\n", + "Filling history dataframe for Tariqe Fosu-Henry: 123/235 done\n", + "Filling history dataframe for Takumi Minamino: 124/235 done\n", + "Filling history dataframe for Granit Xhaka: 125/235 done\n", + "Filling history dataframe for Thomas Partey: 126/235 done\n", + "Filling history dataframe for Albert Sambi Lokonga: 127/235 done\n", + "Filling history dataframe for Reiss Nelson: 128/235 done\n", + "Filling history dataframe for Conor Hourihane: 129/235 done\n", + "Filling history dataframe for Morgan Sanson: 130/235 done\n", + "Filling history dataframe for Jaden Philogene-Bidace: 131/235 done\n", + "Filling history dataframe for Christian Nørgaard: 132/235 done\n", + "Filling history dataframe for Vitaly Janelt: 133/235 done\n", + "Filling history dataframe for Mathias Jensen: 134/235 done\n", + "Filling history dataframe for Frank Onyeka: 135/235 done\n", + "Filling history dataframe for Shandon Baptiste: 136/235 done\n", + "Filling history dataframe for Steven Alzate: 137/235 done\n", + "Filling history dataframe for Mateo Kovacic: 138/235 done\n", + "Filling history dataframe for N'Golo Kanté: 139/235 done\n", + "Filling history dataframe for Jairo Riedewald: 140/235 done\n", + "Filling history dataframe for André Filipe Tavares Gomes: 141/235 done\n", + "Filling history dataframe for Tom Davies: 142/235 done\n", + "Filling history dataframe for Dennis Praet: 143/235 done\n", + "Filling history dataframe for Wilfred Ndidi: 144/235 done\n", + "Filling history dataframe for Boubakary Soumaré: 145/235 done\n", + "Filling history dataframe for Kalvin Phillips: 146/235 done\n", + "Filling history dataframe for Tyler Roberts: 147/235 done\n", + "Filling history dataframe for James Milner: 148/235 done\n", + "Filling history dataframe for Jordan Henderson: 149/235 done\n", + "Filling history dataframe for Naby Keita: 150/235 done\n", + "Filling history dataframe for Curtis Jones: 151/235 done\n", + "Filling history dataframe for Fernando Luiz Rosa: 152/235 done\n", + "Filling history dataframe for Samuel Edozie: 153/235 done\n", + "Filling history dataframe for Frederico Rodrigues de Paula Santos: 154/235 done\n", + "Filling history dataframe for Juan Mata: 155/235 done\n", + "Filling history dataframe for Andreas Pereira: 156/235 done\n", + "Filling history dataframe for Anthony Elanga: 157/235 done\n", + "Filling history dataframe for Jeff Hendrick: 158/235 done\n", + "Filling history dataframe for Jacob Murphy: 159/235 done\n", + "Filling history dataframe for Marco Stiepermann: 160/235 done\n", + "Filling history dataframe for Kenny McLean: 161/235 done\n", + "Filling history dataframe for Onel Hernández: 162/235 done\n", + "Filling history dataframe for Przemyslaw Placheta: 163/235 done\n", + "Filling history dataframe for Josh Martin: 164/235 done\n", + "Filling history dataframe for Pierre Lees-Melou: 165/235 done\n", + "Filling history dataframe for Christos Tzolis: 166/235 done\n", + "Filling history dataframe for Nathan Tella: 167/235 done\n", + "Filling history dataframe for Pierre-Emile Højbjerg: 168/235 done\n", + "Filling history dataframe for Dan Gosling: 169/235 done\n", + "Filling history dataframe for Tom Cleverley: 170/235 done\n", + "Filling history dataframe for Nathaniel Chalobah: 171/235 done\n", + "Filling history dataframe for Will Hughes: 172/235 done\n", + "Filling history dataframe for Declan Rice: 173/235 done\n", + "Filling history dataframe for João Filipe Iria Santos Moutinho: 174/235 done\n", + "Filling history dataframe for Leander Dendoncker: 175/235 done\n", + "Filling history dataframe for Ozan Tufan: 176/235 done\n", + "Filling history dataframe for Mohamed Naser El Sayed Elneny: 177/235 done\n", + "Filling history dataframe for Lucas Torreira: 178/235 done\n", + "Filling history dataframe for Mattéo Guendouzi: 179/235 done\n", + "Filling history dataframe for Marvelous Nakamba: 180/235 done\n", + "Filling history dataframe for Douglas Luiz Soares de Paulo: 181/235 done\n", + "Filling history dataframe for Jacob Ramsey: 182/235 done\n", + "Filling history dataframe for Aaron Ramsey: 183/235 done\n", + "Filling history dataframe for Carney Chukwuemeka: 184/235 done\n", + "Filling history dataframe for Jan Zamburek: 185/235 done\n", + "Filling history dataframe for Mads Bidstrup: 186/235 done\n", + "Filling history dataframe for Davy Pröpper: 187/235 done\n", + "Filling history dataframe for Yves Bissouma: 188/235 done\n", + "Filling history dataframe for Jakub Moder: 189/235 done\n", + "Filling history dataframe for Taylor Richards: 190/235 done\n", + "Filling history dataframe for Moisés Caicedo: 191/235 done\n", + "Filling history dataframe for Jack Cork: 192/235 done\n", + "Filling history dataframe for Dale Stephens: 193/235 done\n", + "Filling history dataframe for Josh Brownhill: 194/235 done\n", + "Filling history dataframe for Josh Benson: 195/235 done\n", + "Filling history dataframe for James McArthur: 196/235 done\n", + "Filling history dataframe for Jesurun Rak-Sakyi: 197/235 done\n", + "Filling history dataframe for Scott Banks: 198/235 done\n", + "Filling history dataframe for Fabian Delph: 199/235 done\n", + "Filling history dataframe for Allan Marques Loureiro: 200/235 done\n", + "Filling history dataframe for Anthony Gordon: 201/235 done\n", + "Filling history dataframe for Jean-Philippe Gbamin: 202/235 done\n", + "Filling history dataframe for Nampalys Mendy: 203/235 done\n", + "Filling history dataframe for Hamza Choudhury: 204/235 done\n", + "Filling history dataframe for Kiernan Dewsbury-Hall: 205/235 done\n", + "Filling history dataframe for Ian Carlo Poveda-Ocampo: 206/235 done\n", + "Filling history dataframe for Jamie Shackleton: 207/235 done\n", + "Filling history dataframe for Crysencio Summerville: 208/235 done\n", + "Filling history dataframe for Adam Forshaw: 209/235 done\n", + "Filling history dataframe for Ben Woodburn: 210/235 done\n", + "Filling history dataframe for Cole Palmer: 211/235 done\n", + "Filling history dataframe for Nemanja Matic: 212/235 done\n", + "Filling history dataframe for Isaac Hayden: 213/235 done\n", + "Filling history dataframe for Sean Longstaff: 214/235 done\n", + "Filling history dataframe for Matthew Longstaff: 215/235 done\n", + "Filling history dataframe for Billy Gilmour: 216/235 done\n", + "Filling history dataframe for Lukas Rupp: 217/235 done\n", + "Filling history dataframe for Oriol Romeu Vidal: 218/235 done\n", + "Filling history dataframe for William Smallbone: 219/235 done\n", + "Filling history dataframe for Ibrahima Diallo: 220/235 done\n", + "Filling history dataframe for Moussa Sissoko: 221/235 done\n", + "Filling history dataframe for Harry Winks: 222/235 done\n", + "Filling history dataframe for Oliver Skipp: 223/235 done\n", + "Filling history dataframe for Ayotomiwa Dele-Bashiru: 224/235 done\n", + "Filling history dataframe for Domingos Quina: 225/235 done\n", + "Filling history dataframe for Joseph Hungbo: 226/235 done\n", + "Filling history dataframe for Kwadwo Baah: 227/235 done\n", + "Filling history dataframe for Oghenekaro Peter Etebo: 228/235 done\n", + "Filling history dataframe for Mark Noble: 229/235 done\n", + "Filling history dataframe for Conor Coventry: 230/235 done\n", + "Filling history dataframe for Morgan Gibbs-White: 231/235 done\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Filling history dataframe for Mateo Kovacic: 137/233 done\n", - "Filling history dataframe for N'Golo Kanté: 138/233 done\n", - "Filling history dataframe for Jairo Riedewald: 139/233 done\n", - "Filling history dataframe for André Filipe Tavares Gomes: 140/233 done\n", - "Filling history dataframe for Tom Davies: 141/233 done\n", - "Filling history dataframe for Dennis Praet: 142/233 done\n", - "Filling history dataframe for Wilfred Ndidi: 143/233 done\n", - "Filling history dataframe for Boubakary Soumaré: 144/233 done\n", - "Filling history dataframe for Kalvin Phillips: 145/233 done\n", - "Filling history dataframe for Tyler Roberts: 146/233 done\n", - "Filling history dataframe for James Milner: 147/233 done\n", - "Filling history dataframe for Jordan Henderson: 148/233 done\n", - "Filling history dataframe for Naby Keita: 149/233 done\n", - "Filling history dataframe for Curtis Jones: 150/233 done\n", - "Filling history dataframe for Fernando Luiz Rosa: 151/233 done\n", - "Filling history dataframe for Samuel Edozie: 152/233 done\n", - "Filling history dataframe for Frederico Rodrigues de Paula Santos: 153/233 done\n", - "Filling history dataframe for Juan Mata: 154/233 done\n", - "Filling history dataframe for Andreas Pereira: 155/233 done\n", - "Filling history dataframe for Anthony Elanga: 156/233 done\n", - "Filling history dataframe for Jeff Hendrick: 157/233 done\n", - "Filling history dataframe for Jacob Murphy: 158/233 done\n", - "Filling history dataframe for Marco Stiepermann: 159/233 done\n", - "Filling history dataframe for Kenny McLean: 160/233 done\n", - "Filling history dataframe for Onel Hernández: 161/233 done\n", - "Filling history dataframe for Przemyslaw Placheta: 162/233 done\n", - "Filling history dataframe for Josh Martin: 163/233 done\n", - "Filling history dataframe for Pierre Lees-Melou: 164/233 done\n", - "Filling history dataframe for Christos Tzolis: 165/233 done\n", - "Filling history dataframe for Nathan Tella: 166/233 done\n", - "Filling history dataframe for Pierre-Emile Højbjerg: 167/233 done\n", - "Filling history dataframe for Dan Gosling: 168/233 done\n", - "Filling history dataframe for Tom Cleverley: 169/233 done\n", - "Filling history dataframe for Nathaniel Chalobah: 170/233 done\n", - "Filling history dataframe for Will Hughes: 171/233 done\n", - "Filling history dataframe for Declan Rice: 172/233 done\n", - "Filling history dataframe for João Filipe Iria Santos Moutinho: 173/233 done\n", - "Filling history dataframe for Leander Dendoncker: 174/233 done\n", - "Filling history dataframe for Mohamed Naser El Sayed Elneny: 175/233 done\n", - "Filling history dataframe for Lucas Torreira: 176/233 done\n", - "Filling history dataframe for Mattéo Guendouzi: 177/233 done\n", - "Filling history dataframe for Marvelous Nakamba: 178/233 done\n", - "Filling history dataframe for Douglas Luiz Soares de Paulo: 179/233 done\n", - "Filling history dataframe for Jacob Ramsey: 180/233 done\n", - "Filling history dataframe for Aaron Ramsey: 181/233 done\n", - "Filling history dataframe for Carney Chukwuemeka: 182/233 done\n", - "Filling history dataframe for Jan Zamburek: 183/233 done\n", - "Filling history dataframe for Mads Bidstrup: 184/233 done\n", - "Filling history dataframe for Davy Pröpper: 185/233 done\n", - "Filling history dataframe for Yves Bissouma: 186/233 done\n", - "Filling history dataframe for Jakub Moder: 187/233 done\n", - "Filling history dataframe for Taylor Richards: 188/233 done\n", - "Filling history dataframe for Moisés Caicedo: 189/233 done\n", - "Filling history dataframe for Jack Cork: 190/233 done\n", - "Filling history dataframe for Dale Stephens: 191/233 done\n", - "Filling history dataframe for Josh Brownhill: 192/233 done\n", - "Filling history dataframe for Josh Benson: 193/233 done\n", - "Filling history dataframe for James McArthur: 194/233 done\n", - "Filling history dataframe for Jesurun Rak-Sakyi: 195/233 done\n", - "Filling history dataframe for Scott Banks: 196/233 done\n", - "Filling history dataframe for Fabian Delph: 197/233 done\n", - "Filling history dataframe for Allan Marques Loureiro: 198/233 done\n", - "Filling history dataframe for Anthony Gordon: 199/233 done\n", - "Filling history dataframe for Jean-Philippe Gbamin: 200/233 done\n", - "Filling history dataframe for Nampalys Mendy: 201/233 done\n", - "Filling history dataframe for Hamza Choudhury: 202/233 done\n", - "Filling history dataframe for Kiernan Dewsbury-Hall: 203/233 done\n", - "Filling history dataframe for Ian Carlo Poveda-Ocampo: 204/233 done\n", - "Filling history dataframe for Jamie Shackleton: 205/233 done\n", - "Filling history dataframe for Crysencio Summerville: 206/233 done\n", - "Filling history dataframe for Adam Forshaw: 207/233 done\n", - "Filling history dataframe for Ben Woodburn: 208/233 done\n", - "Filling history dataframe for Cole Palmer: 209/233 done\n", - "Filling history dataframe for Nemanja Matic: 210/233 done\n", - "Filling history dataframe for Isaac Hayden: 211/233 done\n", - "Filling history dataframe for Sean Longstaff: 212/233 done\n", - "Filling history dataframe for Matthew Longstaff: 213/233 done\n", - "Filling history dataframe for Billy Gilmour: 214/233 done\n", - "Filling history dataframe for Lukas Rupp: 215/233 done\n", - "Filling history dataframe for Oriol Romeu Vidal: 216/233 done\n", - "Filling history dataframe for William Smallbone: 217/233 done\n", - "Filling history dataframe for Ibrahima Diallo: 218/233 done\n", - "Filling history dataframe for Moussa Sissoko: 219/233 done\n", - "Filling history dataframe for Harry Winks: 220/233 done\n", - "Filling history dataframe for Oliver Skipp: 221/233 done\n", - "Filling history dataframe for Ayotomiwa Dele-Bashiru: 222/233 done\n", - "Filling history dataframe for Domingos Quina: 223/233 done\n", - "Filling history dataframe for Joseph Hungbo: 224/233 done\n", - "Filling history dataframe for Kwadwo Baah: 225/233 done\n", - "Filling history dataframe for Oghenekaro Peter Etebo: 226/233 done\n", - "Filling history dataframe for Mark Noble: 227/233 done\n", - "Filling history dataframe for Conor Coventry: 228/233 done\n", - "Filling history dataframe for Morgan Gibbs-White: 229/233 done\n", - "Filling history dataframe for Owen Otasowie: 230/233 done\n", - "Filling history dataframe for Luke Cundle: 231/233 done\n", - "Filling history dataframe for Chem Campbell: 232/233 done\n", - "Alpha is [ 7.57610141 7.49343156 54.60857862]\n" + "Filling history dataframe for Owen Otasowie: 232/235 done\n", + "Filling history dataframe for Luke Cundle: 233/235 done\n", + "Filling history dataframe for Chem Campbell: 234/235 done\n", + "Alpha is [ 7.54817451 7.47175218 54.43733826]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "sample: 100%|███████| 4500/4500 [00:41<00:00, 109.69it/s, 15 steps of size 3.00e-01. acc. prob=0.86]\n" + "sample: 100%|███████| 4500/4500 [00:40<00:00, 111.65it/s, 15 steps of size 2.86e-01. acc. prob=0.87]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Filling history dataframe for Trent Alexander-Arnold: 0/189 done\n", - "Filling history dataframe for Andrew Robertson: 1/189 done\n", - "Filling history dataframe for Virgil van Dijk: 2/189 done\n", - "Filling history dataframe for César Azpilicueta: 3/189 done\n", - "Filling history dataframe for Benjamin Chilwell: 4/189 done\n", - "Filling history dataframe for João Pedro Cavaco Cancelo: 5/189 done\n", - "Filling history dataframe for Rúben Santos Gato Alves Dias: 6/189 done\n", - "Filling history dataframe for Thiago Emiliano da Silva: 7/189 done\n", - "Filling history dataframe for Marcos Alonso: 8/189 done\n", - "Filling history dataframe for Antonio Rüdiger: 9/189 done\n", - "Filling history dataframe for Kurt Zouma: 10/189 done\n", - "Filling history dataframe for Reece James: 11/189 done\n", - "Filling history dataframe for Lucas Digne: 12/189 done\n", - "Filling history dataframe for Jonny Evans: 13/189 done\n", - "Filling history dataframe for Ricardo Domingos Barbosa Pereira: 14/189 done\n", - "Filling history dataframe for Timothy Castagne: 15/189 done\n", - "Filling history dataframe for Ibrahima Konaté: 16/189 done\n", - "Filling history dataframe for Kyle Walker: 17/189 done\n", - "Filling history dataframe for John Stones: 18/189 done\n", - "Filling history dataframe for Benjamin Mendy: 19/189 done\n", - "Filling history dataframe for Aymeric Laporte: 20/189 done\n", - "Filling history dataframe for Oleksandr Zinchenko: 21/189 done\n", - "Filling history dataframe for Harry Maguire: 22/189 done\n", - "Filling history dataframe for Luke Shaw: 23/189 done\n", - "Filling history dataframe for Aaron Wan-Bissaka: 24/189 done\n", - "Filling history dataframe for Aaron Cresswell: 25/189 done\n", - "Filling history dataframe for Héctor Bellerín: 26/189 done\n", - "Filling history dataframe for Kieran Tierney: 27/189 done\n", - "Filling history dataframe for Gabriel Magalhães: 28/189 done\n", - "Filling history dataframe for Tyrone Mings: 29/189 done\n", - "Filling history dataframe for Matt Targett: 30/189 done\n", - "Filling history dataframe for Matthew Cash: 31/189 done\n", - "Filling history dataframe for Ezri Konsa Ngoyo: 32/189 done\n", - "Filling history dataframe for Ashley Young: 33/189 done\n", - "Filling history dataframe for Lewis Dunk: 34/189 done\n", - "Filling history dataframe for James Tarkowski: 35/189 done\n", - "Filling history dataframe for Ben Mee: 36/189 done\n", - "Filling history dataframe for Andreas Christensen: 37/189 done\n", - "Filling history dataframe for Malang Sarr: 38/189 done\n", - "Filling history dataframe for Trevoh Chalobah: 39/189 done\n", - "Filling history dataframe for Seamus Coleman: 40/189 done\n", - "Filling history dataframe for Michael Keane: 41/189 done\n", - "Filling history dataframe for Yerry Mina: 42/189 done\n", - "Filling history dataframe for Ben Godfrey: 43/189 done\n", - "Filling history dataframe for Çaglar Söyüncü: 44/189 done\n", - "Filling history dataframe for James Justin: 45/189 done\n", - "Filling history dataframe for Jannik Vestergaard: 46/189 done\n", - "Filling history dataframe for Ryan Bertrand: 47/189 done\n", - "Filling history dataframe for Héctor Junior Firpo Adames: 48/189 done\n", - "Filling history dataframe for Joel Matip: 49/189 done\n", - "Filling history dataframe for Joseph Gomez: 50/189 done\n", - "Filling history dataframe for Nathan Aké: 51/189 done\n", - "Filling history dataframe for Alex Nicolao Telles: 52/189 done\n", - "Filling history dataframe for Victor Lindelöf: 53/189 done\n", - "Filling history dataframe for Eric Bailly: 54/189 done\n", - "Filling history dataframe for Matt Ritchie: 55/189 done\n", - "Filling history dataframe for Kyle Walker-Peters: 56/189 done\n", - "Filling history dataframe for Romain Perraud: 57/189 done\n", - "Filling history dataframe for Toby Alderweireld: 58/189 done\n", - "Filling history dataframe for Serge Aurier: 59/189 done\n", - "Filling history dataframe for Matt Doherty: 60/189 done\n", - "Filling history dataframe for Sergio Reguilón: 61/189 done\n", - "Filling history dataframe for Cristian Romero: 62/189 done\n", - "Filling history dataframe for Angelo Ogbonna: 63/189 done\n", - "Filling history dataframe for Craig Dawson: 64/189 done\n", - "Filling history dataframe for Vladimir Coufal: 65/189 done\n", - "Filling history dataframe for Willy Boly: 66/189 done\n", - "Filling history dataframe for Romain Saïss: 67/189 done\n", - "Filling history dataframe for Nélson Cabral Semedo: 68/189 done\n", - "Filling history dataframe for Cédric Soares: 69/189 done\n", - "Filling history dataframe for Pablo Marí: 70/189 done\n", - "Filling history dataframe for Calum Chambers: 71/189 done\n", - "Filling history dataframe for Sead Kolasinac: 72/189 done\n", - "Filling history dataframe for Rob Holding: 73/189 done\n", - "Filling history dataframe for Konstantinos Mavropanos: 74/189 done\n", - "Filling history dataframe for William Saliba: 75/189 done\n", - "Filling history dataframe for Ben White: 76/189 done\n", - "Filling history dataframe for Nuno Varela Tavares: 77/189 done\n", - "Filling history dataframe for Björn Engels: 78/189 done\n", - "Filling history dataframe for Kortney Hause: 79/189 done\n", - "Filling history dataframe for Frédéric Guilbert: 80/189 done\n", - "Filling history dataframe for Axel Tuanzebe: 81/189 done\n", - "Filling history dataframe for Pontus Jansson: 82/189 done\n", - "Filling history dataframe for Rico Henry: 83/189 done\n", - "Filling history dataframe for Mads Roerslev Rasmussen: 84/189 done\n", - "Filling history dataframe for Mads Bech Sørensen: 85/189 done\n", - "Filling history dataframe for Ethan Pinnock: 86/189 done\n", - "Filling history dataframe for Kristoffer Ajer: 87/189 done\n", - "Filling history dataframe for Dominic Thompson: 88/189 done\n", - "Filling history dataframe for Dan Burn: 89/189 done\n", - "Filling history dataframe for Adam Webster: 90/189 done\n", - "Filling history dataframe for Joël Veltman: 91/189 done\n", - "Filling history dataframe for Tariq Lamptey: 92/189 done\n", - "Filling history dataframe for Erik Pieters: 93/189 done\n", - "Filling history dataframe for Matthew Lowton: 94/189 done\n", - "Filling history dataframe for Charlie Taylor: 95/189 done\n", - "Filling history dataframe for Nathan Collins: 96/189 done\n", - "Filling history dataframe for Ethan Ampadu: 97/189 done\n", - "Filling history dataframe for Emerson Palmieri dos Santos: 98/189 done\n", - "Filling history dataframe for James Tomkins: 99/189 done\n", - "Filling history dataframe for Cheikhou Kouyaté: 100/189 done\n", - "Filling history dataframe for Jarosław Jach: 101/189 done\n", - "Filling history dataframe for Nathan Ferguson: 102/189 done\n", - "Filling history dataframe for Tyrick Mitchell: 103/189 done\n", - "Filling history dataframe for Joel Ward: 104/189 done\n", - "Filling history dataframe for Marc Guéhi: 105/189 done\n", - "Filling history dataframe for Joachim Andersen: 106/189 done\n", - "Filling history dataframe for Nathaniel Clyne: 107/189 done\n", - "Filling history dataframe for Mason Holgate: 108/189 done\n", - "Filling history dataframe for Jonjoe Kenny: 109/189 done\n", - "Filling history dataframe for Luke Thomas: 110/189 done\n", - "Filling history dataframe for Wesley Fofana: 111/189 done\n", - "Filling history dataframe for Liam Cooper: 112/189 done\n", - "Filling history dataframe for Luke Ayling: 113/189 done\n", - "Filling history dataframe for Diego Llorente: 114/189 done\n", - "Filling history dataframe for Robin Koch: 115/189 done\n", - "Filling history dataframe for Pascal Struijk: 116/189 done\n", - "Filling history dataframe for Nathaniel Phillips: 117/189 done\n", - "Filling history dataframe for Rhys Williams: 118/189 done\n", - "Filling history dataframe for José Diogo Dalot Teixeira: 119/189 done\n", - "Filling history dataframe for Ciaran Clark: 120/189 done\n", - "Filling history dataframe for Jamaal Lascelles: 121/189 done\n", - "Filling history dataframe for Paul Dummett: 122/189 done\n", - "Filling history dataframe for Emil Krafth: 123/189 done\n", - "Filling history dataframe for Fabian Schär: 124/189 done\n", - "Filling history dataframe for Jamal Lewis: 125/189 done\n", - "Filling history dataframe for Federico Fernández: 126/189 done\n", - "Filling history dataframe for Grant Hanley: 127/189 done\n", - "Filling history dataframe for Sam Byram: 128/189 done\n", - "Filling history dataframe for Christoph Zimmermann: 129/189 done\n", - "Filling history dataframe for Max Aarons: 130/189 done\n", - "Filling history dataframe for Jacob Sørensen: 131/189 done\n", - "Filling history dataframe for Ben Gibson: 132/189 done\n", - "Filling history dataframe for Dimitris Giannoulis: 133/189 done\n", - "Filling history dataframe for Jack Stephens: 134/189 done\n", - "Filling history dataframe for Jan Bednarek: 135/189 done\n", - "Filling history dataframe for Mohammed Salisu: 136/189 done\n", - "Filling history dataframe for Eric Dier: 137/189 done\n", - "Filling history dataframe for Ben Davies: 138/189 done\n", - "Filling history dataframe for Davinson Sánchez: 139/189 done\n", - "Filling history dataframe for Ryan Sessegnon: 140/189 done\n", - "Filling history dataframe for Japhet Tanganga: 141/189 done\n", - "Filling history dataframe for Joe Rodon: 142/189 done\n", - "Filling history dataframe for Danny Rose: 143/189 done\n", - "Filling history dataframe for Craig Cathcart: 144/189 done\n", - "Filling history dataframe for Francisco Femenía Far: 145/189 done\n", - "Filling history dataframe for Christian Kabasele: 146/189 done\n", - "Filling history dataframe for William Troost-Ekong: 147/189 done\n", - "Filling history dataframe for Adam Masina: 148/189 done\n", - "Filling history dataframe for Francisco Sierralta: 149/189 done\n", - "Filling history dataframe for Jeremy Ngakia: 150/189 done\n", - "Filling history dataframe for Ben Wilmot: 151/189 done\n", - "Filling history dataframe for Ryan Fredericks: 152/189 done\n", - "Filling history dataframe for Arthur Masuaku: 153/189 done\n", - "Filling history dataframe for Issa Diop: 154/189 done\n", - "Filling history dataframe for Conor Coady: 155/189 done\n", - "Filling history dataframe for Fernando Marçal: 156/189 done\n", - "Filling history dataframe for Jonathan Castro Otto: 157/189 done\n", - "Filling history dataframe for Max Kilman: 158/189 done\n", - "Filling history dataframe for Yerson Mosquera Valdelamar: 159/189 done\n", - "Filling history dataframe for Rayan Ait Nouri: 160/189 done\n", - "Filling history dataframe for Charlie Goode: 161/189 done\n", - "Filling history dataframe for Shane Duffy: 162/189 done\n", - "Filling history dataframe for Bernardo Fernandes Da Silva Junior: 163/189 done\n", - "Filling history dataframe for Michal Karbownik: 164/189 done\n", - "Filling history dataframe for Phil Bardsley: 165/189 done\n", - "Filling history dataframe for Kevin Long: 166/189 done\n", - "Filling history dataframe for Bobby Thomas: 167/189 done\n", - "Filling history dataframe for Martin Kelly: 168/189 done\n", - "Filling history dataframe for Reece Hannam: 169/189 done\n", - "Filling history dataframe for Jarrad Branthwaite: 170/189 done\n", - "Filling history dataframe for Daniel Amartey: 171/189 done\n", - "Filling history dataframe for Konstantinos Tsimikas: 172/189 done\n", - "Filling history dataframe for Neco Williams: 173/189 done\n", - "Filling history dataframe for Ben Davies: 174/189 done\n" + "Filling history dataframe for Trent Alexander-Arnold: 0/190 done\n", + "Filling history dataframe for Andrew Robertson: 1/190 done\n", + "Filling history dataframe for Virgil van Dijk: 2/190 done\n", + "Filling history dataframe for César Azpilicueta: 3/190 done\n", + "Filling history dataframe for Benjamin Chilwell: 4/190 done\n", + "Filling history dataframe for João Pedro Cavaco Cancelo: 5/190 done\n", + "Filling history dataframe for Rúben Santos Gato Alves Dias: 6/190 done\n", + "Filling history dataframe for Marcos Alonso: 7/190 done\n", + "Filling history dataframe for Thiago Emiliano da Silva: 8/190 done\n", + "Filling history dataframe for Antonio Rüdiger: 9/190 done\n", + "Filling history dataframe for Kurt Zouma: 10/190 done\n", + "Filling history dataframe for Reece James: 11/190 done\n", + "Filling history dataframe for Lucas Digne: 12/190 done\n", + "Filling history dataframe for Jonny Evans: 13/190 done\n", + "Filling history dataframe for Ricardo Domingos Barbosa Pereira: 14/190 done\n", + "Filling history dataframe for Timothy Castagne: 15/190 done\n", + "Filling history dataframe for Kyle Walker: 16/190 done\n", + "Filling history dataframe for John Stones: 17/190 done\n", + "Filling history dataframe for Benjamin Mendy: 18/190 done\n", + "Filling history dataframe for Aymeric Laporte: 19/190 done\n", + "Filling history dataframe for Oleksandr Zinchenko: 20/190 done\n", + "Filling history dataframe for Harry Maguire: 21/190 done\n", + "Filling history dataframe for Luke Shaw: 22/190 done\n", + "Filling history dataframe for Aaron Wan-Bissaka: 23/190 done\n", + "Filling history dataframe for Aaron Cresswell: 24/190 done\n", + "Filling history dataframe for Raphaël Varane: 25/190 done\n", + "Filling history dataframe for Ibrahima Konaté: 26/190 done\n", + "Filling history dataframe for Kieran Tierney: 27/190 done\n", + "Filling history dataframe for Gabriel Magalhães: 28/190 done\n", + "Filling history dataframe for Tyrone Mings: 29/190 done\n", + "Filling history dataframe for Matt Targett: 30/190 done\n", + "Filling history dataframe for Matthew Cash: 31/190 done\n", + "Filling history dataframe for Ezri Konsa Ngoyo: 32/190 done\n", + "Filling history dataframe for Ashley Young: 33/190 done\n", + "Filling history dataframe for Lewis Dunk: 34/190 done\n", + "Filling history dataframe for James Tarkowski: 35/190 done\n", + "Filling history dataframe for Ben Mee: 36/190 done\n", + "Filling history dataframe for Andreas Christensen: 37/190 done\n", + "Filling history dataframe for Malang Sarr: 38/190 done\n", + "Filling history dataframe for Trevoh Chalobah: 39/190 done\n", + "Filling history dataframe for Seamus Coleman: 40/190 done\n", + "Filling history dataframe for Michael Keane: 41/190 done\n", + "Filling history dataframe for Yerry Mina: 42/190 done\n", + "Filling history dataframe for Ben Godfrey: 43/190 done\n", + "Filling history dataframe for Çaglar Söyüncü: 44/190 done\n", + "Filling history dataframe for James Justin: 45/190 done\n", + "Filling history dataframe for Jannik Vestergaard: 46/190 done\n", + "Filling history dataframe for Ryan Bertrand: 47/190 done\n", + "Filling history dataframe for Héctor Junior Firpo Adames: 48/190 done\n", + "Filling history dataframe for Joel Matip: 49/190 done\n", + "Filling history dataframe for Joseph Gomez: 50/190 done\n", + "Filling history dataframe for Nathan Aké: 51/190 done\n", + "Filling history dataframe for Alex Nicolao Telles: 52/190 done\n", + "Filling history dataframe for Victor Lindelöf: 53/190 done\n", + "Filling history dataframe for Eric Bailly: 54/190 done\n", + "Filling history dataframe for Matt Ritchie: 55/190 done\n", + "Filling history dataframe for Kyle Walker-Peters: 56/190 done\n", + "Filling history dataframe for Romain Perraud: 57/190 done\n", + "Filling history dataframe for Toby Alderweireld: 58/190 done\n", + "Filling history dataframe for Serge Aurier: 59/190 done\n", + "Filling history dataframe for Matt Doherty: 60/190 done\n", + "Filling history dataframe for Sergio Reguilón: 61/190 done\n", + "Filling history dataframe for Cristian Romero: 62/190 done\n", + "Filling history dataframe for Angelo Ogbonna: 63/190 done\n", + "Filling history dataframe for Craig Dawson: 64/190 done\n", + "Filling history dataframe for Vladimir Coufal: 65/190 done\n", + "Filling history dataframe for Willy Boly: 66/190 done\n", + "Filling history dataframe for Romain Saïss: 67/190 done\n", + "Filling history dataframe for Nélson Cabral Semedo: 68/190 done\n", + "Filling history dataframe for Héctor Bellerín: 69/190 done\n", + "Filling history dataframe for Cédric Soares: 70/190 done\n", + "Filling history dataframe for Pablo Marí: 71/190 done\n", + "Filling history dataframe for Calum Chambers: 72/190 done\n", + "Filling history dataframe for Sead Kolasinac: 73/190 done\n", + "Filling history dataframe for Konstantinos Mavropanos: 74/190 done\n", + "Filling history dataframe for William Saliba: 75/190 done\n", + "Filling history dataframe for Ben White: 76/190 done\n", + "Filling history dataframe for Nuno Varela Tavares: 77/190 done\n", + "Filling history dataframe for Björn Engels: 78/190 done\n", + "Filling history dataframe for Kortney Hause: 79/190 done\n", + "Filling history dataframe for Frédéric Guilbert: 80/190 done\n", + "Filling history dataframe for Axel Tuanzebe: 81/190 done\n", + "Filling history dataframe for Pontus Jansson: 82/190 done\n", + "Filling history dataframe for Rico Henry: 83/190 done\n", + "Filling history dataframe for Mads Roerslev Rasmussen: 84/190 done\n", + "Filling history dataframe for Mads Bech Sørensen: 85/190 done\n", + "Filling history dataframe for Ethan Pinnock: 86/190 done\n", + "Filling history dataframe for Kristoffer Ajer: 87/190 done\n", + "Filling history dataframe for Dominic Thompson: 88/190 done\n", + "Filling history dataframe for Dan Burn: 89/190 done\n", + "Filling history dataframe for Adam Webster: 90/190 done\n", + "Filling history dataframe for Joël Veltman: 91/190 done\n", + "Filling history dataframe for Tariq Lamptey: 92/190 done\n", + "Filling history dataframe for Erik Pieters: 93/190 done\n", + "Filling history dataframe for Matthew Lowton: 94/190 done\n", + "Filling history dataframe for Charlie Taylor: 95/190 done\n", + "Filling history dataframe for Nathan Collins: 96/190 done\n", + "Filling history dataframe for Ethan Ampadu: 97/190 done\n", + "Filling history dataframe for Emerson Palmieri dos Santos: 98/190 done\n", + "Filling history dataframe for James Tomkins: 99/190 done\n", + "Filling history dataframe for Cheikhou Kouyaté: 100/190 done\n", + "Filling history dataframe for Jarosław Jach: 101/190 done\n", + "Filling history dataframe for Nathan Ferguson: 102/190 done\n", + "Filling history dataframe for Tyrick Mitchell: 103/190 done\n", + "Filling history dataframe for Joel Ward: 104/190 done\n", + "Filling history dataframe for Marc Guéhi: 105/190 done\n", + "Filling history dataframe for Joachim Andersen: 106/190 done\n", + "Filling history dataframe for Nathaniel Clyne: 107/190 done\n", + "Filling history dataframe for Mason Holgate: 108/190 done\n", + "Filling history dataframe for Jonjoe Kenny: 109/190 done\n", + "Filling history dataframe for Luke Thomas: 110/190 done\n", + "Filling history dataframe for Wesley Fofana: 111/190 done\n", + "Filling history dataframe for Liam Cooper: 112/190 done\n", + "Filling history dataframe for Luke Ayling: 113/190 done\n", + "Filling history dataframe for Diego Llorente: 114/190 done\n", + "Filling history dataframe for Robin Koch: 115/190 done\n", + "Filling history dataframe for Pascal Struijk: 116/190 done\n", + "Filling history dataframe for Nathaniel Phillips: 117/190 done\n", + "Filling history dataframe for Rhys Williams: 118/190 done\n", + "Filling history dataframe for José Diogo Dalot Teixeira: 119/190 done\n", + "Filling history dataframe for Ciaran Clark: 120/190 done\n", + "Filling history dataframe for Jamaal Lascelles: 121/190 done\n", + "Filling history dataframe for Paul Dummett: 122/190 done\n", + "Filling history dataframe for Emil Krafth: 123/190 done\n", + "Filling history dataframe for Fabian Schär: 124/190 done\n", + "Filling history dataframe for Jamal Lewis: 125/190 done\n", + "Filling history dataframe for Federico Fernández: 126/190 done\n", + "Filling history dataframe for Grant Hanley: 127/190 done\n", + "Filling history dataframe for Sam Byram: 128/190 done\n", + "Filling history dataframe for Christoph Zimmermann: 129/190 done\n", + "Filling history dataframe for Max Aarons: 130/190 done\n", + "Filling history dataframe for Jacob Sørensen: 131/190 done\n", + "Filling history dataframe for Ben Gibson: 132/190 done\n", + "Filling history dataframe for Dimitris Giannoulis: 133/190 done\n", + "Filling history dataframe for Jack Stephens: 134/190 done\n", + "Filling history dataframe for Jan Bednarek: 135/190 done\n", + "Filling history dataframe for Mohammed Salisu: 136/190 done\n", + "Filling history dataframe for Eric Dier: 137/190 done\n", + "Filling history dataframe for Ben Davies: 138/190 done\n", + "Filling history dataframe for Davinson Sánchez: 139/190 done\n", + "Filling history dataframe for Ryan Sessegnon: 140/190 done\n", + "Filling history dataframe for Japhet Tanganga: 141/190 done\n", + "Filling history dataframe for Joe Rodon: 142/190 done\n", + "Filling history dataframe for Danny Rose: 143/190 done\n", + "Filling history dataframe for Craig Cathcart: 144/190 done\n", + "Filling history dataframe for Francisco Femenía Far: 145/190 done\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Filling history dataframe for Brandon Williams: 175/189 done\n", - "Filling history dataframe for Javier Manquillo: 176/189 done\n", - "Filling history dataframe for Andrew Omobamidele: 177/189 done\n", - "Filling history dataframe for Bali Mumba: 178/189 done\n", - "Filling history dataframe for Tino Livramento: 179/189 done\n", - "Filling history dataframe for Yan Valery: 180/189 done\n", - "Filling history dataframe for Marc Navarro: 181/189 done\n", - "Filling history dataframe for Matthew Pollock: 182/189 done\n", - "Filling history dataframe for Winston Reid: 183/189 done\n", - "Filling history dataframe for Ben Johnson: 184/189 done\n", - "Filling history dataframe for Frederik Alves: 185/189 done\n", - "Filling history dataframe for Jamal Baptiste: 186/189 done\n", - "Filling history dataframe for Ki-Jana Hoever: 187/189 done\n", - "Filling history dataframe for Christian Marques: 188/189 done\n", + "Filling history dataframe for Christian Kabasele: 146/190 done\n", + "Filling history dataframe for William Troost-Ekong: 147/190 done\n", + "Filling history dataframe for Adam Masina: 148/190 done\n", + "Filling history dataframe for Francisco Sierralta: 149/190 done\n", + "Filling history dataframe for Jeremy Ngakia: 150/190 done\n", + "Filling history dataframe for Ben Wilmot: 151/190 done\n", + "Filling history dataframe for Ryan Fredericks: 152/190 done\n", + "Filling history dataframe for Arthur Masuaku: 153/190 done\n", + "Filling history dataframe for Issa Diop: 154/190 done\n", + "Filling history dataframe for Conor Coady: 155/190 done\n", + "Filling history dataframe for Fernando Marçal: 156/190 done\n", + "Filling history dataframe for Jonathan Castro Otto: 157/190 done\n", + "Filling history dataframe for Max Kilman: 158/190 done\n", + "Filling history dataframe for Yerson Mosquera Valdelamar: 159/190 done\n", + "Filling history dataframe for Rayan Ait Nouri: 160/190 done\n", + "Filling history dataframe for Rob Holding: 161/190 done\n", + "Filling history dataframe for Konstantinos Tsimikas: 162/190 done\n", + "Filling history dataframe for Charlie Goode: 163/190 done\n", + "Filling history dataframe for Shane Duffy: 164/190 done\n", + "Filling history dataframe for Bernardo Fernandes Da Silva Junior: 165/190 done\n", + "Filling history dataframe for Michal Karbownik: 166/190 done\n", + "Filling history dataframe for Phil Bardsley: 167/190 done\n", + "Filling history dataframe for Kevin Long: 168/190 done\n", + "Filling history dataframe for Bobby Thomas: 169/190 done\n", + "Filling history dataframe for Martin Kelly: 170/190 done\n", + "Filling history dataframe for Reece Hannam: 171/190 done\n", + "Filling history dataframe for Jarrad Branthwaite: 172/190 done\n", + "Filling history dataframe for Daniel Amartey: 173/190 done\n", + "Filling history dataframe for Neco Williams: 174/190 done\n", + "Filling history dataframe for Ben Davies: 175/190 done\n", + "Filling history dataframe for Brandon Williams: 176/190 done\n", + "Filling history dataframe for Javier Manquillo: 177/190 done\n", + "Filling history dataframe for Andrew Omobamidele: 178/190 done\n", + "Filling history dataframe for Bali Mumba: 179/190 done\n", + "Filling history dataframe for Tino Livramento: 180/190 done\n", + "Filling history dataframe for Yan Valery: 181/190 done\n", + "Filling history dataframe for Marc Navarro: 182/190 done\n", + "Filling history dataframe for Matthew Pollock: 183/190 done\n", + "Filling history dataframe for Winston Reid: 184/190 done\n", + "Filling history dataframe for Ben Johnson: 185/190 done\n", + "Filling history dataframe for Frederik Alves: 186/190 done\n", + "Filling history dataframe for Jamal Baptiste: 187/190 done\n", + "Filling history dataframe for Ki-Jana Hoever: 188/190 done\n", + "Filling history dataframe for Christian Marques: 189/190 done\n", "Alpha is [ 2.20695308 3.80735945 66.82079385]\n" ] }, @@ -855,7 +858,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "sample: 100%|███████| 4500/4500 [00:38<00:00, 117.98it/s, 15 steps of size 2.65e-01. acc. prob=0.88]\n" + "sample: 100%|███████| 4500/4500 [00:33<00:00, 133.46it/s, 15 steps of size 2.96e-01. acc. prob=0.84]\n" ] } ], @@ -883,7 +886,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -943,72 +946,72 @@ " \n", " 7\n", " Danny Ings\n", - " 0.436643\n", - " 0.130513\n", - " 0.432844\n", + " 0.436873\n", + " 0.130375\n", + " 0.432752\n", " \n", " \n", " 17\n", " Chris Wood\n", - " 0.388925\n", - " 0.114703\n", - " 0.496372\n", + " 0.388932\n", + " 0.114705\n", + " 0.496363\n", " \n", " \n", " 0\n", " Pierre-Emerick Aubameyang\n", - " 0.381972\n", - " 0.126044\n", - " 0.491984\n", + " 0.381876\n", + " 0.126520\n", + " 0.491604\n", " \n", " \n", " 19\n", " Olivier Giroud\n", - " 0.369933\n", - " 0.159366\n", - " 0.470701\n", + " 0.369597\n", + " 0.160919\n", + " 0.469483\n", " \n", " \n", " 22\n", " Tammy Abraham\n", - " 0.359916\n", - " 0.154560\n", - " 0.485524\n", - " \n", - " \n", - " 26\n", - " Dominic Calvert-Lewin\n", - " 0.357257\n", - " 0.137516\n", - " 0.505227\n", + " 0.358690\n", + " 0.154996\n", + " 0.486315\n", " \n", " \n", " 37\n", " Anthony Martial\n", - " 0.356406\n", - " 0.208686\n", - " 0.434908\n", + " 0.356678\n", + " 0.208722\n", + " 0.434600\n", " \n", " \n", " 28\n", " Jamie Vardy\n", - " 0.355651\n", - " 0.164212\n", - " 0.480137\n", + " 0.355681\n", + " 0.164261\n", + " 0.480058\n", + " \n", + " \n", + " 26\n", + " Dominic Calvert-Lewin\n", + " 0.355371\n", + " 0.137975\n", + " 0.506653\n", " \n", " \n", " 64\n", " Raúl Jiménez\n", - " 0.355503\n", - " 0.182633\n", - " 0.461864\n", + " 0.355177\n", + " 0.182946\n", + " 0.461878\n", " \n", " \n", " 51\n", " Harry Kane\n", - " 0.352839\n", - " 0.142425\n", - " 0.504735\n", + " 0.352092\n", + " 0.142769\n", + " 0.505139\n", " \n", " \n", "\n", @@ -1016,16 +1019,16 @@ ], "text/plain": [ " name prob_score prob_assist prob_neither\n", - "7 Danny Ings 0.436643 0.130513 0.432844\n", - "17 Chris Wood 0.388925 0.114703 0.496372\n", - "0 Pierre-Emerick Aubameyang 0.381972 0.126044 0.491984\n", - "19 Olivier Giroud 0.369933 0.159366 0.470701\n", - "22 Tammy Abraham 0.359916 0.154560 0.485524\n", - "26 Dominic Calvert-Lewin 0.357257 0.137516 0.505227\n", - "37 Anthony Martial 0.356406 0.208686 0.434908\n", - "28 Jamie Vardy 0.355651 0.164212 0.480137\n", - "64 Raúl Jiménez 0.355503 0.182633 0.461864\n", - "51 Harry Kane 0.352839 0.142425 0.504735" + "7 Danny Ings 0.436873 0.130375 0.432752\n", + "17 Chris Wood 0.388932 0.114705 0.496363\n", + "0 Pierre-Emerick Aubameyang 0.381876 0.126520 0.491604\n", + "19 Olivier Giroud 0.369597 0.160919 0.469483\n", + "22 Tammy Abraham 0.358690 0.154996 0.486315\n", + "37 Anthony Martial 0.356678 0.208722 0.434600\n", + "28 Jamie Vardy 0.355681 0.164261 0.480058\n", + "26 Dominic Calvert-Lewin 0.355371 0.137975 0.506653\n", + "64 Raúl Jiménez 0.355177 0.182946 0.461878\n", + "51 Harry Kane 0.352092 0.142769 0.505139" ] }, "execution_count": 12, @@ -1074,72 +1077,72 @@ " \n", " 115\n", " Mohamed Salah\n", - " 0.273805\n", - " 0.142624\n", - " 0.583571\n", + " 0.273350\n", + " 0.142621\n", + " 0.584029\n", " \n", " \n", " 118\n", " Diogo Jota\n", - " 0.268702\n", - " 0.148473\n", - " 0.582825\n", + " 0.269251\n", + " 0.148342\n", + " 0.582406\n", " \n", " \n", " 113\n", " Sadio Mané\n", - " 0.252196\n", - " 0.135145\n", - " 0.612660\n", + " 0.252084\n", + " 0.136091\n", + " 0.611825\n", " \n", " \n", " 178\n", " Heung-Min Son\n", - " 0.250461\n", - " 0.204082\n", - " 0.545457\n", + " 0.250924\n", + " 0.204036\n", + " 0.545040\n", " \n", " \n", " 138\n", " Marcus Rashford\n", - " 0.243572\n", - " 0.178158\n", - " 0.578270\n", + " 0.242815\n", + " 0.178367\n", + " 0.578818\n", " \n", " \n", " 137\n", " Bruno Miguel Borges Fernandes\n", - " 0.238181\n", - " 0.191716\n", - " 0.570103\n", + " 0.238068\n", + " 0.192177\n", + " 0.569756\n", " \n", " \n", " 91\n", " Ayoze Pérez\n", - " 0.225603\n", - " 0.117771\n", - " 0.656626\n", + " 0.226023\n", + " 0.118341\n", + " 0.655636\n", " \n", " \n", " 142\n", " Mason Greenwood\n", - " 0.220313\n", - " 0.090482\n", - " 0.689204\n", + " 0.220490\n", + " 0.089860\n", + " 0.689650\n", " \n", " \n", " 125\n", " Raheem Sterling\n", - " 0.218636\n", - " 0.150042\n", - " 0.631322\n", + " 0.218910\n", + " 0.150455\n", + " 0.630635\n", " \n", " \n", " 19\n", " Anwar El Ghazi\n", - " 0.208516\n", - " 0.121247\n", - " 0.670237\n", + " 0.208010\n", + " 0.120417\n", + " 0.671573\n", " \n", " \n", "\n", @@ -1147,16 +1150,16 @@ ], "text/plain": [ " name prob_score prob_assist prob_neither\n", - "115 Mohamed Salah 0.273805 0.142624 0.583571\n", - "118 Diogo Jota 0.268702 0.148473 0.582825\n", - "113 Sadio Mané 0.252196 0.135145 0.612660\n", - "178 Heung-Min Son 0.250461 0.204082 0.545457\n", - "138 Marcus Rashford 0.243572 0.178158 0.578270\n", - "137 Bruno Miguel Borges Fernandes 0.238181 0.191716 0.570103\n", - "91 Ayoze Pérez 0.225603 0.117771 0.656626\n", - "142 Mason Greenwood 0.220313 0.090482 0.689204\n", - "125 Raheem Sterling 0.218636 0.150042 0.631322\n", - "19 Anwar El Ghazi 0.208516 0.121247 0.670237" + "115 Mohamed Salah 0.273350 0.142621 0.584029\n", + "118 Diogo Jota 0.269251 0.148342 0.582406\n", + "113 Sadio Mané 0.252084 0.136091 0.611825\n", + "178 Heung-Min Son 0.250924 0.204036 0.545040\n", + "138 Marcus Rashford 0.242815 0.178367 0.578818\n", + "137 Bruno Miguel Borges Fernandes 0.238068 0.192177 0.569756\n", + "91 Ayoze Pérez 0.226023 0.118341 0.655636\n", + "142 Mason Greenwood 0.220490 0.089860 0.689650\n", + "125 Raheem Sterling 0.218910 0.150455 0.630635\n", + "19 Anwar El Ghazi 0.208010 0.120417 0.671573" ] }, "execution_count": 13, @@ -1192,22 +1195,22 @@ "Filling history dataframe for Romelu Lukaku: 1/75 done\n", "Filling history dataframe for Jamie Vardy: 2/75 done\n", "Filling history dataframe for Pierre-Emerick Aubameyang: 3/75 done\n", - "Filling history dataframe for Timo Werner: 4/75 done\n", - "Filling history dataframe for Roberto Firmino: 5/75 done\n", - "Filling history dataframe for Alexandre Lacazette: 6/75 done\n", - "Filling history dataframe for Gabriel Fernando de Jesus: 7/75 done\n", - "Filling history dataframe for Edinson Cavani: 8/75 done\n", + "Filling history dataframe for Roberto Firmino: 4/75 done\n", + "Filling history dataframe for Timo Werner: 5/75 done\n", + "Filling history dataframe for Gabriel Fernando de Jesus: 6/75 done\n", + "Filling history dataframe for Edinson Cavani: 7/75 done\n", + "Filling history dataframe for Alexandre Lacazette: 8/75 done\n", "Filling history dataframe for Danny Ings: 9/75 done\n", "Filling history dataframe for Dominic Calvert-Lewin: 10/75 done\n", "Filling history dataframe for Patrick Bamford: 11/75 done\n", "Filling history dataframe for Anthony Martial: 12/75 done\n", "Filling history dataframe for Richarlison de Andrade: 13/75 done\n", - "Filling history dataframe for Ollie Watkins: 14/75 done\n", - "Filling history dataframe for Kelechi Iheanacho: 15/75 done\n", - "Filling history dataframe for Patson Daka: 16/75 done\n", - "Filling history dataframe for Callum Wilson: 17/75 done\n", - "Filling history dataframe for Michail Antonio: 18/75 done\n", - "Filling history dataframe for Raúl Jiménez: 19/75 done\n", + "Filling history dataframe for Michail Antonio: 14/75 done\n", + "Filling history dataframe for Ollie Watkins: 15/75 done\n", + "Filling history dataframe for Callum Wilson: 16/75 done\n", + "Filling history dataframe for Raúl Jiménez: 17/75 done\n", + "Filling history dataframe for Kelechi Iheanacho: 18/75 done\n", + "Filling history dataframe for Patson Daka: 19/75 done\n", "Filling history dataframe for Chris Wood: 20/75 done\n", "Filling history dataframe for Che Adams: 21/75 done\n", "Filling history dataframe for Ivan Toney: 22/75 done\n", @@ -1342,22 +1345,22 @@ "Filling history dataframe for Romelu Lukaku: 1/75 done\n", "Filling history dataframe for Jamie Vardy: 2/75 done\n", "Filling history dataframe for Pierre-Emerick Aubameyang: 3/75 done\n", - "Filling history dataframe for Timo Werner: 4/75 done\n", - "Filling history dataframe for Roberto Firmino: 5/75 done\n", - "Filling history dataframe for Alexandre Lacazette: 6/75 done\n", - "Filling history dataframe for Gabriel Fernando de Jesus: 7/75 done\n", - "Filling history dataframe for Edinson Cavani: 8/75 done\n", + "Filling history dataframe for Roberto Firmino: 4/75 done\n", + "Filling history dataframe for Timo Werner: 5/75 done\n", + "Filling history dataframe for Gabriel Fernando de Jesus: 6/75 done\n", + "Filling history dataframe for Edinson Cavani: 7/75 done\n", + "Filling history dataframe for Alexandre Lacazette: 8/75 done\n", "Filling history dataframe for Danny Ings: 9/75 done\n", "Filling history dataframe for Dominic Calvert-Lewin: 10/75 done\n", "Filling history dataframe for Patrick Bamford: 11/75 done\n", "Filling history dataframe for Anthony Martial: 12/75 done\n", "Filling history dataframe for Richarlison de Andrade: 13/75 done\n", - "Filling history dataframe for Ollie Watkins: 14/75 done\n", - "Filling history dataframe for Kelechi Iheanacho: 15/75 done\n", - "Filling history dataframe for Patson Daka: 16/75 done\n", - "Filling history dataframe for Callum Wilson: 17/75 done\n", - "Filling history dataframe for Michail Antonio: 18/75 done\n", - "Filling history dataframe for Raúl Jiménez: 19/75 done\n", + "Filling history dataframe for Michail Antonio: 14/75 done\n", + "Filling history dataframe for Ollie Watkins: 15/75 done\n", + "Filling history dataframe for Callum Wilson: 16/75 done\n", + "Filling history dataframe for Raúl Jiménez: 17/75 done\n", + "Filling history dataframe for Kelechi Iheanacho: 18/75 done\n", + "Filling history dataframe for Patson Daka: 19/75 done\n", "Filling history dataframe for Chris Wood: 20/75 done\n", "Filling history dataframe for Che Adams: 21/75 done\n", "Filling history dataframe for Ivan Toney: 22/75 done\n", @@ -1456,38 +1459,7 @@ "Michy Batshuayi\n", "Alpha is [25.21492007 15.75932504 50.02575488]\n", "Timo Werner\n", - "Alpha is [ 5.00914813 10.01829625 23.97255562]" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:478: RuntimeWarning: divide by zero encountered in long_scalars\n", - " a0 = neff * (goals / team) * (total_minutes / minutes)\n", - "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:478: RuntimeWarning: invalid value encountered in double_scalars\n", - " a0 = neff * (goals / team) * (total_minutes / minutes)\n", - "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:479: RuntimeWarning: divide by zero encountered in long_scalars\n", - " a1 = neff * (assists / team) * (total_minutes / minutes)\n", - "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:479: RuntimeWarning: invalid value encountered in double_scalars\n", - " a1 = neff * (assists / team) * (total_minutes / minutes)\n", - "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:483: RuntimeWarning: divide by zero encountered in long_scalars\n", - " * (total_minutes / minutes)\n", - "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:483: RuntimeWarning: invalid value encountered in double_scalars\n", - " * (total_minutes / minutes)\n", - "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:478: RuntimeWarning: invalid value encountered in long_scalars\n", - " a0 = neff * (goals / team) * (total_minutes / minutes)\n", - "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:479: RuntimeWarning: invalid value encountered in long_scalars\n", - " a1 = neff * (assists / team) * (total_minutes / minutes)\n", - "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/prediction_utils.py:483: RuntimeWarning: invalid value encountered in long_scalars\n", - " * (total_minutes / minutes)\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\n", + "Alpha is [ 5.00914813 10.01829625 23.97255562]\n", "Tammy Abraham\n", "Alpha is [40.00897972 15.24151608 59.74950419]\n", "Christian Benteke\n", @@ -1582,7 +1554,13 @@ "Alpha is [ 0. 0. 35.]\n", "Lewis Richardson\n", "Alpha is [ 0. 0. 34.]\n", - "Nathan Broadhead\n", + "Nathan Broadhead\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Alpha is [ 0. 0. 15.]\n", "Sam Greenwood\n", "Alpha is [nan nan nan]\n", @@ -1596,6 +1574,30 @@ "Alpha is [nan nan nan]\n" ] }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/player_model.py:37: RuntimeWarning: divide by zero encountered in long_scalars\n", + " a0 = n_matches * (player_goals / team_goals) * (total_minutes / player_minutes)\n", + "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/player_model.py:37: RuntimeWarning: invalid value encountered in double_scalars\n", + " a0 = n_matches * (player_goals / team_goals) * (total_minutes / player_minutes)\n", + "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/player_model.py:38: RuntimeWarning: divide by zero encountered in long_scalars\n", + " a1 = n_matches * (player_assists / team_goals) * (total_minutes / player_minutes)\n", + "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/player_model.py:38: RuntimeWarning: invalid value encountered in double_scalars\n", + " a1 = n_matches * (player_assists / team_goals) * (total_minutes / player_minutes)\n", + "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/player_model.py:45: RuntimeWarning: divide by zero encountered in long_scalars\n", + " * (total_minutes / player_minutes)\n", + "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/player_model.py:40: RuntimeWarning: invalid value encountered in double_scalars\n", + " n_matches\n", + "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/player_model.py:37: RuntimeWarning: invalid value encountered in long_scalars\n", + " a0 = n_matches * (player_goals / team_goals) * (total_minutes / player_minutes)\n", + "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/player_model.py:38: RuntimeWarning: invalid value encountered in long_scalars\n", + " a1 = n_matches * (player_assists / team_goals) * (total_minutes / player_minutes)\n", + "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/player_model.py:42: RuntimeWarning: invalid value encountered in long_scalars\n", + " (player_neither / team_goals)\n" + ] + }, { "data": { "text/html": [ @@ -1729,7 +1731,8 @@ } ], "source": [ - "from airsenal.framework.prediction_utils import get_empirical_bayes_estimates, get_player_history_df\n", + "from airsenal.framework.prediction_utils import get_player_history_df\n", + "from airsenal.framework.player_model import get_empirical_bayes_estimates\n", "\n", "df = get_player_history_df(\n", " \"FWD\", season=CURRENT_SEASON, gameweek=NEXT_GAMEWEEK\n", @@ -1917,17 +1920,17 @@ "data": { "text/plain": [ "name\n", - "Juan Camilo Hernández Suárez -0.947735\n", - "Adam Armstrong -0.696284\n", - "Patrick Cutrone -0.186656\n", - "Emmanuel Dennis -0.165573\n", - "Teemu Pukki -0.159201\n", + "Juan Camilo Hernández Suárez -0.946813\n", + "Adam Armstrong -0.697765\n", + "Patrick Cutrone -0.185991\n", + "Emmanuel Dennis -0.165295\n", + "Teemu Pukki -0.159101\n", " ... \n", - "Marcus Forss 0.291000\n", - "Adam Idah 0.291294\n", - "Daniel N'Lundulu 0.291642\n", - "Dane Scarlett 0.292065\n", - "João Pedro Junqueira de Jesus 0.292138\n", + "Dane Scarlett 0.290898\n", + "Nathan Broadhead 0.290947\n", + "Marcus Forss 0.291484\n", + "João Pedro Junqueira de Jesus 0.291824\n", + "Daniel N'Lundulu 0.292240\n", "Length: 64, dtype: float64" ] }, @@ -1958,7 +1961,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -2052,13 +2055,13 @@ "data": { "text/plain": [ "count 75.000000\n", - "mean 0.312402\n", - "std 0.033285\n", - "min 0.219613\n", - "25% 0.291147\n", - "50% 0.303716\n", - "75% 0.331078\n", - "max 0.436643\n", + "mean 0.312273\n", + "std 0.033281\n", + "min 0.219143\n", + "25% 0.291099\n", + "50% 0.303187\n", + "75% 0.330879\n", + "max 0.436873\n", "Name: prob_score, dtype: float64" ] }, @@ -2081,9 +2084,9 @@ { "data": { "text/plain": [ - "prob_score 0.249176\n", - "prob_assist 0.170757\n", - "prob_neither 0.580067\n", + "prob_score 0.249198\n", + "prob_assist 0.170517\n", + "prob_neither 0.580285\n", "emp_score 0.154853\n", "emp_assist 0.124881\n", "emp_neither 0.720266\n", @@ -2279,7 +2282,1024 @@ { "cell_type": "code", "execution_count": null, + "id": "e150cd9e", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 28, "id": "08c75178", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Filling history dataframe for Harry Kane: 0/75 done\n", + "Filling history dataframe for Romelu Lukaku: 1/75 done\n", + "Filling history dataframe for Jamie Vardy: 2/75 done\n", + "Filling history dataframe for Pierre-Emerick Aubameyang: 3/75 done\n", + "Filling history dataframe for Roberto Firmino: 4/75 done\n", + "Filling history dataframe for Timo Werner: 5/75 done\n", + "Filling history dataframe for Gabriel Fernando de Jesus: 6/75 done\n", + "Filling history dataframe for Edinson Cavani: 7/75 done\n", + "Filling history dataframe for Alexandre Lacazette: 8/75 done\n", + "Filling history dataframe for Danny Ings: 9/75 done\n", + "Filling history dataframe for Dominic Calvert-Lewin: 10/75 done\n", + "Filling history dataframe for Patrick Bamford: 11/75 done\n", + "Filling history dataframe for Anthony Martial: 12/75 done\n", + "Filling history dataframe for Richarlison de Andrade: 13/75 done\n", + "Filling history dataframe for Michail Antonio: 14/75 done\n", + "Filling history dataframe for Ollie Watkins: 15/75 done\n", + "Filling history dataframe for Callum Wilson: 16/75 done\n", + "Filling history dataframe for Raúl Jiménez: 17/75 done\n", + "Filling history dataframe for Kelechi Iheanacho: 18/75 done\n", + "Filling history dataframe for Patson Daka: 19/75 done\n", + "Filling history dataframe for Chris Wood: 20/75 done\n", + "Filling history dataframe for Che Adams: 21/75 done\n", + "Filling history dataframe for Ivan Toney: 22/75 done\n", + "Filling history dataframe for Neal Maupay: 23/75 done\n", + "Filling history dataframe for Olivier Giroud: 24/75 done\n", + "Filling history dataframe for Tammy Abraham: 25/75 done\n", + "Filling history dataframe for Christian Benteke: 26/75 done\n", + "Filling history dataframe for Rodrigo Moreno: 27/75 done\n", + "Filling history dataframe for Allan Saint-Maximin: 28/75 done\n", + "Filling history dataframe for Danny Welbeck: 29/75 done\n", + "Filling history dataframe for Jordan Ayew: 30/75 done\n", + "Filling history dataframe for Joelinton Cássio Apolinário de Lira: 31/75 done\n", + "Filling history dataframe for Teemu Pukki: 32/75 done\n", + "Filling history dataframe for Adam Armstrong: 33/75 done\n", + "Filling history dataframe for Fabio Silva: 34/75 done\n", + "Filling history dataframe for Edward Nketiah: 35/75 done\n", + "Filling history dataframe for Wesley Moraes: 36/75 done\n", + "Filling history dataframe for Mbwana Ally Samatta: 37/75 done\n", + "Filling history dataframe for Marcus Forss: 38/75 done\n", + "Filling history dataframe for Halil Dervişoğlu: 39/75 done\n", + "Filling history dataframe for Aaron Connolly: 40/75 done\n", + "Filling history dataframe for Jay Rodriguez: 41/75 done\n", + "Filling history dataframe for Ashley Barnes: 42/75 done\n", + "Filling history dataframe for Matej Vydra: 43/75 done\n", + "Filling history dataframe for Michy Batshuayi: 44/75 done\n", + "Filling history dataframe for Jean-Philippe Mateta: 45/75 done\n", + "Filling history dataframe for Dwight Gayle: 46/75 done\n", + "Filling history dataframe for Jordan Hugill: 47/75 done\n", + "Filling history dataframe for Joshua Sargent: 48/75 done\n", + "Filling history dataframe for Shane Long: 49/75 done\n", + "Filling history dataframe for Troy Deeney: 50/75 done\n", + "Filling history dataframe for Andre Gray: 51/75 done\n", + "Filling history dataframe for João Pedro Junqueira de Jesus: 52/75 done\n", + "Filling history dataframe for Joshua King: 53/75 done\n", + "Filling history dataframe for Folarin Balogun: 54/75 done\n", + "Filling history dataframe for Florin Andone: 55/75 done\n", + "Filling history dataframe for Divock Origi: 56/75 done\n", + "Filling history dataframe for Adam Idah: 57/75 done\n", + "Filling history dataframe for Armando Broja: 58/75 done\n", + "Filling history dataframe for Isaac Success Ajayi: 59/75 done\n", + "Filling history dataframe for Ashley Fletcher: 60/75 done\n", + "Filling history dataframe for Emmanuel Dennis: 61/75 done\n", + "Filling history dataframe for Juan Camilo Hernández Suárez: 62/75 done\n", + "Filling history dataframe for Patrick Cutrone: 63/75 done\n", + "Filling history dataframe for Keinan Davis: 64/75 done\n", + "Filling history dataframe for Andi Zeqiri: 65/75 done\n", + "Filling history dataframe for Lewis Richardson: 66/75 done\n", + "Filling history dataframe for Robert Street: 67/75 done\n", + "Filling history dataframe for Nathan Broadhead: 68/75 done\n", + "Filling history dataframe for Sam Greenwood: 69/75 done\n", + "Filling history dataframe for Daniel N'Lundulu: 70/75 done\n", + "Filling history dataframe for Michael Obafemi: 71/75 done\n", + "Filling history dataframe for Dane Scarlett: 72/75 done\n", + "Filling history dataframe for Stipe Perica: 73/75 done\n", + "Filling history dataframe for Adedapo Awokoya-Mebude: 74/75 done\n", + "Alpha is [19.30121916 9.36931379 37.59613372]\n" + ] + }, + { + "data": { + "text/plain": [ + "array([19.30121916, 9.36931379, 37.59613372])" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df = get_player_history_df(\"FWD\")\n", + "df[\"neither\"] = df[\"team_goals\"] - df[\"goals\"] - df[\"assists\"]\n", + "df.loc[(df[\"neither\"] < 0), [\"neither\", \"team_goals\", \"goals\", \"assists\"]] = [\n", + " 0.0,\n", + " 0.0,\n", + " 0.0,\n", + " 0.0,\n", + "]\n", + "alpha = get_empirical_bayes_estimates(df)\n", + "y = df.sort_values(\"player_id\")[[\"goals\", \"assists\", \"neither\"]].values.reshape(\n", + " (\n", + " df[\"player_id\"].nunique(),\n", + " df.groupby(\"player_id\").count().iloc[0][\"player_name\"],\n", + " 3,\n", + " )\n", + ")\n", + "\n", + "minutes = df.sort_values(\"player_id\")[\"minutes\"].values.reshape(\n", + " (\n", + " df[\"player_id\"].nunique(),\n", + " df.groupby(\"player_id\").count().iloc[0][\"player_name\"],\n", + " )\n", + ")\n", + "\n", + "nplayer = df[\"player_id\"].nunique()\n", + "nmatch = df.groupby(\"player_id\").count().iloc[0][\"player_name\"]\n", + "player_ids = np.sort(df[\"player_id\"].unique())\n", + "alpha" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "3f7ccea4", + "metadata": {}, + "outputs": [ + { + "ename": "NameError", + "evalue": "name 'df_emp' is not defined", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/556186281.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# for compatibility with models we zero pad data so all players have\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;31m# the same number of rows (matches). Remove the dummy matches:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdf_emp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcopy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"match_id\"\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mNameError\u001b[0m: name 'df_emp' is not defined" + ] + } + ], + "source": [ + "\n", + "# for compatibility with models we zero pad data so all players have\n", + "# the same number of rows (matches). Remove the dummy matches:\n", + "df = df_emp.copy()\n", + "df = df[df[\"match_id\"] != 0]\n", + "\n", + "player_goals = df[\"goals\"].sum()\n", + "player_assists = df[\"assists\"].sum()\n", + "player_neither = df[\"neither\"].sum()\n", + "player_minutes = df[\"minutes\"].sum()\n", + "team_goals = df[\"team_goals\"].sum()\n", + "total_minutes = 90 * len(df) # ???\n", + "n_matches = df.groupby(\"player_name\").count()[\"goals\"].mean()\n", + "\n", + "# Total no. of player goals, assists, neither:\n", + "# no. matches played * fraction goals scored * (1 / fraction mins played)\n", + "a0 = n_matches * (player_goals / team_goals) * (total_minutes / player_minutes)\n", + "a1 = n_matches * (player_assists / team_goals) * (total_minutes / player_minutes)\n", + "a2 = (\n", + " n_matches\n", + " * (\n", + " (player_neither / team_goals)\n", + " - (total_minutes - player_minutes) / total_minutes\n", + " )\n", + " * (total_minutes / player_minutes)\n", + ")\n", + "alpha = np.array([a0, a1, a2])\n", + "if prior_goals is not None:\n", + " alpha = prior_goals * (alpha / alpha.sum())\n", + "print(\"Alpha is {}\".format(alpha))\n" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "0a2d0f22", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/1125385374.py:15: RuntimeWarning: invalid value encountered in true_divide\n", + " * (player_involvements[:, 0] / team_goals)\n", + "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/1125385374.py:16: RuntimeWarning: divide by zero encountered in true_divide\n", + " * (total_minutes / player_minutes)\n", + "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/1125385374.py:14: RuntimeWarning: invalid value encountered in multiply\n", + " n_matches\n", + "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/1125385374.py:20: RuntimeWarning: invalid value encountered in true_divide\n", + " * (player_involvements[:, 1] / team_goals)\n", + "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/1125385374.py:21: RuntimeWarning: divide by zero encountered in true_divide\n", + " * (total_minutes / player_minutes)\n", + "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/1125385374.py:19: RuntimeWarning: invalid value encountered in multiply\n", + " n_matches\n", + "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/1125385374.py:26: RuntimeWarning: invalid value encountered in true_divide\n", + " (player_involvements[:, 2] / team_goals)\n", + "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/1125385374.py:29: RuntimeWarning: divide by zero encountered in true_divide\n", + " * (total_minutes / player_minutes)\n", + "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/1125385374.py:24: RuntimeWarning: invalid value encountered in multiply\n", + " n_matches\n" + ] + } + ], + "source": [ + "# y\n", + "# minutes\n", + "match_id = df[\"match_id\"].values.reshape(75, 115)\n", + "\n", + "team_goals = y.sum(axis=(1, 2))\n", + "select_match = match_id != 0\n", + "\n", + "n_matches = select_match.sum(axis=1)\n", + "total_minutes = 90 * n_matches\n", + "player_involvements = y.sum(axis=1)\n", + "player_minutes = minutes.sum(axis=1)\n", + "\n", + "a0 = (\n", + " n_matches\n", + " * (player_involvements[:, 0] / team_goals)\n", + " * (total_minutes / player_minutes)\n", + ")\n", + "a1 = (\n", + " n_matches\n", + " * (player_involvements[:, 1] / team_goals)\n", + " * (total_minutes / player_minutes)\n", + ")\n", + "a2 = (\n", + " n_matches\n", + " * (\n", + " (player_involvements[:, 2] / team_goals)\n", + " - (total_minutes - player_minutes) / total_minutes\n", + " )\n", + " * (total_minutes / player_minutes)\n", + ")\n", + "alpha = np.stack([a0, a1, a2], axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "433f0bb4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[ 4.26615169e+01, 1.18504213e+01, 6.04880618e+01],\n", + " [ 1.66245154e+01, 1.01594261e+01, 5.02160586e+01],\n", + " [ 3.39648324e+01, 6.79296648e+00, 7.42422011e+01],\n", + " [ 8.78431807e+01, 5.64706161e+01, -2.93137968e+01],\n", + " [ 3.37935675e+01, 6.75871350e+00, 7.44477190e+01],\n", + " [ nan, nan, nan],\n", + " [ 1.52007612e+01, 3.04015223e+01, 6.93977165e+01],\n", + " [ 5.03357856e+00, 1.07862398e+00, 2.98877975e+01],\n", + " [ 0.00000000e+00, 0.00000000e+00, 1.15000000e+02],\n", + " [ 0.00000000e+00, 0.00000000e+00, 1.15000000e+02],\n", + " [ nan, nan, nan],\n", + " [ 5.98955419e+00, 1.57619847e+00, 3.14342473e+01],\n", + " [ 3.80171968e+01, 3.04137574e+01, 4.65690458e+01],\n", + " [ 3.01753521e+01, 2.01169014e+01, 6.47077465e+01],\n", + " [ 4.38026718e+01, 0.00000000e+00, 7.11973282e+01],\n", + " [ 4.82076826e+00, 2.67820459e+00, 3.15010271e+01],\n", + " [ 4.03941440e+01, 5.77059200e+00, 6.88352640e+01],\n", + " [ 4.47586736e+01, 8.70307542e+00, 6.15382510e+01],\n", + " [ 2.35940690e+01, 1.57293793e+01, 7.56765516e+01],\n", + " [ 2.55418521e-03, 9.12209005e-04, 9.96533606e-01],\n", + " [ 4.02689673e+01, 2.51681045e+01, 4.95629282e+01],\n", + " [ 1.95261270e+01, 3.90522541e+01, 1.84216189e+01],\n", + " [ 3.02525367e-03, 1.15247759e-03, 9.95822269e-01],\n", + " [ 1.44609756e+01, 4.44953096e+00, 5.80894934e+01],\n", + " [ 1.63761726e+01, 1.48874296e+01, 8.37363977e+01],\n", + " [ 2.31161391e+02, 0.00000000e+00, -1.16161391e+02],\n", + " [ 3.93851544e+01, 1.31283848e+01, 6.24864607e+01],\n", + " [ 3.62217262e+00, 1.59801733e+00, 3.37798100e+01],\n", + " [ 1.87256708e+01, 8.54153404e+00, 4.97327952e+01],\n", + " [ 3.13186523e+01, 1.91391764e+01, 5.95421712e+01],\n", + " [ nan, nan, nan],\n", + " [ 4.47809668e+01, 2.55891239e+01, 6.62990937e+00],\n", + " [ 1.18090062e+01, 7.64112167e+00, 1.95498721e+01],\n", + " [ 1.34654784e-03, 1.08592568e-03, 9.97567526e-01],\n", + " [ 3.35174368e+00, 1.91528210e+00, 3.37329742e+01],\n", + " [ 2.04064064e+01, 1.08834167e+01, 7.27101769e+01],\n", + " [ 5.35903668e+01, 2.14361467e+01, 1.97348652e+00],\n", + " [ 2.32971768e-03, 1.50304366e-03, 9.96167239e-01],\n", + " [ 2.87866825e-03, 1.97394394e-03, 9.95147388e-01],\n", + " [ 2.70218336e-03, 1.62131002e-03, 9.95676507e-01],\n", + " [ 9.81283848e+00, 1.79902039e+01, 4.61969576e+01],\n", + " [ 7.98554368e+00, 5.32369579e+00, 6.36907605e+01],\n", + " [ 1.70124090e+02, 4.63974792e+01, -1.01521570e+02],\n", + " [ nan, nan, nan],\n", + " [ 0.00000000e+00, 0.00000000e+00, 9.10000000e+01],\n", + " [ nan, nan, nan],\n", + " [ 0.00000000e+00, 0.00000000e+00, 1.08000000e+02],\n", + " [ 1.82141929e+01, 1.68131011e+01, 4.19727060e+01],\n", + " [ 3.08356460e-03, 2.31267345e-03, 9.94603762e-01],\n", + " [ 0.00000000e+00, 0.00000000e+00, 1.15000000e+02],\n", + " [ 9.11112575e+00, 6.50794696e+00, 6.13809273e+01],\n", + " [ 1.94098656e+01, 7.36236280e+00, 5.02277717e+01],\n", + " [ 0.00000000e+00, 0.00000000e+00, 1.80000000e+01],\n", + " [ 3.62528324e+01, 1.33563067e+01, 4.63908610e+01],\n", + " [ 4.25279451e-03, 1.41759817e-03, 9.94329607e-01],\n", + " [ nan, nan, nan],\n", + " [ 1.03125563e+01, 1.03125563e+01, 8.63748874e+01],\n", + " [ nan, nan, nan],\n", + " [ 0.00000000e+00, 0.00000000e+00, 1.10000000e+01],\n", + " [ 2.73646154e+03, 2.73646154e+03, -5.39592308e+03],\n", + " [ 2.70908899e-03, 1.20403955e-03, 9.96086871e-01],\n", + " [ nan, nan, nan],\n", + " [ 1.25000000e+00, 0.00000000e+00, -2.50000000e-01],\n", + " [ 8.84553082e+00, 6.22463280e+00, 4.49298364e+01],\n", + " [ 1.86312897e+01, 9.86362395e+00, 4.85050864e+01],\n", + " [ 9.05395418e+00, 6.79046563e+00, 1.91555802e+01],\n", + " [ 9.57349896e+00, 0.00000000e+00, 2.44265010e+01],\n", + " [ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00],\n", + " [ 0.00000000e+00, 0.00000000e+00, 1.50000000e+01],\n", + " [ 0.00000000e+00, 0.00000000e+00, 7.00000000e+00],\n", + " [ nan, nan, nan],\n", + " [ 4.17959591e+01, 3.48299659e+00, 5.97210444e+01],\n", + " [ nan, nan, nan],\n", + " [ 1.00000000e+00, 0.00000000e+00, 0.00000000e+00],\n", + " [ nan, nan, nan]])" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "alpha" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "54c53e4f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([42.66151685, 11.85042135, 60.4880618 ])" + ] + }, + "execution_count": 33, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "alpha[0, :]" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "904c67df", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[ 54 15 115]\n", + "1.2640449438202248\n", + "[68.25842696629213, 18.960674157303373, 96.78089887640449]\n" + ] + } + ], + "source": [ + "# should emp bayes actually be this? (scale by nmatches)\n", + "act_goals = y[0, :].sum(axis=0)\n", + "mins_ratio = total_minutes[0] / minutes[0, :].sum()\n", + "eff_goals = act_goals[0] * mins_ratio\n", + "eff_assists = act_goals[1] * mins_ratio\n", + "eff_neither = act_goals.sum() - eff_goals - eff_assists\n", + "\n", + "print(act_goals)\n", + "print(mins_ratio)\n", + "print([eff_goals, eff_assists, eff_neither])" + ] + }, + { + "cell_type": "code", + "execution_count": 35, + "id": "eec420f5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[54, 15, 76.56444444444443]" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n", + "# or this? (scale by mins) - BEST IMO\n", + "# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n", + "act_goals = y[0, :].sum(axis=0)\n", + "mins_ratio = total_minutes[0] / minutes[0, :].sum()\n", + "[act_goals[0], act_goals[1], (act_goals.sum() / mins_ratio) - act_goals[0] - act_goals[1]]" + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "id": "2c7a09da", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/4260007078.py:15: RuntimeWarning: invalid value encountered in true_divide\n", + " * (player_involvements[:, 0] / team_goals)\n", + "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/4260007078.py:16: RuntimeWarning: divide by zero encountered in true_divide\n", + " * (total_minutes / player_minutes)\n", + "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/4260007078.py:14: RuntimeWarning: invalid value encountered in multiply\n", + " n_matches\n", + "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/4260007078.py:20: RuntimeWarning: invalid value encountered in true_divide\n", + " * (player_involvements[:, 1] / team_goals)\n", + "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/4260007078.py:21: RuntimeWarning: divide by zero encountered in true_divide\n", + " * (total_minutes / player_minutes)\n", + "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/4260007078.py:19: RuntimeWarning: invalid value encountered in multiply\n", + " n_matches\n", + "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/4260007078.py:26: RuntimeWarning: invalid value encountered in true_divide\n", + " (player_involvements[:, 2] / team_goals)\n", + "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/4260007078.py:29: RuntimeWarning: divide by zero encountered in true_divide\n", + " * (total_minutes / player_minutes)\n", + "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/4260007078.py:24: RuntimeWarning: invalid value encountered in multiply\n", + " n_matches\n" + ] + } + ], + "source": [ + "# y\n", + "# minutes\n", + "match_id = df[\"match_id\"].values.reshape(75, 115)\n", + "\n", + "team_goals = y.sum(axis=(1, 2))\n", + "select_match = match_id != 0\n", + "\n", + "n_matches = select_match.sum(axis=1)\n", + "total_minutes = 90 * n_matches\n", + "player_involvements = y.sum(axis=1)\n", + "player_minutes = minutes.sum(axis=1)\n", + "\n", + "a0 = (\n", + " n_matches\n", + " * (player_involvements[:, 0] / team_goals)\n", + " * (total_minutes / player_minutes)\n", + ")\n", + "a1 = (\n", + " n_matches\n", + " * (player_involvements[:, 1] / team_goals)\n", + " * (total_minutes / player_minutes)\n", + ")\n", + "a2 = (\n", + " n_matches\n", + " * (\n", + " (player_involvements[:, 2] / team_goals)\n", + " - (total_minutes - player_minutes) / total_minutes\n", + " )\n", + " * (total_minutes / player_minutes)\n", + ")\n", + "alpha = np.stack([a0, a1, a2], axis=1)\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "33c3bb04", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 7.65644444e+01, 1.08741703e+02, 1.09292754e+01, -4.67188406e+00,\n", + " 1.10150725e+01, 0.00000000e+00, 4.56541063e+00, 2.49382716e+02,\n", + " 1.73913043e-02, 7.72946860e-04, 0.00000000e+00, 9.97153846e+01,\n", + " 6.12473430e+00, 1.92995169e+01, 6.50164251e+00, 5.88099715e+01,\n", + " 3.57858937e+01, 4.94960386e+01, 1.92446377e+01, 5.46220000e+03,\n", + " 9.84637681e+00, 5.66060606e+00, 6.91256667e+03, 5.22207792e+01,\n", + " 5.62463768e+01, -5.02512077e-01, 5.71157488e+01, 3.17078632e+02,\n", + " 1.51384127e+02, 3.42211111e+01, 0.00000000e+00, 1.03636364e+00,\n", + " 2.81435897e+01, 2.29658333e+04, 7.04501425e+01, 1.06893162e+02,\n", + " 3.68253968e-01, 1.32553333e+04, 1.20994000e+04, 1.84235556e+03,\n", + " 2.82468468e+01, 4.78545455e+01, -6.56425121e+00, 0.00000000e+00,\n", + " 5.66544567e-01, 0.00000000e+00, 9.23456790e-01, 2.99571429e+01,\n", + " 1.29020000e+03, 8.88888889e-03, 4.71584416e+01, 1.50089177e+02,\n", + " 2.16049383e-02, 2.43133102e+01, 2.10425556e+03, 0.00000000e+00,\n", + " 8.37570093e+00, 0.00000000e+00, 4.88888889e-01, -1.97186147e+00,\n", + " 6.61830000e+03, 0.00000000e+00, -2.00000000e-01, 1.37143333e+02,\n", + " 8.85163059e+01, 8.46285714e+00, 5.10294118e+00, 6.19555556e+01,\n", + " 6.88888889e-02, 4.12698413e-02, 0.00000000e+00, 1.71464550e+01,\n", + " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00])" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "neithers = (team_goals * (player_minutes / total_minutes)) - player_involvements[:, 0] - player_involvements[:, 1]\n", + "neithers" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "6b61f12d", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([ 42, 175, 362, 468, 473])" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "player_ids[neithers < 0]\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1afadfce", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "387cdce5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ollie Watkins\n", + "[[14 9 34]]\n", + "3328\n", + "[10350]\n", + "0.40350877192982454\n", + "0.32154589371980674\n" + ] + } + ], + "source": [ + "# ollie watkins: involved 40% goals but played 32% mins??? -> Looks like n_matches calculation wrong\n", + "print(get_player(42).name)\n", + "print(y[player_ids == 42].sum(axis=1))\n", + "print(minutes[player_ids == 42].sum())\n", + "print(total_minutes[player_ids == 42])\n", + "print(23 / 57)\n", + "print(3328 / 10350)" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "da4cf47e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Ollie Watkins\n", + "[30]\n", + "[[14 9 34]]\n", + "3328\n", + "2700\n", + "0.40350877192982454\n", + "0.32154589371980674\n" + ] + } + ], + "source": [ + "print(get_player(42).name)\n", + "print(((y.sum(axis=2) > 0) & (minutes > 0)).sum(axis=1)[player_ids == 42])\n", + "\n", + "print(y[player_ids == 42].sum(axis=1))\n", + "print(minutes[player_ids == 42].sum())\n", + "print(30*90)\n", + "print(23 / 57)\n", + "print(3328 / 10350)" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "0c307b8f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(75, 115)" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "(y.sum(axis=2) > 0).shape\n", + "minutes.shape" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "id": "0bbbb563", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([115])" + ] + }, + "execution_count": 42, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y[player_ids == 42]\n", + "n_matches[player_ids == 42]" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "id": "6e232546", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0.37096971, 0.10304714, 0.52598315])" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "x = np.array([54, 15, 76.56444444444443])\n", + "x / x.sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "e877bfad", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "115" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "n_matches[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "7dcb3ca0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0.37096971, 0.10304714, 0.52598315])" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "alpha[0, :] / alpha[0, :].sum()" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "id": "8cf0c419", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "68.25842696629213" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\n", + "n_matches[0] * (player_involvements[0, 0] / team_goals[0]) * (total_minutes[0] / player_minutes[0])\n", + "\n", + "\n", + "player_involvements[0, 0] * (total_minutes[0] / player_minutes[0])" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "id": "0ebb11b2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "184" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "team_goals[0]" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "id": "a32637a4", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
012
520.0000000.00000018.000000
690.0000000.0000007.000000
680.0000000.00000015.000000
670.0000000.0000001.000000
580.0000000.00000011.000000
............
3653.59036721.4361471.973487
387.84318156.470616-29.313797
42170.12409046.397479-101.521570
25231.1613910.000000-116.161391
592736.4615382736.461538-5395.923077
\n", + "

64 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " 0 1 2\n", + "52 0.000000 0.000000 18.000000\n", + "69 0.000000 0.000000 7.000000\n", + "68 0.000000 0.000000 15.000000\n", + "67 0.000000 0.000000 1.000000\n", + "58 0.000000 0.000000 11.000000\n", + ".. ... ... ...\n", + "36 53.590367 21.436147 1.973487\n", + "3 87.843181 56.470616 -29.313797\n", + "42 170.124090 46.397479 -101.521570\n", + "25 231.161391 0.000000 -116.161391\n", + "59 2736.461538 2736.461538 -5395.923077\n", + "\n", + "[64 rows x 3 columns]" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pd.DataFrame(alpha).dropna().sort_values(by=0)" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "id": "5f859e5b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[0, 3, 1, ..., 0, 3, 3],\n", + " [2, 1, 2, ..., 3, 0, 3],\n", + " [3, 1, 2, ..., 1, 2, 1],\n", + " ...,\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0],\n", + " [0, 0, 0, ..., 0, 0, 0]])" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "y.sum(axis=2)" + ] + }, + { + "cell_type": "code", + "execution_count": 50, + "id": "34f22a2e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "307" + ] + }, + "execution_count": 50, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "get_player(\"Edinson Cavani\").player_id" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "id": "22b81e46", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[53.59036677, 21.43614671, 1.97348652]])" + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "alpha[player_ids == 307]" + ] + }, + { + "cell_type": "code", + "execution_count": 52, + "id": "cd42aab2", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4" + ] + }, + "execution_count": 52, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "get_player(\"Aubameyang\").player_id" + ] + }, + { + "cell_type": "code", + "execution_count": 53, + "id": "300521cf", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[42.66151685, 11.85042135, 60.4880618 ]])" + ] + }, + "execution_count": 53, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "alpha[player_ids == 4]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5b086097", "metadata": {}, "outputs": [], "source": [] @@ -2301,7 +3321,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.10" + "version": "3.8.10" } }, "nbformat": 4, From 93a86ffea8503895d3b31bec1684b592b3e00a02 Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Mon, 23 Aug 2021 11:37:19 +0100 Subject: [PATCH 21/43] add missing divide by 90 in player model --- airsenal/framework/player_model.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/airsenal/framework/player_model.py b/airsenal/framework/player_model.py index 790173bd..400a4a11 100644 --- a/airsenal/framework/player_model.py +++ b/airsenal/framework/player_model.py @@ -32,7 +32,8 @@ def _model( "prob_assist", dprobs[:, 1, None] * (minutes / 90.0) ) prob_neither = numpyro.deterministic( - "prob_neither", dprobs[:, 2, None] * (minutes / 90.0) + (90.0 - minutes) + "prob_neither", + dprobs[:, 2, None] * (minutes / 90.0) + (90.0 - minutes) / 90.0, ) theta_mins = dist.Multinomial( probs=jnp.moveaxis(jnp.array([prob_score, prob_assist, prob_neither]), 0, 2) From 3d1828c122d1f37df091cbfbe5ebceef1a927595 Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Mon, 23 Aug 2021 14:54:50 +0100 Subject: [PATCH 22/43] working conjugate model --- airsenal/framework/player_model.py | 120 +++-- notebooks/numpyro_player_model.ipynb | 659 +++++---------------------- 2 files changed, 198 insertions(+), 581 deletions(-) diff --git a/airsenal/framework/player_model.py b/airsenal/framework/player_model.py index 73cdfb66..31847ac7 100644 --- a/airsenal/framework/player_model.py +++ b/airsenal/framework/player_model.py @@ -1,3 +1,4 @@ +from airsenal.framework.utils import NEXT_GAMEWEEK import jax.numpy as jnp import jax.random as random import numpy as np @@ -11,8 +12,8 @@ def get_empirical_bayes_estimates(df_emp, prior_goals=None): """ - Get values to use either for Dirichlet prior alphas or for updating posterior - in conjugate model. Returns number of goals, assists and neither scaled by the + Get values to use either for Dirichlet prior alphas in the original Stan and numpyro + player models. Returns number of goals, assists and neither scaled by the proportion of minutes & no. matches a player is involved in. If df_emp contains more than one player, result is average across all players. @@ -51,6 +52,41 @@ def get_empirical_bayes_estimates(df_emp, prior_goals=None): return alpha +def scale_goals_by_minutes(goals, minutes): + """ + Scaale player goal involvements by the proportion of minutes they played + (specifically: reduce the number of "neither" goals where the player is said + to have had no involvement. + goals: np.array with shape (n_players, n_matches, 3) where last axis is no. goals, + mo. assists and no. goals not involved in + minutes: np.array with shape (n_players, m_matches) + """ + select_matches = (goals.sum(axis=2) > 0) & (minutes > 0) + n_players, _, _ = goals.shape + scaled_goals = np.zeros((n_players, 3)) + for p in range(n_players): + if select_matches[p, :].sum() == 0: + # player not involved in any matches with goals + scaled_goals[p, :] = [0, 0, 0] + continue + + team_goals = goals[p, select_matches[p, :], :].sum() + team_mins = 90 * select_matches[p, :].sum() + player_mins = minutes[p, select_matches[p, :]].sum() + player_goals = goals[p, select_matches[p, :], 0].sum() + player_assists = goals[p, select_matches[p, :], 1].sum() + player_neither = ( + team_goals * (player_mins / team_mins) - player_goals - player_assists + ) + scaled_goals[p, :] = [player_goals, player_assists, player_neither] + + # players with high goal involvements in few matches may end up with a scaled + # neither count less than 0 - set these to zero + scaled_goals[scaled_goals < 0] = 0 + + return scaled_goals + + class PlayerModel(object): """ numpyro implementation of the AIrsenal player model. @@ -148,64 +184,58 @@ class ConjugatePlayerModel(object): """Exact implementation of player model: Prior: Dirichlet(alpha) Posterior: Dirichlet(alpha + n) - where n is the result of get_empirical_bayes_estimates for each player (i.e. total + where n is the result of scale_goals_by_minutes for each player (i.e. total number of goal involvements for player weighted by amount of time on pitch). Strength of prior controlled by sum(alpha), by default 13 which is roughly the average no. of goals a team's expected to score in 10 matches. alpha values comes from average goal involvements for all players in that position. """ + def __init__(self): self.player_ids = None - self.samples = None + self.prior = None + self.posterior = None + self.mean_probabilities = None + + def fit(self, data, n_goals_prior=13): + goals = data["y"] + minutes = data["minutes"] + self.player_ids = data["player_ids"] + + scaled_goals = scale_goals_by_minutes(goals, minutes) + self.prior = self.get_prior(scaled_goals, n_goals_prior=n_goals_prior) + posterior = self.get_posterior(self.prior, scaled_goals) + self.posterior = posterior + self.mean_probabilities = self.posterior / self.posterior.sum(axis=1)[:, None] - @staticmethod - def _model(df, prior): - neff = { - idx: get_empirical_bayes_estimates(data) - for idx, data in df.groupby("player_id") - } - neff = pd.DataFrame(neff).T - neff = neff.fillna(0) - neff.columns = ["prob_score", "prob_assist", "prob_neither"] - return prior + neff - - def fit(self, data): - - dict( - player_ids=player_ids, - nplayer=nplayer, - nmatch=nmatch, - minutes=minutes.astype("int64"), - y=y.astype("int64"), - alpha=alpha, - ) - alpha = data["alpha"] return self + @staticmethod + def get_prior(scaled_goals, n_goals_prior): + """Compute alpha parameters for Dirichlet prior. Calculated by summing + up all player goal involvements, then normalise to sum to n_goals_prior. + """ + alpha = scaled_goals.sum(axis=0) + return n_goals_prior * alpha / alpha.sum() + + @staticmethod + def get_posterior(prior_alpha, scaled_goals): + """Compute parameters of Dirichlet posterior, which is the sum of the prior + and scaled goal involvements. + """ + return prior_alpha + scaled_goals + def get_probs(self): - prob_dict = { - "player_id": [], - "prob_score": [], - "prob_assist": [], - "prob_neither": [], + return { + "player_id": self.player_ids, + "prob_score": self.mean_probabilities[:, 0], + "prob_assist": self.mean_probabilities[:, 1], + "prob_neither": self.mean_probabilities[:, 2], } - for i, pid in enumerate(self.player_ids): - prob_dict["player_id"].append(pid) - prob_dict["prob_score"].append(float(self.samples["probs"][:, i, 0].mean())) - prob_dict["prob_assist"].append( - float(self.samples["probs"][:, i, 1].mean()) - ) - prob_dict["prob_neither"].append( - float(self.samples["probs"][:, i, 2].mean()) - ) - return prob_dict def get_probs_for_player(self, player_id): try: index = list(self.player_ids).index(player_id) except (ValueError): raise RuntimeError(f"Unknown player_id {player_id}") - prob_score = float(self.samples["probs"][:, index, 0].mean()) - prob_assist = float(self.samples["probs"][:, index, 1].mean()) - prob_neither = float(self.samples["probs"][:, index, 2].mean()) - return (prob_score, prob_assist, prob_neither) + return self.mean_probabilities[index, :] diff --git a/notebooks/numpyro_player_model.ipynb b/notebooks/numpyro_player_model.ipynb index 59f7629b..74efde83 100644 --- a/notebooks/numpyro_player_model.ipynb +++ b/notebooks/numpyro_player_model.ipynb @@ -393,7 +393,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "sample: 100%|████████| 4500/4500 [00:15<00:00, 294.05it/s, 7 steps of size 4.36e-01. acc. prob=0.82]\n" + "sample: 100%|████████| 4500/4500 [00:14<00:00, 304.95it/s, 7 steps of size 4.36e-01. acc. prob=0.82]\n" ] }, { @@ -555,7 +555,13 @@ "Filling history dataframe for Fernando Luiz Rosa: 152/235 done\n", "Filling history dataframe for Samuel Edozie: 153/235 done\n", "Filling history dataframe for Frederico Rodrigues de Paula Santos: 154/235 done\n", - "Filling history dataframe for Juan Mata: 155/235 done\n", + "Filling history dataframe for Juan Mata: 155/235 done\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Filling history dataframe for Andreas Pereira: 156/235 done\n", "Filling history dataframe for Anthony Elanga: 157/235 done\n", "Filling history dataframe for Jeff Hendrick: 158/235 done\n", @@ -631,13 +637,7 @@ "Filling history dataframe for Oghenekaro Peter Etebo: 228/235 done\n", "Filling history dataframe for Mark Noble: 229/235 done\n", "Filling history dataframe for Conor Coventry: 230/235 done\n", - "Filling history dataframe for Morgan Gibbs-White: 231/235 done\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "Filling history dataframe for Morgan Gibbs-White: 231/235 done\n", "Filling history dataframe for Owen Otasowie: 232/235 done\n", "Filling history dataframe for Luke Cundle: 233/235 done\n", "Filling history dataframe for Chem Campbell: 234/235 done\n", @@ -648,7 +648,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "sample: 100%|███████| 4500/4500 [00:40<00:00, 111.65it/s, 15 steps of size 2.86e-01. acc. prob=0.87]\n" + "sample: 100%|███████| 4500/4500 [00:38<00:00, 118.21it/s, 15 steps of size 2.86e-01. acc. prob=0.87]\n" ] }, { @@ -800,13 +800,7 @@ "Filling history dataframe for Joe Rodon: 142/190 done\n", "Filling history dataframe for Danny Rose: 143/190 done\n", "Filling history dataframe for Craig Cathcart: 144/190 done\n", - "Filling history dataframe for Francisco Femenía Far: 145/190 done\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "Filling history dataframe for Francisco Femenía Far: 145/190 done\n", "Filling history dataframe for Christian Kabasele: 146/190 done\n", "Filling history dataframe for William Troost-Ekong: 147/190 done\n", "Filling history dataframe for Adam Masina: 148/190 done\n", @@ -850,7 +844,13 @@ "Filling history dataframe for Frederik Alves: 186/190 done\n", "Filling history dataframe for Jamal Baptiste: 187/190 done\n", "Filling history dataframe for Ki-Jana Hoever: 188/190 done\n", - "Filling history dataframe for Christian Marques: 189/190 done\n", + "Filling history dataframe for Christian Marques: 189/190 done\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Alpha is [ 2.20695308 3.80735945 66.82079385]\n" ] }, @@ -858,7 +858,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "sample: 100%|███████| 4500/4500 [00:33<00:00, 133.46it/s, 15 steps of size 2.96e-01. acc. prob=0.84]\n" + "sample: 100%|███████| 4500/4500 [00:29<00:00, 151.24it/s, 15 steps of size 2.96e-01. acc. prob=0.84]\n" ] } ], @@ -911,7 +911,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 68, "id": "0f489bb8", "metadata": {}, "outputs": [ @@ -1031,7 +1031,7 @@ "51 Harry Kane 0.352092 0.142769 0.505139" ] }, - "execution_count": 12, + "execution_count": 68, "metadata": {}, "output_type": "execute_result" } @@ -1554,13 +1554,7 @@ "Alpha is [ 0. 0. 35.]\n", "Lewis Richardson\n", "Alpha is [ 0. 0. 34.]\n", - "Nathan Broadhead\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "Nathan Broadhead\n", "Alpha is [ 0. 0. 15.]\n", "Sam Greenwood\n", "Alpha is [nan nan nan]\n", @@ -2421,7 +2415,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 29, "id": "3f7ccea4", "metadata": {}, "outputs": [ @@ -2432,7 +2426,7 @@ "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/556186281.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# for compatibility with models we zero pad data so all players have\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;31m# the same number of rows (matches). Remove the dummy matches:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdf_emp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcopy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"match_id\"\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_54853/556186281.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# for compatibility with models we zero pad data so all players have\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;31m# the same number of rows (matches). Remove the dummy matches:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdf_emp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcopy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"match_id\"\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mNameError\u001b[0m: name 'df_emp' is not defined" ] } @@ -2472,35 +2466,10 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": null, "id": "0a2d0f22", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/1125385374.py:15: RuntimeWarning: invalid value encountered in true_divide\n", - " * (player_involvements[:, 0] / team_goals)\n", - "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/1125385374.py:16: RuntimeWarning: divide by zero encountered in true_divide\n", - " * (total_minutes / player_minutes)\n", - "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/1125385374.py:14: RuntimeWarning: invalid value encountered in multiply\n", - " n_matches\n", - "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/1125385374.py:20: RuntimeWarning: invalid value encountered in true_divide\n", - " * (player_involvements[:, 1] / team_goals)\n", - "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/1125385374.py:21: RuntimeWarning: divide by zero encountered in true_divide\n", - " * (total_minutes / player_minutes)\n", - "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/1125385374.py:19: RuntimeWarning: invalid value encountered in multiply\n", - " n_matches\n", - "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/1125385374.py:26: RuntimeWarning: invalid value encountered in true_divide\n", - " (player_involvements[:, 2] / team_goals)\n", - "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/1125385374.py:29: RuntimeWarning: divide by zero encountered in true_divide\n", - " * (total_minutes / player_minutes)\n", - "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/1125385374.py:24: RuntimeWarning: invalid value encountered in multiply\n", - " n_matches\n" - ] - } - ], + "outputs": [], "source": [ "# y\n", "# minutes\n", @@ -2537,136 +2506,30 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": null, "id": "433f0bb4", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[ 4.26615169e+01, 1.18504213e+01, 6.04880618e+01],\n", - " [ 1.66245154e+01, 1.01594261e+01, 5.02160586e+01],\n", - " [ 3.39648324e+01, 6.79296648e+00, 7.42422011e+01],\n", - " [ 8.78431807e+01, 5.64706161e+01, -2.93137968e+01],\n", - " [ 3.37935675e+01, 6.75871350e+00, 7.44477190e+01],\n", - " [ nan, nan, nan],\n", - " [ 1.52007612e+01, 3.04015223e+01, 6.93977165e+01],\n", - " [ 5.03357856e+00, 1.07862398e+00, 2.98877975e+01],\n", - " [ 0.00000000e+00, 0.00000000e+00, 1.15000000e+02],\n", - " [ 0.00000000e+00, 0.00000000e+00, 1.15000000e+02],\n", - " [ nan, nan, nan],\n", - " [ 5.98955419e+00, 1.57619847e+00, 3.14342473e+01],\n", - " [ 3.80171968e+01, 3.04137574e+01, 4.65690458e+01],\n", - " [ 3.01753521e+01, 2.01169014e+01, 6.47077465e+01],\n", - " [ 4.38026718e+01, 0.00000000e+00, 7.11973282e+01],\n", - " [ 4.82076826e+00, 2.67820459e+00, 3.15010271e+01],\n", - " [ 4.03941440e+01, 5.77059200e+00, 6.88352640e+01],\n", - " [ 4.47586736e+01, 8.70307542e+00, 6.15382510e+01],\n", - " [ 2.35940690e+01, 1.57293793e+01, 7.56765516e+01],\n", - " [ 2.55418521e-03, 9.12209005e-04, 9.96533606e-01],\n", - " [ 4.02689673e+01, 2.51681045e+01, 4.95629282e+01],\n", - " [ 1.95261270e+01, 3.90522541e+01, 1.84216189e+01],\n", - " [ 3.02525367e-03, 1.15247759e-03, 9.95822269e-01],\n", - " [ 1.44609756e+01, 4.44953096e+00, 5.80894934e+01],\n", - " [ 1.63761726e+01, 1.48874296e+01, 8.37363977e+01],\n", - " [ 2.31161391e+02, 0.00000000e+00, -1.16161391e+02],\n", - " [ 3.93851544e+01, 1.31283848e+01, 6.24864607e+01],\n", - " [ 3.62217262e+00, 1.59801733e+00, 3.37798100e+01],\n", - " [ 1.87256708e+01, 8.54153404e+00, 4.97327952e+01],\n", - " [ 3.13186523e+01, 1.91391764e+01, 5.95421712e+01],\n", - " [ nan, nan, nan],\n", - " [ 4.47809668e+01, 2.55891239e+01, 6.62990937e+00],\n", - " [ 1.18090062e+01, 7.64112167e+00, 1.95498721e+01],\n", - " [ 1.34654784e-03, 1.08592568e-03, 9.97567526e-01],\n", - " [ 3.35174368e+00, 1.91528210e+00, 3.37329742e+01],\n", - " [ 2.04064064e+01, 1.08834167e+01, 7.27101769e+01],\n", - " [ 5.35903668e+01, 2.14361467e+01, 1.97348652e+00],\n", - " [ 2.32971768e-03, 1.50304366e-03, 9.96167239e-01],\n", - " [ 2.87866825e-03, 1.97394394e-03, 9.95147388e-01],\n", - " [ 2.70218336e-03, 1.62131002e-03, 9.95676507e-01],\n", - " [ 9.81283848e+00, 1.79902039e+01, 4.61969576e+01],\n", - " [ 7.98554368e+00, 5.32369579e+00, 6.36907605e+01],\n", - " [ 1.70124090e+02, 4.63974792e+01, -1.01521570e+02],\n", - " [ nan, nan, nan],\n", - " [ 0.00000000e+00, 0.00000000e+00, 9.10000000e+01],\n", - " [ nan, nan, nan],\n", - " [ 0.00000000e+00, 0.00000000e+00, 1.08000000e+02],\n", - " [ 1.82141929e+01, 1.68131011e+01, 4.19727060e+01],\n", - " [ 3.08356460e-03, 2.31267345e-03, 9.94603762e-01],\n", - " [ 0.00000000e+00, 0.00000000e+00, 1.15000000e+02],\n", - " [ 9.11112575e+00, 6.50794696e+00, 6.13809273e+01],\n", - " [ 1.94098656e+01, 7.36236280e+00, 5.02277717e+01],\n", - " [ 0.00000000e+00, 0.00000000e+00, 1.80000000e+01],\n", - " [ 3.62528324e+01, 1.33563067e+01, 4.63908610e+01],\n", - " [ 4.25279451e-03, 1.41759817e-03, 9.94329607e-01],\n", - " [ nan, nan, nan],\n", - " [ 1.03125563e+01, 1.03125563e+01, 8.63748874e+01],\n", - " [ nan, nan, nan],\n", - " [ 0.00000000e+00, 0.00000000e+00, 1.10000000e+01],\n", - " [ 2.73646154e+03, 2.73646154e+03, -5.39592308e+03],\n", - " [ 2.70908899e-03, 1.20403955e-03, 9.96086871e-01],\n", - " [ nan, nan, nan],\n", - " [ 1.25000000e+00, 0.00000000e+00, -2.50000000e-01],\n", - " [ 8.84553082e+00, 6.22463280e+00, 4.49298364e+01],\n", - " [ 1.86312897e+01, 9.86362395e+00, 4.85050864e+01],\n", - " [ 9.05395418e+00, 6.79046563e+00, 1.91555802e+01],\n", - " [ 9.57349896e+00, 0.00000000e+00, 2.44265010e+01],\n", - " [ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00],\n", - " [ 0.00000000e+00, 0.00000000e+00, 1.50000000e+01],\n", - " [ 0.00000000e+00, 0.00000000e+00, 7.00000000e+00],\n", - " [ nan, nan, nan],\n", - " [ 4.17959591e+01, 3.48299659e+00, 5.97210444e+01],\n", - " [ nan, nan, nan],\n", - " [ 1.00000000e+00, 0.00000000e+00, 0.00000000e+00],\n", - " [ nan, nan, nan]])" - ] - }, - "execution_count": 32, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "alpha" ] }, { "cell_type": "code", - "execution_count": 33, + "execution_count": null, "id": "54c53e4f", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([42.66151685, 11.85042135, 60.4880618 ])" - ] - }, - "execution_count": 33, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "alpha[0, :]" ] }, { "cell_type": "code", - "execution_count": 34, + "execution_count": null, "id": "904c67df", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "[ 54 15 115]\n", - "1.2640449438202248\n", - "[68.25842696629213, 18.960674157303373, 96.78089887640449]\n" - ] - } - ], + "outputs": [], "source": [ "# should emp bayes actually be this? (scale by nmatches)\n", "act_goals = y[0, :].sum(axis=0)\n", @@ -2682,21 +2545,10 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": null, "id": "eec420f5", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[54, 15, 76.56444444444443]" - ] - }, - "execution_count": 35, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n", "# or this? (scale by mins) - BEST IMO\n", @@ -2708,35 +2560,10 @@ }, { "cell_type": "code", - "execution_count": 36, + "execution_count": null, "id": "2c7a09da", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/4260007078.py:15: RuntimeWarning: invalid value encountered in true_divide\n", - " * (player_involvements[:, 0] / team_goals)\n", - "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/4260007078.py:16: RuntimeWarning: divide by zero encountered in true_divide\n", - " * (total_minutes / player_minutes)\n", - "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/4260007078.py:14: RuntimeWarning: invalid value encountered in multiply\n", - " n_matches\n", - "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/4260007078.py:20: RuntimeWarning: invalid value encountered in true_divide\n", - " * (player_involvements[:, 1] / team_goals)\n", - "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/4260007078.py:21: RuntimeWarning: divide by zero encountered in true_divide\n", - " * (total_minutes / player_minutes)\n", - "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/4260007078.py:19: RuntimeWarning: invalid value encountered in multiply\n", - " n_matches\n", - "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/4260007078.py:26: RuntimeWarning: invalid value encountered in true_divide\n", - " (player_involvements[:, 2] / team_goals)\n", - "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/4260007078.py:29: RuntimeWarning: divide by zero encountered in true_divide\n", - " * (total_minutes / player_minutes)\n", - "/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_16609/4260007078.py:24: RuntimeWarning: invalid value encountered in multiply\n", - " n_matches\n" - ] - } - ], + "outputs": [], "source": [ "# y\n", "# minutes\n", @@ -2774,39 +2601,10 @@ }, { "cell_type": "code", - "execution_count": 37, + "execution_count": null, "id": "33c3bb04", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([ 7.65644444e+01, 1.08741703e+02, 1.09292754e+01, -4.67188406e+00,\n", - " 1.10150725e+01, 0.00000000e+00, 4.56541063e+00, 2.49382716e+02,\n", - " 1.73913043e-02, 7.72946860e-04, 0.00000000e+00, 9.97153846e+01,\n", - " 6.12473430e+00, 1.92995169e+01, 6.50164251e+00, 5.88099715e+01,\n", - " 3.57858937e+01, 4.94960386e+01, 1.92446377e+01, 5.46220000e+03,\n", - " 9.84637681e+00, 5.66060606e+00, 6.91256667e+03, 5.22207792e+01,\n", - " 5.62463768e+01, -5.02512077e-01, 5.71157488e+01, 3.17078632e+02,\n", - " 1.51384127e+02, 3.42211111e+01, 0.00000000e+00, 1.03636364e+00,\n", - " 2.81435897e+01, 2.29658333e+04, 7.04501425e+01, 1.06893162e+02,\n", - " 3.68253968e-01, 1.32553333e+04, 1.20994000e+04, 1.84235556e+03,\n", - " 2.82468468e+01, 4.78545455e+01, -6.56425121e+00, 0.00000000e+00,\n", - " 5.66544567e-01, 0.00000000e+00, 9.23456790e-01, 2.99571429e+01,\n", - " 1.29020000e+03, 8.88888889e-03, 4.71584416e+01, 1.50089177e+02,\n", - " 2.16049383e-02, 2.43133102e+01, 2.10425556e+03, 0.00000000e+00,\n", - " 8.37570093e+00, 0.00000000e+00, 4.88888889e-01, -1.97186147e+00,\n", - " 6.61830000e+03, 0.00000000e+00, -2.00000000e-01, 1.37143333e+02,\n", - " 8.85163059e+01, 8.46285714e+00, 5.10294118e+00, 6.19555556e+01,\n", - " 6.88888889e-02, 4.12698413e-02, 0.00000000e+00, 1.71464550e+01,\n", - " 0.00000000e+00, 0.00000000e+00, 0.00000000e+00])" - ] - }, - "execution_count": 37, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "neithers = (team_goals * (player_minutes / total_minutes)) - player_involvements[:, 0] - player_involvements[:, 1]\n", "neithers" @@ -2814,21 +2612,10 @@ }, { "cell_type": "code", - "execution_count": 38, + "execution_count": null, "id": "6b61f12d", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([ 42, 175, 362, 468, 473])" - ] - }, - "execution_count": 38, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "player_ids[neithers < 0]\n" ] @@ -2843,23 +2630,10 @@ }, { "cell_type": "code", - "execution_count": 39, + "execution_count": null, "id": "387cdce5", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ollie Watkins\n", - "[[14 9 34]]\n", - "3328\n", - "[10350]\n", - "0.40350877192982454\n", - "0.32154589371980674\n" - ] - } - ], + "outputs": [], "source": [ "# ollie watkins: involved 40% goals but played 32% mins??? -> Looks like n_matches calculation wrong\n", "print(get_player(42).name)\n", @@ -2872,24 +2646,10 @@ }, { "cell_type": "code", - "execution_count": 40, + "execution_count": null, "id": "da4cf47e", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Ollie Watkins\n", - "[30]\n", - "[[14 9 34]]\n", - "3328\n", - "2700\n", - "0.40350877192982454\n", - "0.32154589371980674\n" - ] - } - ], + "outputs": [], "source": [ "print(get_player(42).name)\n", "print(((y.sum(axis=2) > 0) & (minutes > 0)).sum(axis=1)[player_ids == 42])\n", @@ -2903,21 +2663,10 @@ }, { "cell_type": "code", - "execution_count": 41, + "execution_count": null, "id": "0c307b8f", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(75, 115)" - ] - }, - "execution_count": 41, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "(y.sum(axis=2) > 0).shape\n", "minutes.shape" @@ -2925,21 +2674,10 @@ }, { "cell_type": "code", - "execution_count": 42, + "execution_count": null, "id": "0bbbb563", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([115])" - ] - }, - "execution_count": 42, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "y[player_ids == 42]\n", "n_matches[player_ids == 42]" @@ -2947,21 +2685,10 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": null, "id": "6e232546", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([0.37096971, 0.10304714, 0.52598315])" - ] - }, - "execution_count": 43, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "x = np.array([54, 15, 76.56444444444443])\n", "x / x.sum()" @@ -2969,63 +2696,30 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": null, "id": "e877bfad", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "115" - ] - }, - "execution_count": 44, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "n_matches[0]" ] }, { "cell_type": "code", - "execution_count": 45, + "execution_count": null, "id": "7dcb3ca0", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([0.37096971, 0.10304714, 0.52598315])" - ] - }, - "execution_count": 45, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "alpha[0, :] / alpha[0, :].sum()" ] }, { "cell_type": "code", - "execution_count": 46, + "execution_count": null, "id": "8cf0c419", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "68.25842696629213" - ] - }, - "execution_count": 46, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "\n", "n_matches[0] * (player_involvements[0, 0] / team_goals[0]) * (total_minutes[0] / player_minutes[0])\n", @@ -3036,270 +2730,163 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": null, "id": "0ebb11b2", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "184" - ] - }, - "execution_count": 47, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "team_goals[0]" ] }, { "cell_type": "code", - "execution_count": 48, + "execution_count": null, "id": "a32637a4", "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
012
520.0000000.00000018.000000
690.0000000.0000007.000000
680.0000000.00000015.000000
670.0000000.0000001.000000
580.0000000.00000011.000000
............
3653.59036721.4361471.973487
387.84318156.470616-29.313797
42170.12409046.397479-101.521570
25231.1613910.000000-116.161391
592736.4615382736.461538-5395.923077
\n", - "

64 rows × 3 columns

\n", - "
" - ], - "text/plain": [ - " 0 1 2\n", - "52 0.000000 0.000000 18.000000\n", - "69 0.000000 0.000000 7.000000\n", - "68 0.000000 0.000000 15.000000\n", - "67 0.000000 0.000000 1.000000\n", - "58 0.000000 0.000000 11.000000\n", - ".. ... ... ...\n", - "36 53.590367 21.436147 1.973487\n", - "3 87.843181 56.470616 -29.313797\n", - "42 170.124090 46.397479 -101.521570\n", - "25 231.161391 0.000000 -116.161391\n", - "59 2736.461538 2736.461538 -5395.923077\n", - "\n", - "[64 rows x 3 columns]" - ] - }, - "execution_count": 48, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "pd.DataFrame(alpha).dropna().sort_values(by=0)" ] }, { "cell_type": "code", - "execution_count": 49, + "execution_count": null, "id": "5f859e5b", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[0, 3, 1, ..., 0, 3, 3],\n", - " [2, 1, 2, ..., 3, 0, 3],\n", - " [3, 1, 2, ..., 1, 2, 1],\n", - " ...,\n", - " [0, 0, 0, ..., 0, 0, 0],\n", - " [0, 0, 0, ..., 0, 0, 0],\n", - " [0, 0, 0, ..., 0, 0, 0]])" - ] - }, - "execution_count": 49, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "y.sum(axis=2)" ] }, { "cell_type": "code", - "execution_count": 50, + "execution_count": null, "id": "34f22a2e", "metadata": {}, + "outputs": [], + "source": [ + "get_player(\"Edinson Cavani\").player_id" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "22b81e46", + "metadata": {}, + "outputs": [], + "source": [ + "alpha[player_ids == 307]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "cd42aab2", + "metadata": {}, + "outputs": [], + "source": [ + "get_player(\"Aubameyang\").player_id" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "300521cf", + "metadata": {}, + "outputs": [], + "source": [ + "alpha[player_ids == 4]" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "id": "5b086097", + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "307" + "(75, 115)" ] }, - "execution_count": 50, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "get_player(\"Edinson Cavani\").player_id" + "y.sum(axis=2).shape" ] }, { "cell_type": "code", - "execution_count": 51, - "id": "22b81e46", + "execution_count": 35, + "id": "91a8c375", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([[53.59036677, 21.43614671, 1.97348652]])" + "(75, 115)" ] }, - "execution_count": 51, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "alpha[player_ids == 307]" + "minutes.shape" ] }, { "cell_type": "code", - "execution_count": 52, - "id": "cd42aab2", + "execution_count": 62, + "id": "cd5cfe0b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "4" + "(75, 115)" ] }, - "execution_count": 52, + "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "get_player(\"Aubameyang\").player_id" + "select = (y.sum(axis=2) > 0) & (minutes > 0)\n", + "select.shape" ] }, { "cell_type": "code", - "execution_count": 53, - "id": "300521cf", + "execution_count": 66, + "id": "1e246020", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "array([[42.66151685, 11.85042135, 60.4880618 ]])" + "(80,)" ] }, - "execution_count": 53, + "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "alpha[player_ids == 4]" + "minutes[0, select[0, :]].shape" ] }, { "cell_type": "code", "execution_count": null, - "id": "5b086097", + "id": "d62543ac", "metadata": {}, "outputs": [], "source": [] From 6ba27601ff6faf4c37485e96abcfad9824730a0e Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Mon, 23 Aug 2021 15:07:57 +0100 Subject: [PATCH 23/43] flake8 --- airsenal/framework/player_model.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/airsenal/framework/player_model.py b/airsenal/framework/player_model.py index 31847ac7..e51dd7e1 100644 --- a/airsenal/framework/player_model.py +++ b/airsenal/framework/player_model.py @@ -1,11 +1,9 @@ -from airsenal.framework.utils import NEXT_GAMEWEEK import jax.numpy as jnp import jax.random as random import numpy as np import numpyro import numpyro.distributions as dist from numpyro.infer import MCMC, NUTS -import pandas as pd from typing import Any, Dict, Optional From 905ff3e0da14e75dc68fe739b60006ead2ff4eb1 Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Mon, 23 Aug 2021 16:21:42 +0100 Subject: [PATCH 24/43] add BasePlayerModel class and type hints for ConjugatePlayerModel --- airsenal/framework/player_model.py | 59 +++++++++++++++++++++++++----- 1 file changed, 49 insertions(+), 10 deletions(-) diff --git a/airsenal/framework/player_model.py b/airsenal/framework/player_model.py index e51dd7e1..902b2ddc 100644 --- a/airsenal/framework/player_model.py +++ b/airsenal/framework/player_model.py @@ -1,3 +1,6 @@ +from __future__ import annotations +from abc import ABC, abstractmethod + import jax.numpy as jnp import jax.random as random import numpy as np @@ -85,7 +88,41 @@ def scale_goals_by_minutes(goals, minutes): return scaled_goals -class PlayerModel(object): +class BasePlayerModel(ABC): + """ + Base class for player models + """ + + @abstractmethod + def fit(self, data: Dict[str, Any], **kwargs) -> BasePlayerModel: + """Fit model. Data must have the following keys (at minimum): + - "y": np.ndarray of shape (n_players, n_matches, 3) with player goal + involvements in each match. Last axis is (no. goals, no. assists, no. neither) + - "player_ids": np.ndarray of shape (n_players,) with player ids + - "minutes": np.ndarray of shape (n_players, m_matches) - no. minutes played by + each player in each match + """ + ... + + @abstractmethod + def get_probs(self) -> Dict[str, np.ndarray]: + """Get probability of all players scoring, assisting or doing neither for a + goal. Returns dict with followinig keys: + - "player_id": np.ndarray of shape (n_players,) with player ids + - "prob_score": np.ndarray of shape (n_players,) with goal probabilities + - "prob_assist": np.ndarray of shape (n_players,) with assist probabilities + - "prob_neither": np.ndarray of shape (n_players,) with neither probabilities + """ + ... + + @abstractmethod + def get_probs_for_player(self, player_id: int) -> np.ndarray: + """Get probability that a player scores, assists or does neither for a goal + their team scores. Returns np.ndarray of shape (3, ).""" + ... + + +class PlayerModel(BasePlayerModel): """ numpyro implementation of the AIrsenal player model. """ @@ -178,14 +215,14 @@ def get_probs_for_player(self, player_id): return (prob_score, prob_assist, prob_neither) -class ConjugatePlayerModel(object): +class ConjugatePlayerModel(BasePlayerModel): """Exact implementation of player model: - Prior: Dirichlet(alpha) - Posterior: Dirichlet(alpha + n) + - Prior: Dirichlet(alpha) + - Posterior: Dirichlet(alpha + n) where n is the result of scale_goals_by_minutes for each player (i.e. total number of goal involvements for player weighted by amount of time on pitch). Strength of prior controlled by sum(alpha), by default 13 which is roughly the - average no. of goals a team's expected to score in 10 matches. alpha values comes + average no. of goals a team's expected to score in 10 matches. alpha values come from average goal involvements for all players in that position. """ @@ -195,7 +232,9 @@ def __init__(self): self.posterior = None self.mean_probabilities = None - def fit(self, data, n_goals_prior=13): + def fit( + self, data: Dict[str, Any], n_goals_prior: int = 13 + ) -> ConjugatePlayerModel: goals = data["y"] minutes = data["minutes"] self.player_ids = data["player_ids"] @@ -209,7 +248,7 @@ def fit(self, data, n_goals_prior=13): return self @staticmethod - def get_prior(scaled_goals, n_goals_prior): + def get_prior(scaled_goals: np.ndarray, n_goals_prior: int) -> np.ndarray: """Compute alpha parameters for Dirichlet prior. Calculated by summing up all player goal involvements, then normalise to sum to n_goals_prior. """ @@ -217,13 +256,13 @@ def get_prior(scaled_goals, n_goals_prior): return n_goals_prior * alpha / alpha.sum() @staticmethod - def get_posterior(prior_alpha, scaled_goals): + def get_posterior(prior_alpha: np.ndarray, scaled_goals: np.ndarray) -> np.ndarray: """Compute parameters of Dirichlet posterior, which is the sum of the prior and scaled goal involvements. """ return prior_alpha + scaled_goals - def get_probs(self): + def get_probs(self) -> Dict[str, np.ndarray]: return { "player_id": self.player_ids, "prob_score": self.mean_probabilities[:, 0], @@ -231,7 +270,7 @@ def get_probs(self): "prob_neither": self.mean_probabilities[:, 2], } - def get_probs_for_player(self, player_id): + def get_probs_for_player(self, player_id: int) -> np.ndarray: try: index = list(self.player_ids).index(player_id) except (ValueError): From e33013f12857f2800421d03c90282ad4dabdc06e Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Mon, 23 Aug 2021 18:29:31 +0100 Subject: [PATCH 25/43] fix error is num_thread is None in set_multiprocessing_start_method --- airsenal/framework/multiprocessing_utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airsenal/framework/multiprocessing_utils.py b/airsenal/framework/multiprocessing_utils.py index 3b55bf5c..4fbbe6dd 100644 --- a/airsenal/framework/multiprocessing_utils.py +++ b/airsenal/framework/multiprocessing_utils.py @@ -26,7 +26,7 @@ def set_multiprocessing_start_method(num_thread=2): num_thread : int, optional Only changem ultiprocessing start method if num_thread > 1, by default 2 """ - if num_thread > 1 and os.name == "posix": + if num_thread is not None and num_thread > 1 and os.name == "posix": multiprocessing.set_start_method("fork") From 1163e361f49f361e05b29e99c495fdbeb753bcf5 Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Mon, 23 Aug 2021 18:32:27 +0100 Subject: [PATCH 26/43] add ConjugatePlayerModel as option for airsenal_run_prediction --- airsenal/framework/player_model.py | 1 - airsenal/framework/prediction_utils.py | 12 ++++++---- airsenal/scripts/fill_predictedscore_table.py | 23 +++++++++++++++++-- 3 files changed, 28 insertions(+), 8 deletions(-) diff --git a/airsenal/framework/player_model.py b/airsenal/framework/player_model.py index 902b2ddc..28a35583 100644 --- a/airsenal/framework/player_model.py +++ b/airsenal/framework/player_model.py @@ -49,7 +49,6 @@ def get_empirical_bayes_estimates(df_emp, prior_goals=None): alpha = np.array([a0, a1, a2]) if prior_goals is not None: alpha = prior_goals * (alpha / alpha.sum()) - print("Alpha is {}".format(alpha)) return alpha diff --git a/airsenal/framework/prediction_utils.py b/airsenal/framework/prediction_utils.py index f36eac85..771956f0 100644 --- a/airsenal/framework/prediction_utils.py +++ b/airsenal/framework/prediction_utils.py @@ -390,6 +390,7 @@ def calc_predicted_points_for_pos( season, gw_range, tag, + model=PlayerModel(), dbsession=session, ): """ @@ -398,7 +399,7 @@ def calc_predicted_points_for_pos( """ df_player = None if pos != "GK": # don't calculate attacking points for keepers. - df_player = fit_player_data(pos, season, min(gw_range), dbsession) + df_player = fit_player_data(pos, season, min(gw_range), model, dbsession) return { player.player_id: calc_predicted_points_for_player( player=player, @@ -507,11 +508,10 @@ def process_player_data( ) -def fit_player_data(position, season, gameweek, dbsession=session): +def fit_player_data(position, season, gameweek, model=PlayerModel(), dbsession=session): """ fit the data for a particular position (FWD, MID, DEF) """ - model = PlayerModel() data = process_player_data(position, season, gameweek, dbsession) print("Fitting player model for", position, "...") fitted_model = model.fit(data) @@ -526,10 +526,12 @@ def fit_player_data(position, season, gameweek, dbsession=session): return df -def get_all_fitted_player_data(season, gameweek, dbsession=session): +def get_all_fitted_player_data( + season, gameweek, model=PlayerModel(), dbsession=session +): df_positions = {"GK": None} for pos in ["DEF", "MID", "FWD"]: - df_positions[pos] = fit_player_data(pos, season, gameweek, dbsession) + df_positions[pos] = fit_player_data(pos, season, gameweek, model, dbsession) return df_positions diff --git a/airsenal/scripts/fill_predictedscore_table.py b/airsenal/scripts/fill_predictedscore_table.py index cc75f341..39127ac3 100644 --- a/airsenal/scripts/fill_predictedscore_table.py +++ b/airsenal/scripts/fill_predictedscore_table.py @@ -33,7 +33,7 @@ fit_card_points, MAX_GOALS, ) - +from airsenal.framework.player_model import ConjugatePlayerModel, PlayerModel from airsenal.framework.schema import session_scope @@ -83,6 +83,7 @@ def calc_all_predicted_points( include_saves=True, num_thread=4, tag="", + player_model=PlayerModel(), dbsession=None, ): """ @@ -97,7 +98,9 @@ def calc_all_predicted_points( fixtures, model_team, max_goals=MAX_GOALS ) - df_player = get_all_fitted_player_data(season, gw_range[0]) + df_player = get_all_fitted_player_data( + season, gw_range[0], model=player_model, dbsession=dbsession + ) if include_bonus: df_bonus = fit_bonus_points(gameweek=gw_range[0], season=season) @@ -173,6 +176,7 @@ def make_predictedscore_table( include_cards=True, include_saves=True, tag_prefix=None, + player_model=PlayerModel(), dbsession=None, ): tag = tag_prefix or "" @@ -187,6 +191,7 @@ def make_predictedscore_table( include_saves=include_saves, num_thread=num_thread, tag=tag, + player_model=player_model, dbsession=dbsession, ) return tag @@ -222,6 +227,11 @@ def main(): help="don't include save points for goalkeepers", action="store_true", ) + parser.add_argument( + "--player_model", + help="Player model class to use, either PlayerModel or ConjugatePlayerModel", + default="PlayerModel" + ) args = parser.parse_args() if args.weeks_ahead and (args.gameweek_start or args.gameweek_end): @@ -242,6 +252,14 @@ def main(): include_bonus = not args.no_bonus include_cards = not args.no_cards include_saves = not args.no_saves + if args.player_model == "PlayerModel": + player_model = PlayerModel() + elif args.player_model == "ConjugatePlayerModel": + player_model = ConjugatePlayerModel() + else: + raise RuntimeError( + "player_model must be 'PlayerModel' or 'ConjugatePlayerModel'" + ) set_multiprocessing_start_method(num_thread) @@ -255,6 +273,7 @@ def main(): include_bonus=include_bonus, include_cards=include_cards, include_saves=include_saves, + player_model=player_model, dbsession=session, ) From 26caa5b7005a99600a9eb997b684512d68b04828 Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Mon, 23 Aug 2021 20:12:22 +0100 Subject: [PATCH 27/43] fix tests --- airsenal/scripts/fill_predictedscore_table.py | 2 +- airsenal/tests/test_score_predictions.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/airsenal/scripts/fill_predictedscore_table.py b/airsenal/scripts/fill_predictedscore_table.py index 39127ac3..a371d933 100644 --- a/airsenal/scripts/fill_predictedscore_table.py +++ b/airsenal/scripts/fill_predictedscore_table.py @@ -230,7 +230,7 @@ def main(): parser.add_argument( "--player_model", help="Player model class to use, either PlayerModel or ConjugatePlayerModel", - default="PlayerModel" + default="PlayerModel", ) args = parser.parse_args() diff --git a/airsenal/tests/test_score_predictions.py b/airsenal/tests/test_score_predictions.py index 9c344304..1e470583 100644 --- a/airsenal/tests/test_score_predictions.py +++ b/airsenal/tests/test_score_predictions.py @@ -218,7 +218,7 @@ def test_get_fitted_player_model(): pm = PlayerModel() assert isinstance(pm, PlayerModel) with test_past_data_session_scope() as ts: - fpm = fit_player_data("FWD", "1819", 12, ts) + fpm = fit_player_data("FWD", "1819", 12, model=pm, dbsession=ts) assert isinstance(fpm, pd.DataFrame) assert len(fpm) > 0 From 5cd94ea951e3ccff623f84ae245ebbca63663f33 Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Mon, 23 Aug 2021 21:33:02 +0100 Subject: [PATCH 28/43] add ConjugatePlayerModel tests --- airsenal/tests/test_score_predictions.py | 26 ++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/airsenal/tests/test_score_predictions.py b/airsenal/tests/test_score_predictions.py index 1e470583..54b292fe 100644 --- a/airsenal/tests/test_score_predictions.py +++ b/airsenal/tests/test_score_predictions.py @@ -1,7 +1,7 @@ """ test the score-calculating functions """ - +import numpy as np import pandas as pd import bpl @@ -21,7 +21,7 @@ get_player_scores, mean_group_min_count, ) -from airsenal.framework.player_model import PlayerModel +from airsenal.framework.player_model import ConjugatePlayerModel, PlayerModel from airsenal.framework.bpl_interface import ( get_result_dict, @@ -214,13 +214,35 @@ def test_get_player_history_df(): assert fixture.gameweek < 12 +def test_conjugate_player_model(): + pm = ConjugatePlayerModel() + y = np.zeros((2, 2, 3)) + y[0, :, :] = np.array([[0, 0, 0], [1, 2, 3]]) # all y add to 4 + y[1, :, :] = np.array([[1, 2, 1], [2, 0, 0]]) + data = { + "y": y, + "player_ids": [0, 1], + "minutes": 90 * np.ones((2, 2)), + } + pm = pm.fit(data, n_goals_prior=0) + assert (pm.posterior == np.array([[1, 2, 3], [3, 2, 1]])).all() + + pm = pm.fit(data, n_goals_prior=3) + assert (pm.posterior == np.array([[2, 3, 4], [4, 3, 2]])).all() + + def test_get_fitted_player_model(): pm = PlayerModel() assert isinstance(pm, PlayerModel) + cpm = ConjugatePlayerModel() + assert isinstance(cpm, ConjugatePlayerModel) with test_past_data_session_scope() as ts: fpm = fit_player_data("FWD", "1819", 12, model=pm, dbsession=ts) assert isinstance(fpm, pd.DataFrame) assert len(fpm) > 0 + fcpm = fit_player_data("FWD", "1819", 12, model=cpm, dbsession=ts) + assert isinstance(fcpm, pd.DataFrame) + assert len(fcpm) > 0 def test_get_result_dict(): From 566573471beb12d496f1985c5462a80355a2ecb8 Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Mon, 23 Aug 2021 21:47:45 +0100 Subject: [PATCH 29/43] revert changes to numpyro player model notebook --- notebooks/numpyro_player_model.ipynb | 3077 ++++++-------------------- 1 file changed, 719 insertions(+), 2358 deletions(-) diff --git a/notebooks/numpyro_player_model.ipynb b/notebooks/numpyro_player_model.ipynb index 74efde83..ca590292 100644 --- a/notebooks/numpyro_player_model.ipynb +++ b/notebooks/numpyro_player_model.ipynb @@ -47,13 +47,12 @@ "outputs": [], "source": [ "from airsenal.framework.prediction_utils import process_player_data\n", - "from airsenal.framework.utils import get_player, NEXT_GAMEWEEK\n", - "from airsenal.framework.season import CURRENT_SEASON" + "from airsenal.framework.utils import get_player" ] }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 15, "id": "bda6ecb3", "metadata": {}, "outputs": [], @@ -65,7 +64,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 16, "id": "2290eb1e", "metadata": {}, "outputs": [ @@ -198,7 +197,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 18, "id": "b895d283", "metadata": {}, "outputs": [], @@ -220,7 +219,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 19, "id": "5680f098", "metadata": {}, "outputs": [], @@ -247,7 +246,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 20, "id": "aee2d29e", "metadata": {}, "outputs": [], @@ -261,7 +260,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 27, "id": "18e79121", "metadata": {}, "outputs": [], @@ -281,7 +280,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 28, "id": "330db0c1", "metadata": {}, "outputs": [], @@ -303,7 +302,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 29, "id": "6a52c5ca", "metadata": {}, "outputs": [ @@ -311,566 +310,640 @@ "name": "stdout", "output_type": "stream", "text": [ - "Filling history dataframe for Harry Kane: 0/75 done\n", - "Filling history dataframe for Romelu Lukaku: 1/75 done\n", - "Filling history dataframe for Jamie Vardy: 2/75 done\n", - "Filling history dataframe for Pierre-Emerick Aubameyang: 3/75 done\n", - "Filling history dataframe for Roberto Firmino: 4/75 done\n", - "Filling history dataframe for Timo Werner: 5/75 done\n", - "Filling history dataframe for Gabriel Fernando de Jesus: 6/75 done\n", - "Filling history dataframe for Edinson Cavani: 7/75 done\n", - "Filling history dataframe for Alexandre Lacazette: 8/75 done\n", - "Filling history dataframe for Danny Ings: 9/75 done\n", - "Filling history dataframe for Dominic Calvert-Lewin: 10/75 done\n", - "Filling history dataframe for Patrick Bamford: 11/75 done\n", - "Filling history dataframe for Anthony Martial: 12/75 done\n", - "Filling history dataframe for Richarlison de Andrade: 13/75 done\n", - "Filling history dataframe for Michail Antonio: 14/75 done\n", - "Filling history dataframe for Ollie Watkins: 15/75 done\n", - "Filling history dataframe for Callum Wilson: 16/75 done\n", - "Filling history dataframe for Raúl Jiménez: 17/75 done\n", - "Filling history dataframe for Kelechi Iheanacho: 18/75 done\n", - "Filling history dataframe for Patson Daka: 19/75 done\n", - "Filling history dataframe for Chris Wood: 20/75 done\n", - "Filling history dataframe for Che Adams: 21/75 done\n", - "Filling history dataframe for Ivan Toney: 22/75 done\n", - "Filling history dataframe for Neal Maupay: 23/75 done\n", - "Filling history dataframe for Olivier Giroud: 24/75 done\n", - "Filling history dataframe for Tammy Abraham: 25/75 done\n", - "Filling history dataframe for Christian Benteke: 26/75 done\n", - "Filling history dataframe for Rodrigo Moreno: 27/75 done\n", - "Filling history dataframe for Allan Saint-Maximin: 28/75 done\n", - "Filling history dataframe for Danny Welbeck: 29/75 done\n", - "Filling history dataframe for Jordan Ayew: 30/75 done\n", - "Filling history dataframe for Joelinton Cássio Apolinário de Lira: 31/75 done\n", - "Filling history dataframe for Teemu Pukki: 32/75 done\n", - "Filling history dataframe for Adam Armstrong: 33/75 done\n", - "Filling history dataframe for Fabio Silva: 34/75 done\n", - "Filling history dataframe for Edward Nketiah: 35/75 done\n", - "Filling history dataframe for Wesley Moraes: 36/75 done\n", - "Filling history dataframe for Mbwana Ally Samatta: 37/75 done\n", - "Filling history dataframe for Marcus Forss: 38/75 done\n", - "Filling history dataframe for Halil Dervişoğlu: 39/75 done\n", - "Filling history dataframe for Aaron Connolly: 40/75 done\n", - "Filling history dataframe for Jay Rodriguez: 41/75 done\n", - "Filling history dataframe for Ashley Barnes: 42/75 done\n", - "Filling history dataframe for Matej Vydra: 43/75 done\n", - "Filling history dataframe for Michy Batshuayi: 44/75 done\n", - "Filling history dataframe for Jean-Philippe Mateta: 45/75 done\n", - "Filling history dataframe for Dwight Gayle: 46/75 done\n", - "Filling history dataframe for Jordan Hugill: 47/75 done\n", - "Filling history dataframe for Joshua Sargent: 48/75 done\n", - "Filling history dataframe for Shane Long: 49/75 done\n", - "Filling history dataframe for Troy Deeney: 50/75 done\n", - "Filling history dataframe for Andre Gray: 51/75 done\n", - "Filling history dataframe for João Pedro Junqueira de Jesus: 52/75 done\n", - "Filling history dataframe for Joshua King: 53/75 done\n", - "Filling history dataframe for Folarin Balogun: 54/75 done\n", - "Filling history dataframe for Florin Andone: 55/75 done\n", - "Filling history dataframe for Divock Origi: 56/75 done\n", - "Filling history dataframe for Adam Idah: 57/75 done\n", - "Filling history dataframe for Armando Broja: 58/75 done\n", - "Filling history dataframe for Isaac Success Ajayi: 59/75 done\n", - "Filling history dataframe for Ashley Fletcher: 60/75 done\n", - "Filling history dataframe for Emmanuel Dennis: 61/75 done\n", - "Filling history dataframe for Juan Camilo Hernández Suárez: 62/75 done\n", - "Filling history dataframe for Patrick Cutrone: 63/75 done\n", - "Filling history dataframe for Keinan Davis: 64/75 done\n", - "Filling history dataframe for Andi Zeqiri: 65/75 done\n", - "Filling history dataframe for Lewis Richardson: 66/75 done\n", - "Filling history dataframe for Robert Street: 67/75 done\n", - "Filling history dataframe for Nathan Broadhead: 68/75 done\n", - "Filling history dataframe for Sam Greenwood: 69/75 done\n", - "Filling history dataframe for Daniel N'Lundulu: 70/75 done\n", - "Filling history dataframe for Michael Obafemi: 71/75 done\n", - "Filling history dataframe for Dane Scarlett: 72/75 done\n", - "Filling history dataframe for Stipe Perica: 73/75 done\n", - "Filling history dataframe for Adedapo Awokoya-Mebude: 74/75 done\n", - "Alpha is [19.30121916 9.36931379 37.59613372]\n" + "Filling history dataframe for Sergio Agüero: 0/87 done\n", + "Filling history dataframe for Pierre-Emerick Aubameyang: 1/87 done\n", + "Filling history dataframe for Harry Kane: 2/87 done\n", + "Filling history dataframe for Jamie Vardy: 3/87 done\n", + "Filling history dataframe for Gabriel Fernando de Jesus: 4/87 done\n", + "Filling history dataframe for Roberto Firmino: 5/87 done\n", + "Filling history dataframe for Alexandre Lacazette: 6/87 done\n", + "Filling history dataframe for Marcus Rashford: 7/87 done\n", + "Filling history dataframe for Romelu Lukaku: 8/87 done\n", + "Filling history dataframe for Raúl Jiménez: 9/87 done\n", + "Filling history dataframe for Tammy Abraham: 10/87 done\n", + "Filling history dataframe for Callum Wilson: 11/87 done\n", + "Filling history dataframe for Danny Ings: 12/87 done\n", + "Filling history dataframe for Marko Arnautovic: 13/87 done\n", + "Filling history dataframe for Sébastien Haller: 14/87 done\n", + "Filling history dataframe for Olivier Giroud: 15/87 done\n", + "Filling history dataframe for Michy Batshuayi: 16/87 done\n", + "Filling history dataframe for Teemu Pukki: 17/87 done\n", + "Filling history dataframe for Odion Ighalo: 18/87 done\n", + "Filling history dataframe for Dominic Calvert-Lewin: 19/87 done\n", + "Filling history dataframe for Diogo Jota: 20/87 done\n", + "Filling history dataframe for Moise Kean: 21/87 done\n", + "Filling history dataframe for Troy Deeney: 22/87 done\n", + "Filling history dataframe for Chris Wood: 23/87 done\n", + "Filling history dataframe for Gerard Deulofeu: 24/87 done\n", + "Filling history dataframe for Joshua King: 25/87 done\n", + "Filling history dataframe for Ashley Barnes: 26/87 done\n", + "Filling history dataframe for Charlie Austin: 27/87 done\n", + "Filling history dataframe for Javier Hernández Balcázar: 28/87 done\n", + "Filling history dataframe for Danny Welbeck: 29/87 done\n", + "Filling history dataframe for Mbwana Samatta: 30/87 done\n", + "Filling history dataframe for Neal Maupay: 31/87 done\n", + "Filling history dataframe for Cenk Tosun: 32/87 done\n", + "Filling history dataframe for Christian Benteke: 33/87 done\n", + "Filling history dataframe for Jay Rodriguez: 34/87 done\n", + "Filling history dataframe for Oliver McBurnie: 35/87 done\n", + "Filling history dataframe for Kelechi Iheanacho: 36/87 done\n", + "Filling history dataframe for Billy Sharp: 37/87 done\n", + "Filling history dataframe for Albian Ajeti: 38/87 done\n", + "Filling history dataframe for Borja González Tomás: 39/87 done\n", + "Filling history dataframe for Andre Gray: 40/87 done\n", + "Filling history dataframe for Joelinton Cássio Apolinário de Lira: 41/87 done\n", + "Filling history dataframe for Patrick Cutrone: 42/87 done\n", + "Filling history dataframe for Jonathan Kodjia: 43/87 done\n", + "Filling history dataframe for Glenn Murray: 44/87 done\n", + "Filling history dataframe for David McGoldrick: 45/87 done\n", + "Filling history dataframe for Wesley Moraes: 46/87 done\n", + "Filling history dataframe for Andy Carroll: 47/87 done\n", + "Filling history dataframe for Josip Drmic: 48/87 done\n", + "Filling history dataframe for Che Adams: 49/87 done\n", + "Filling history dataframe for Matej Vydra: 50/87 done\n", + "Filling history dataframe for Jürgen Locadia: 51/87 done\n", + "Filling history dataframe for Dennis Srbeny: 52/87 done\n", + "Filling history dataframe for Jordan Ayew: 53/87 done\n", + "Filling history dataframe for Dominic Solanke: 54/87 done\n", + "Filling history dataframe for Divock Origi: 55/87 done\n", + "Filling history dataframe for Yoshinori Muto: 56/87 done\n", + "Filling history dataframe for Jose Luis Mato Sanmartín: 57/87 done\n", + "Filling history dataframe for Dwight Gayle: 58/87 done\n", + "Filling history dataframe for João Pedro Junqueira de Jesus: 59/87 done\n", + "Filling history dataframe for Michael Obafemi: 60/87 done\n", + "Filling history dataframe for Isaac Success Ajayi: 61/87 done\n", + "Filling history dataframe for Richairo Zivkovic: 62/87 done\n", + "Filling history dataframe for Florin Andone: 63/87 done\n", + "Filling history dataframe for Shane Long: 64/87 done\n", + "Filling history dataframe for Vincent Janssen: 65/87 done\n", + "Filling history dataframe for Lys Mousset: 66/87 done\n", + "Filling history dataframe for Anthony Gordon: 67/87 done\n", + "Filling history dataframe for Oumar Niasse: 68/87 done\n", + "Filling history dataframe for Sam Gallagher: 69/87 done\n", + "Filling history dataframe for Max Thompson: 70/87 done\n", + "Filling history dataframe for James Daly: 71/87 done\n", + "Filling history dataframe for Bernard Ashley-Seal: 72/87 done\n", + "Filling history dataframe for Armando Broja: 73/87 done\n", + "Filling history dataframe for Leon Clarke: 74/87 done\n", + "Filling history dataframe for Daniel N'Lundulu: 75/87 done\n", + "Filling history dataframe for Edward Nketiah: 76/87 done\n", + "Filling history dataframe for Tyreece John-Jules: 77/87 done\n", + "Filling history dataframe for Gabriel Teodoro Martinelli Silva: 78/87 done\n", + "Filling history dataframe for Adam Idah: 79/87 done\n", + "Filling history dataframe for Sam Surridge: 80/87 done\n", + "Filling history dataframe for Troy Parrott: 81/87 done\n", + "Filling history dataframe for Connor Wickham: 82/87 done\n", + "Filling history dataframe for Alexandre Nascimento Costa Silva: 83/87 done\n", + "Filling history dataframe for Mason Greenwood: 84/87 done\n", + "Filling history dataframe for Rhian Brewster: 85/87 done\n", + "Filling history dataframe for Aaron Connolly: 86/87 done\n", + "Alpha is [13.88204269 6.28922857 27.18919386]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "sample: 100%|████████| 4500/4500 [00:14<00:00, 304.95it/s, 7 steps of size 4.36e-01. acc. prob=0.82]\n" + "sample: 100%|████████████████████████████████| 4500/4500 [00:14<00:00, 319.03it/s, 15 steps of size 3.74e-01. acc. prob=0.87]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Filling history dataframe for Mohamed Salah: 0/235 done\n", - "Filling history dataframe for Bruno Miguel Borges Fernandes: 1/235 done\n", - "Filling history dataframe for Sadio Mané: 2/235 done\n", - "Filling history dataframe for Kevin De Bruyne: 3/235 done\n", - "Filling history dataframe for Raheem Sterling: 4/235 done\n", - "Filling history dataframe for Heung-Min Son: 5/235 done\n", - "Filling history dataframe for Marcus Rashford: 6/235 done\n", - "Filling history dataframe for Jadon Sancho: 7/235 done\n", - "Filling history dataframe for Riyad Mahrez: 8/235 done\n", - "Filling history dataframe for Kai Havertz: 9/235 done\n", - "Filling history dataframe for Christian Pulisic: 10/235 done\n", - "Filling history dataframe for Jack Grealish: 11/235 done\n", - "Filling history dataframe for Phil Foden: 12/235 done\n", - "Filling history dataframe for Paul Pogba: 13/235 done\n", - "Filling history dataframe for Mason Mount: 14/235 done\n", - "Filling history dataframe for Diogo Jota: 15/235 done\n", - "Filling history dataframe for Ilkay Gündogan: 16/235 done\n", - "Filling history dataframe for Mason Greenwood: 17/235 done\n", - "Filling history dataframe for Nicolas Pépé: 18/235 done\n", - "Filling history dataframe for Hakim Ziyech: 19/235 done\n", - "Filling history dataframe for Wilfried Zaha: 20/235 done\n", - "Filling history dataframe for Gylfi Sigurdsson: 21/235 done\n", - "Filling history dataframe for James Rodríguez: 22/235 done\n", - "Filling history dataframe for James Maddison: 23/235 done\n", - "Filling history dataframe for Harvey Barnes: 24/235 done\n", - "Filling history dataframe for Bernardo Mota Veiga de Carvalho e Silva: 25/235 done\n", - "Filling history dataframe for Ferran Torres: 26/235 done\n", - "Filling history dataframe for Jesse Lingard: 27/235 done\n", - "Filling history dataframe for Emiliano Buendía Stati: 28/235 done\n", - "Filling history dataframe for Leon Bailey: 29/235 done\n", - "Filling history dataframe for Leandro Trossard: 30/235 done\n", - "Filling history dataframe for Youri Tielemans: 31/235 done\n", - "Filling history dataframe for Raphael Dias Belloli: 32/235 done\n", - "Filling history dataframe for James Ward-Prowse: 33/235 done\n", - "Filling history dataframe for Lucas Rodrigues Moura da Silva: 34/235 done\n", - "Filling history dataframe for Bamidele Alli: 35/235 done\n", - "Filling history dataframe for Jarrod Bowen: 36/235 done\n", - "Filling history dataframe for Pedro Lomba Neto: 37/235 done\n", - "Filling history dataframe for Willian Borges Da Silva: 38/235 done\n", - "Filling history dataframe for Bukayo Saka: 39/235 done\n", - "Filling history dataframe for Saïd Benrahma: 40/235 done\n", - "Filling history dataframe for Bertrand Traoré: 41/235 done\n", - "Filling history dataframe for John McGinn: 42/235 done\n", - "Filling history dataframe for Anwar El Ghazi: 43/235 done\n", - "Filling history dataframe for Yoane Wissa: 44/235 done\n", - "Filling history dataframe for Pascal Groß: 45/235 done\n", - "Filling history dataframe for Enock Mwepu: 46/235 done\n", - "Filling history dataframe for Dwight McNeil: 47/235 done\n", - "Filling history dataframe for Jorge Luiz Frello Filho: 48/235 done\n", - "Filling history dataframe for Eberechi Eze: 49/235 done\n", - "Filling history dataframe for Alex Iwobi: 50/235 done\n", - "Filling history dataframe for Ayoze Pérez: 51/235 done\n", - "Filling history dataframe for Jack Harrison: 52/235 done\n", - "Filling history dataframe for Xherdan Shaqiri: 53/235 done\n", - "Filling history dataframe for Alex Oxlade-Chamberlain: 54/235 done\n", - "Filling history dataframe for Daniel James: 55/235 done\n", - "Filling history dataframe for Joseph Willock: 56/235 done\n", - "Filling history dataframe for Theo Walcott: 57/235 done\n", - "Filling history dataframe for Nathan Redmond: 58/235 done\n", - "Filling history dataframe for Stuart Armstrong: 59/235 done\n", - "Filling history dataframe for Erik Lamela: 60/235 done\n", - "Filling history dataframe for Steven Bergwijn: 61/235 done\n", - "Filling history dataframe for Giovani Lo Celso: 62/235 done\n", - "Filling history dataframe for Tanguy Ndombele: 63/235 done\n", - "Filling history dataframe for Bryan Gil Salvatierra: 64/235 done\n", - "Filling history dataframe for Ismaila Sarr: 65/235 done\n", - "Filling history dataframe for Tomas Soucek: 66/235 done\n", - "Filling history dataframe for Pablo Fornals: 67/235 done\n", - "Filling history dataframe for Adama Traoré: 68/235 done\n", - "Filling history dataframe for Francisco Machado Mota de Castro Trincão: 69/235 done\n", - "Filling history dataframe for Donny van de Beek: 70/235 done\n", - "Filling history dataframe for Manuel Lanzini: 71/235 done\n", - "Filling history dataframe for Ainsley Maitland-Niles: 72/235 done\n", - "Filling history dataframe for Emile Smith Rowe: 73/235 done\n", - "Filling history dataframe for Gabriel Teodoro Martinelli Silva: 74/235 done\n", - "Filling history dataframe for Mahmoud Ahmed Ibrahim Hassan: 75/235 done\n", - "Filling history dataframe for Sergi Canós: 76/235 done\n", - "Filling history dataframe for Pelenda Joshua Dasilva: 77/235 done\n", - "Filling history dataframe for Saman Ghoddos: 78/235 done\n", - "Filling history dataframe for Bryan Mbeumo: 79/235 done\n", - "Filling history dataframe for Adam Lallana: 80/235 done\n", - "Filling history dataframe for Solomon March: 81/235 done\n", - "Filling history dataframe for Alireza Jahanbakhsh: 82/235 done\n", - "Filling history dataframe for Alexis Mac Allister: 83/235 done\n", - "Filling history dataframe for Ashley Westwood: 84/235 done\n", - "Filling history dataframe for Johann Berg Gudmundsson: 85/235 done\n", - "Filling history dataframe for Ross Barkley: 86/235 done\n", - "Filling history dataframe for Ruben Loftus-Cheek: 87/235 done\n", - "Filling history dataframe for Callum Hudson-Odoi: 88/235 done\n", - "Filling history dataframe for Conor Gallagher: 89/235 done\n", - "Filling history dataframe for Luka Milivojevic: 90/235 done\n", - "Filling history dataframe for Jeffrey Schlupp: 91/235 done\n", - "Filling history dataframe for Michael Olise: 92/235 done\n", - "Filling history dataframe for Bernard Anício Caldeira Duarte: 93/235 done\n", - "Filling history dataframe for Abdoulaye Doucouré: 94/235 done\n", - "Filling history dataframe for Andros Townsend: 95/235 done\n", - "Filling history dataframe for Demarai Gray: 96/235 done\n", - "Filling history dataframe for Marc Albrighton: 97/235 done\n", - "Filling history dataframe for Pablo Hernández Domínguez: 98/235 done\n", - "Filling history dataframe for Mateusz Klich: 99/235 done\n", - "Filling history dataframe for Stuart Dallas: 100/235 done\n", - "Filling history dataframe for Hélder Wander Sousa de Azevedo e Costa: 101/235 done\n", - "Filling history dataframe for Thiago Alcántara do Nascimento: 102/235 done\n", - "Filling history dataframe for Fabio Henrique Tavares: 103/235 done\n", - "Filling history dataframe for Harvey Elliott: 104/235 done\n", - "Filling history dataframe for Rodrigo Hernandez: 105/235 done\n", - "Filling history dataframe for Scott McTominay: 106/235 done\n", - "Filling history dataframe for Jonjo Shelvey: 107/235 done\n", - "Filling history dataframe for Ryan Fraser: 108/235 done\n", - "Filling history dataframe for Miguel Almirón: 109/235 done\n", - "Filling history dataframe for Kieran Dowell: 110/235 done\n", - "Filling history dataframe for Todd Cantwell: 111/235 done\n", - "Filling history dataframe for Milot Rashica: 112/235 done\n", - "Filling history dataframe for Moussa Djenepo: 113/235 done\n", - "Filling history dataframe for Mohamed Elyounoussi: 114/235 done\n", - "Filling history dataframe for Ken Sema: 115/235 done\n", - "Filling history dataframe for Philip Zinckernagel: 116/235 done\n", - "Filling history dataframe for Imrân Louza: 117/235 done\n", - "Filling history dataframe for Juraj Kucka: 118/235 done\n", - "Filling history dataframe for Andriy Yarmolenko: 119/235 done\n", - "Filling history dataframe for Rúben Diogo da Silva Neves: 120/235 done\n", - "Filling history dataframe for Daniel Castelo Podence: 121/235 done\n", - "Filling history dataframe for Martin Ødegaard: 122/235 done\n", - "Filling history dataframe for Tariqe Fosu-Henry: 123/235 done\n", - "Filling history dataframe for Takumi Minamino: 124/235 done\n", - "Filling history dataframe for Granit Xhaka: 125/235 done\n", - "Filling history dataframe for Thomas Partey: 126/235 done\n", - "Filling history dataframe for Albert Sambi Lokonga: 127/235 done\n", - "Filling history dataframe for Reiss Nelson: 128/235 done\n", - "Filling history dataframe for Conor Hourihane: 129/235 done\n", - "Filling history dataframe for Morgan Sanson: 130/235 done\n", - "Filling history dataframe for Jaden Philogene-Bidace: 131/235 done\n", - "Filling history dataframe for Christian Nørgaard: 132/235 done\n", - "Filling history dataframe for Vitaly Janelt: 133/235 done\n", - "Filling history dataframe for Mathias Jensen: 134/235 done\n", - "Filling history dataframe for Frank Onyeka: 135/235 done\n", - "Filling history dataframe for Shandon Baptiste: 136/235 done\n", - "Filling history dataframe for Steven Alzate: 137/235 done\n", - "Filling history dataframe for Mateo Kovacic: 138/235 done\n", - "Filling history dataframe for N'Golo Kanté: 139/235 done\n", - "Filling history dataframe for Jairo Riedewald: 140/235 done\n", - "Filling history dataframe for André Filipe Tavares Gomes: 141/235 done\n", - "Filling history dataframe for Tom Davies: 142/235 done\n", - "Filling history dataframe for Dennis Praet: 143/235 done\n", - "Filling history dataframe for Wilfred Ndidi: 144/235 done\n", - "Filling history dataframe for Boubakary Soumaré: 145/235 done\n", - "Filling history dataframe for Kalvin Phillips: 146/235 done\n", - "Filling history dataframe for Tyler Roberts: 147/235 done\n", - "Filling history dataframe for James Milner: 148/235 done\n", - "Filling history dataframe for Jordan Henderson: 149/235 done\n", - "Filling history dataframe for Naby Keita: 150/235 done\n", - "Filling history dataframe for Curtis Jones: 151/235 done\n", - "Filling history dataframe for Fernando Luiz Rosa: 152/235 done\n", - "Filling history dataframe for Samuel Edozie: 153/235 done\n", - "Filling history dataframe for Frederico Rodrigues de Paula Santos: 154/235 done\n", - "Filling history dataframe for Juan Mata: 155/235 done\n" + "Filling history dataframe for Mohamed Salah: 0/264 done\n", + "Filling history dataframe for Sadio Mané: 1/264 done\n", + "Filling history dataframe for Raheem Sterling: 2/264 done\n", + "Filling history dataframe for Kevin De Bruyne: 3/264 done\n", + "Filling history dataframe for Heung-Min Son: 4/264 done\n", + "Filling history dataframe for Nicolas Pépé: 5/264 done\n", + "Filling history dataframe for Leroy Sané: 6/264 done\n", + "Filling history dataframe for Bruno Miguel Borges Fernandes: 7/264 done\n", + "Filling history dataframe for Christian Eriksen: 8/264 done\n", + "Filling history dataframe for Riyad Mahrez: 9/264 done\n", + "Filling history dataframe for Bamidele Alli: 10/264 done\n", + "Filling history dataframe for Richarlison de Andrade: 11/264 done\n", + "Filling history dataframe for Paul Pogba: 12/264 done\n", + "Filling history dataframe for Anthony Martial: 13/264 done\n", + "Filling history dataframe for Bernardo Mota Veiga de Carvalho e Silva: 14/264 done\n", + "Filling history dataframe for James Maddison: 15/264 done\n", + "Filling history dataframe for Steven Bergwijn: 16/264 done\n", + "Filling history dataframe for Gylfi Sigurdsson: 17/264 done\n", + "Filling history dataframe for Giovani Lo Celso: 18/264 done\n", + "Filling history dataframe for David Silva: 19/264 done\n", + "Filling history dataframe for Mesut Özil: 20/264 done\n", + "Filling history dataframe for Lucas Rodrigues Moura da Silva: 21/264 done\n", + "Filling history dataframe for Willian Borges Da Silva: 22/264 done\n", + "Filling history dataframe for Michail Antonio: 23/264 done\n", + "Filling history dataframe for Christian Pulisic: 24/264 done\n", + "Filling history dataframe for Pedro Rodríguez Ledesma: 25/264 done\n", + "Filling history dataframe for Alexis Sánchez: 26/264 done\n", + "Filling history dataframe for Ryan Fraser: 27/264 done\n", + "Filling history dataframe for Luka Milivojevic: 28/264 done\n", + "Filling history dataframe for Wilfried Zaha: 29/264 done\n", + "Filling history dataframe for Henrikh Mkhitaryan: 30/264 done\n", + "Filling history dataframe for Felipe Anderson Pereira Gomes: 31/264 done\n", + "Filling history dataframe for Jarrod Bowen: 32/264 done\n", + "Filling history dataframe for Jack Grealish: 33/264 done\n", + "Filling history dataframe for Ismaïla Sarr: 34/264 done\n", + "Filling history dataframe for Bernard Anício Caldeira Duarte: 35/264 done\n", + "Filling history dataframe for Ruben Loftus-Cheek: 36/264 done\n", + "Filling history dataframe for Jesse Lingard: 37/264 done\n", + "Filling history dataframe for Xherdan Shaqiri: 38/264 done\n", + "Filling history dataframe for Mason Mount: 39/264 done\n", + "Filling history dataframe for Theo Walcott: 40/264 done\n", + "Filling history dataframe for Harvey Barnes: 41/264 done\n", + "Filling history dataframe for Pascal Groß: 42/264 done\n", + "Filling history dataframe for Nathan Redmond: 43/264 done\n", + "Filling history dataframe for Ayoze Pérez: 44/264 done\n", + "Filling history dataframe for Alex Oxlade-Chamberlain: 45/264 done\n", + "Filling history dataframe for Mario Vrancic: 46/264 done\n", + "Filling history dataframe for David Brooks: 47/264 done\n", + "Filling history dataframe for Juan Mata: 48/264 done\n", + "Filling history dataframe for Manuel Lanzini: 49/264 done\n", + "Filling history dataframe for Youri Tielemans: 50/264 done\n", + "Filling history dataframe for Dwight McNeil: 51/264 done\n", + "Filling history dataframe for Emiliano Buendía: 52/264 done\n", + "Filling history dataframe for Pablo Fornals: 53/264 done\n", + "Filling history dataframe for Takumi Minamino: 54/264 done\n", + "Filling history dataframe for Junior Stanislas: 55/264 done\n", + "Filling history dataframe for Johann Berg Gudmundsson: 56/264 done\n", + "Filling history dataframe for Tanguy Ndombele: 57/264 done\n", + "Filling history dataframe for Miguel Almirón: 58/264 done\n", + "Filling history dataframe for Daniel James: 59/264 done\n", + "Filling history dataframe for Alireza Jahanbakhsh: 60/264 done\n", + "Filling history dataframe for Harry Wilson: 61/264 done\n", + "Filling history dataframe for Arnaut Danjuma Groeneveld: 62/264 done\n", + "Filling history dataframe for Leandro Trossard: 63/264 done\n", + "Filling history dataframe for Naby Keita: 64/264 done\n", + "Filling history dataframe for José Ignacio Peleteiro Romallo: 65/264 done\n", + "Filling history dataframe for Ross Barkley: 66/264 done\n", + "Filling history dataframe for Conor Hourihane: 67/264 done\n", + "Filling history dataframe for James Ward-Prowse: 68/264 done\n", + "Filling history dataframe for Erik Lamela: 69/264 done\n", + "Filling history dataframe for Adama Traoré: 70/264 done\n", + "Filling history dataframe for Adam Lallana: 71/264 done\n", + "Filling history dataframe for Andros Townsend: 72/264 done\n", + "Filling history dataframe for Roberto Pereyra: 73/264 done\n", + "Filling history dataframe for Alex Iwobi: 74/264 done\n", + "Filling history dataframe for Abdoulaye Doucouré: 75/264 done\n", + "Filling history dataframe for Rodrigo Hernandez: 76/264 done\n", + "Filling history dataframe for Alexis Mac Allister: 77/264 done\n", + "Filling history dataframe for Ashley Westwood: 78/264 done\n", + "Filling history dataframe for Sofiane Boufal: 79/264 done\n", + "Filling history dataframe for Robbie Brady: 80/264 done\n", + "Filling history dataframe for Steven Defour: 81/264 done\n", + "Filling history dataframe for Anwar El Ghazi: 82/264 done\n", + "Filling history dataframe for John McGinn: 83/264 done\n", + "Filling history dataframe for Jeffrey Schlupp: 84/264 done\n", + "Filling history dataframe for João Filipe Iria Santos Moutinho: 85/264 done\n", + "Filling history dataframe for Allan Saint-Maximin: 86/264 done\n", + "Filling history dataframe for Georginio Wijnaldum: 87/264 done\n", + "Filling history dataframe for Valentino Lazaro: 88/264 done\n", + "Filling history dataframe for Fabio Henrique Tavares: 89/264 done\n", + "Filling history dataframe for José Heriberto Izquierdo Mena: 90/264 done\n", + "Filling history dataframe for Ryan Sessegnon: 91/264 done\n", + "Filling history dataframe for Jeff Hendrick: 92/264 done\n", + "Filling history dataframe for Christian Atsu: 93/264 done\n", + "Filling history dataframe for Anthony Knockaert: 94/264 done\n", + "Filling history dataframe for Frederico Rodrigues de Paula Santos: 95/264 done\n", + "Filling history dataframe for Onel Hernández: 96/264 done\n", + "Filling history dataframe for James Milner: 97/264 done\n", + "Filling history dataframe for Jordan Henderson: 98/264 done\n", + "Filling history dataframe for Reiss Nelson: 99/264 done\n", + "Filling history dataframe for Will Hughes: 100/264 done\n", + "Filling history dataframe for Mateo Kovacic: 101/264 done\n", + "Filling history dataframe for Tom Davies: 102/264 done\n", + "Filling history dataframe for Dennis Praet: 103/264 done\n", + "Filling history dataframe for André Filipe Tavares Gomes: 104/264 done\n", + "Filling history dataframe for James McArthur: 105/264 done\n", + "Filling history dataframe for Ilkay Gündogan: 106/264 done\n", + "Filling history dataframe for Andriy Yarmolenko: 107/264 done\n", + "Filling history dataframe for Mohamed Elyounoussi: 108/264 done\n", + "Filling history dataframe for Daniel Ceballos Fernández: 109/264 done\n", + "Filling history dataframe for Robert Kenedy Nunes do Nascimento: 110/264 done\n", + "Filling history dataframe for Harry Winks: 111/264 done\n", + "Filling history dataframe for Max Meyer: 112/264 done\n", + "Filling history dataframe for Mahmoud Ahmed Ibrahim Hassan: 113/264 done\n", + "Filling history dataframe for Rúben Diogo da Silva Neves: 114/264 done\n", + "Filling history dataframe for Stuart Armstrong: 115/264 done\n", + "Filling history dataframe for Moussa Djenepo: 116/264 done\n", + "Filling history dataframe for Mark Duffy: 117/264 done\n", + "Filling history dataframe for Callum Hudson-Odoi: 118/264 done\n", + "Filling history dataframe for Robert Snodgrass: 119/264 done\n", + "Filling history dataframe for Fernando Luiz Rosa: 120/264 done\n", + "Filling history dataframe for Rachid Ghezzal: 121/264 done\n", + "Filling history dataframe for Marc Albrighton: 122/264 done\n", + "Filling history dataframe for Daniel Castelo Podence: 123/264 done\n", + "Filling history dataframe for Granit Xhaka: 124/264 done\n", + "Filling history dataframe for Phil Foden: 125/264 done\n", + "Filling history dataframe for Mark Noble: 126/264 done\n", + "Filling history dataframe for Lewis Cook: 127/264 done\n", + "Filling history dataframe for Luke Freeman: 128/264 done\n", + "Filling history dataframe for N'Golo Kanté: 129/264 done\n", + "Filling history dataframe for Patrick Roberts: 130/264 done\n", + "Filling history dataframe for Wilfred Ndidi: 131/264 done\n", + "Filling history dataframe for Idrissa Gueye: 132/264 done\n", + "Filling history dataframe for Georges-Kévin Nkoudou: 133/264 done\n", + "Filling history dataframe for Philip Billing: 134/264 done\n", + "Filling history dataframe for John Fleck: 135/264 done\n", + "Filling history dataframe for Sean Longstaff: 136/264 done\n", + "Filling history dataframe for Demarai Gray: 137/264 done\n", + "Filling history dataframe for Ademola Lookman: 138/264 done\n", + "Filling history dataframe for Pedro Lomba Neto: 139/264 done\n", + "Filling history dataframe for Yves Bissouma: 140/264 done\n", + "Filling history dataframe for Marco Stiepermann: 141/264 done\n", + "Filling history dataframe for Jonjo Shelvey: 142/264 done\n", + "Filling history dataframe for Ivan Cavaleiro: 143/264 done\n", + "Filling history dataframe for Dan Gosling: 144/264 done\n", + "Filling history dataframe for Scott McTominay: 145/264 done\n", + "Filling history dataframe for Jorge Luiz Frello Filho: 146/264 done\n", + "Filling history dataframe for Cheikhou Kouyaté: 147/264 done\n", + "Filling history dataframe for Tomas Soucek: 148/264 done\n", + "Filling history dataframe for Nabil Bentaleb: 149/264 done\n", + "Filling history dataframe for Callum Robinson: 150/264 done\n", + "Filling history dataframe for Oliver Norwood: 151/264 done\n", + "Filling history dataframe for Jack Cork: 152/264 done\n", + "Filling history dataframe for Josh Brownhill: 153/264 done\n", + "Filling history dataframe for Eric Dier: 154/264 done\n", + "Filling history dataframe for Moussa Sissoko: 155/264 done\n", + "Filling history dataframe for Davy Pröpper: 156/264 done\n", + "Filling history dataframe for Kenny McLean: 157/264 done\n", + "Filling history dataframe for Pierre-Emile Højbjerg: 158/264 done\n", + "Filling history dataframe for Sander Berge: 159/264 done\n", + "Filling history dataframe for Jefferson Lerma: 160/264 done\n", + "Filling history dataframe for Andreas Pereira: 161/264 done\n", + "Filling history dataframe for Nemanja Matic: 162/264 done\n", + "Filling history dataframe for Aaron Mooy: 163/264 done\n", + "Filling history dataframe for Jean-Philippe Gbamin: 164/264 done\n", + "Filling history dataframe for Hélder Costa: 165/264 done\n", + "Filling history dataframe for Tom Cleverley: 166/264 done\n", + "Filling history dataframe for Rolando Aarons: 167/264 done\n", + "Filling history dataframe for Andre Green: 168/264 done\n", + "Filling history dataframe for Etienne Capoue: 169/264 done\n", + "Filling history dataframe for Ken Sema: 170/264 done\n", + "Filling history dataframe for Ignacio Pussetto: 171/264 done\n", + "Filling history dataframe for Ondrej Duda: 172/264 done\n", + "Filling history dataframe for Sung-yueng Ki: 173/264 done\n", + "Filling history dataframe for Gedson Carvalho Fernandes: 174/264 done\n", + "Filling history dataframe for Declan Rice: 175/264 done\n", + "Filling history dataframe for Angel Gomes: 176/264 done\n", + "Filling history dataframe for Bukayo Saka: 177/264 done\n", + "Filling history dataframe for Ben Osborn: 178/264 done\n", + "Filling history dataframe for Victor Wanyama: 179/264 done\n", + "Filling history dataframe for Andrew Surman: 180/264 done\n", + "Filling history dataframe for Lucas Torreira: 181/264 done\n", + "Filling history dataframe for Todd Cantwell: 182/264 done\n", + "Filling history dataframe for Jacob Murphy: 183/264 done\n", + "Filling history dataframe for Morgan Gibbs-White: 184/264 done\n", + "Filling history dataframe for Joseph Willock: 185/264 done\n", + "Filling history dataframe for Aaron Lennon: 186/264 done\n", + "Filling history dataframe for Jordon Ibe: 187/264 done\n", + "Filling history dataframe for Jack Wilshere: 188/264 done\n", + "Filling history dataframe for Mario Lemina: 189/264 done\n", + "Filling history dataframe for Solomon March: 190/264 done\n", + "Filling history dataframe for Beni Baningime: 191/264 done\n", + "Filling history dataframe for Nya Kirby: 192/264 done\n", + "Filling history dataframe for Steven Alzate: 193/264 done\n", + "Filling history dataframe for Bruno André Cavaco Jordao: 194/264 done\n", + "Filling history dataframe for Lukas Rupp: 195/264 done\n", + "Filling history dataframe for Billy Gilmour: 196/264 done\n", + "Filling history dataframe for Ibrahim Amadou: 197/264 done\n", + "Filling history dataframe for Rafael Camacho: 198/264 done\n", + "Filling history dataframe for Alexander Tettey: 199/264 done\n", + "Filling history dataframe for Josh Martin: 200/264 done\n", + "Filling history dataframe for Jack Rodwell: 201/264 done\n", + "Filling history dataframe for Curtis Jones: 202/264 done\n", + "Filling history dataframe for Matthew Longstaff: 203/264 done\n", + "Filling history dataframe for Jairo Riedewald: 204/264 done\n", + "Filling history dataframe for Bernardo Costa Da Rosa: 205/264 done\n", + "Filling history dataframe for Harvey Elliott: 206/264 done\n", + "Filling history dataframe for Indiana Vassilev: 207/264 done\n", + "Filling history dataframe for Brandon Pierrick: 208/264 done\n", + "Filling history dataframe for Ravel Morrison: 209/264 done\n", + "Filling history dataframe for Víctor Camarasa: 210/264 done\n", + "Filling history dataframe for Harvey White: 211/264 done\n", + "Filling history dataframe for Taylor Perry: 212/264 done\n", + "Filling history dataframe for Pedro Obiang: 213/264 done\n", + "Filling history dataframe for Birkir Bjarnason: 214/264 done\n", + "Filling history dataframe for William Smallbone: 215/264 done\n", + "Filling history dataframe for Owen Otasowie: 216/264 done\n", + "Filling history dataframe for Faustino Anjorin: 217/264 done\n", + "Filling history dataframe for Nathan Tella: 218/264 done\n", + "Filling history dataframe for Luke Cundle: 219/264 done\n", + "Filling history dataframe for Mace Goodridge: 220/264 done\n", + "Filling history dataframe for Christian Saydee: 221/264 done\n", + "Filling history dataframe for Ayotomiwa Dele-Bashiru: 222/264 done\n", + "Filling history dataframe for Giovanni McGregor: 223/264 done\n", + "Filling history dataframe for Thomas Allan: 224/264 done\n", + "Filling history dataframe for Gavin Kilkenny: 225/264 done\n", + "Filling history dataframe for Isaac Hayden: 226/264 done\n", + "Filling history dataframe for Henri Lansbury: 227/264 done\n", + "Filling history dataframe for Luke Amos: 228/264 done\n", + "Filling history dataframe for Leander Dendoncker: 229/264 done\n", + "Filling history dataframe for Nathaniel Chalobah: 230/264 done\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Filling history dataframe for Andreas Pereira: 156/235 done\n", - "Filling history dataframe for Anthony Elanga: 157/235 done\n", - "Filling history dataframe for Jeff Hendrick: 158/235 done\n", - "Filling history dataframe for Jacob Murphy: 159/235 done\n", - "Filling history dataframe for Marco Stiepermann: 160/235 done\n", - "Filling history dataframe for Kenny McLean: 161/235 done\n", - "Filling history dataframe for Onel Hernández: 162/235 done\n", - "Filling history dataframe for Przemyslaw Placheta: 163/235 done\n", - "Filling history dataframe for Josh Martin: 164/235 done\n", - "Filling history dataframe for Pierre Lees-Melou: 165/235 done\n", - "Filling history dataframe for Christos Tzolis: 166/235 done\n", - "Filling history dataframe for Nathan Tella: 167/235 done\n", - "Filling history dataframe for Pierre-Emile Højbjerg: 168/235 done\n", - "Filling history dataframe for Dan Gosling: 169/235 done\n", - "Filling history dataframe for Tom Cleverley: 170/235 done\n", - "Filling history dataframe for Nathaniel Chalobah: 171/235 done\n", - "Filling history dataframe for Will Hughes: 172/235 done\n", - "Filling history dataframe for Declan Rice: 173/235 done\n", - "Filling history dataframe for João Filipe Iria Santos Moutinho: 174/235 done\n", - "Filling history dataframe for Leander Dendoncker: 175/235 done\n", - "Filling history dataframe for Ozan Tufan: 176/235 done\n", - "Filling history dataframe for Mohamed Naser El Sayed Elneny: 177/235 done\n", - "Filling history dataframe for Lucas Torreira: 178/235 done\n", - "Filling history dataframe for Mattéo Guendouzi: 179/235 done\n", - "Filling history dataframe for Marvelous Nakamba: 180/235 done\n", - "Filling history dataframe for Douglas Luiz Soares de Paulo: 181/235 done\n", - "Filling history dataframe for Jacob Ramsey: 182/235 done\n", - "Filling history dataframe for Aaron Ramsey: 183/235 done\n", - "Filling history dataframe for Carney Chukwuemeka: 184/235 done\n", - "Filling history dataframe for Jan Zamburek: 185/235 done\n", - "Filling history dataframe for Mads Bidstrup: 186/235 done\n", - "Filling history dataframe for Davy Pröpper: 187/235 done\n", - "Filling history dataframe for Yves Bissouma: 188/235 done\n", - "Filling history dataframe for Jakub Moder: 189/235 done\n", - "Filling history dataframe for Taylor Richards: 190/235 done\n", - "Filling history dataframe for Moisés Caicedo: 191/235 done\n", - "Filling history dataframe for Jack Cork: 192/235 done\n", - "Filling history dataframe for Dale Stephens: 193/235 done\n", - "Filling history dataframe for Josh Brownhill: 194/235 done\n", - "Filling history dataframe for Josh Benson: 195/235 done\n", - "Filling history dataframe for James McArthur: 196/235 done\n", - "Filling history dataframe for Jesurun Rak-Sakyi: 197/235 done\n", - "Filling history dataframe for Scott Banks: 198/235 done\n", - "Filling history dataframe for Fabian Delph: 199/235 done\n", - "Filling history dataframe for Allan Marques Loureiro: 200/235 done\n", - "Filling history dataframe for Anthony Gordon: 201/235 done\n", - "Filling history dataframe for Jean-Philippe Gbamin: 202/235 done\n", - "Filling history dataframe for Nampalys Mendy: 203/235 done\n", - "Filling history dataframe for Hamza Choudhury: 204/235 done\n", - "Filling history dataframe for Kiernan Dewsbury-Hall: 205/235 done\n", - "Filling history dataframe for Ian Carlo Poveda-Ocampo: 206/235 done\n", - "Filling history dataframe for Jamie Shackleton: 207/235 done\n", - "Filling history dataframe for Crysencio Summerville: 208/235 done\n", - "Filling history dataframe for Adam Forshaw: 209/235 done\n", - "Filling history dataframe for Ben Woodburn: 210/235 done\n", - "Filling history dataframe for Cole Palmer: 211/235 done\n", - "Filling history dataframe for Nemanja Matic: 212/235 done\n", - "Filling history dataframe for Isaac Hayden: 213/235 done\n", - "Filling history dataframe for Sean Longstaff: 214/235 done\n", - "Filling history dataframe for Matthew Longstaff: 215/235 done\n", - "Filling history dataframe for Billy Gilmour: 216/235 done\n", - "Filling history dataframe for Lukas Rupp: 217/235 done\n", - "Filling history dataframe for Oriol Romeu Vidal: 218/235 done\n", - "Filling history dataframe for William Smallbone: 219/235 done\n", - "Filling history dataframe for Ibrahima Diallo: 220/235 done\n", - "Filling history dataframe for Moussa Sissoko: 221/235 done\n", - "Filling history dataframe for Harry Winks: 222/235 done\n", - "Filling history dataframe for Oliver Skipp: 223/235 done\n", - "Filling history dataframe for Ayotomiwa Dele-Bashiru: 224/235 done\n", - "Filling history dataframe for Domingos Quina: 225/235 done\n", - "Filling history dataframe for Joseph Hungbo: 226/235 done\n", - "Filling history dataframe for Kwadwo Baah: 227/235 done\n", - "Filling history dataframe for Oghenekaro Peter Etebo: 228/235 done\n", - "Filling history dataframe for Mark Noble: 229/235 done\n", - "Filling history dataframe for Conor Coventry: 230/235 done\n", - "Filling history dataframe for Morgan Gibbs-White: 231/235 done\n", - "Filling history dataframe for Owen Otasowie: 232/235 done\n", - "Filling history dataframe for Luke Cundle: 233/235 done\n", - "Filling history dataframe for Chem Campbell: 234/235 done\n", - "Alpha is [ 7.54817451 7.47175218 54.43733826]\n" + "Filling history dataframe for Douglas Luiz Soares de Paulo: 231/264 done\n", + "Filling history dataframe for Nathan Holland: 232/264 done\n", + "Filling history dataframe for Mihai-Alexandru Dobre: 233/264 done\n", + "Filling history dataframe for Marvelous Nakamba: 234/264 done\n", + "Filling history dataframe for Morgan Schneiderlin: 235/264 done\n", + "Filling history dataframe for Daniel Drinkwater: 236/264 done\n", + "Filling history dataframe for Dale Stephens: 237/264 done\n", + "Filling history dataframe for Callum Slattery: 238/264 done\n", + "Filling history dataframe for Tyreke Johnson: 239/264 done\n", + "Filling history dataframe for Ethan Ampadu: 240/264 done\n", + "Filling history dataframe for Jack Colback: 241/264 done\n", + "Filling history dataframe for Carlos Sánchez: 242/264 done\n", + "Filling history dataframe for Moritz Leitner: 243/264 done\n", + "Filling history dataframe for Luke Dreher: 244/264 done\n", + "Filling history dataframe for Hamza Choudhury: 245/264 done\n", + "Filling history dataframe for Tahith Chong: 246/264 done\n", + "Filling history dataframe for Matty James: 247/264 done\n", + "Filling history dataframe for Keinan Davis: 248/264 done\n", + "Filling history dataframe for Nampalys Mendy: 249/264 done\n", + "Filling history dataframe for Oliver Skipp: 250/264 done\n", + "Filling history dataframe for James Garner: 251/264 done\n", + "Filling history dataframe for Tom Trybull: 252/264 done\n", + "Filling history dataframe for Emile Smith Rowe: 253/264 done\n", + "Filling history dataframe for Muhamed Bešić: 254/264 done\n", + "Filling history dataframe for Domingos Quina: 255/264 done\n", + "Filling history dataframe for Beram Kayal: 256/264 done\n", + "Filling history dataframe for Grady Diangana: 257/264 done\n", + "Filling history dataframe for James McCarthy: 258/264 done\n", + "Filling history dataframe for Oriol Romeu Vidal: 259/264 done\n", + "Filling history dataframe for Daniel Amartey: 260/264 done\n", + "Filling history dataframe for Matteo Guendouzi: 261/264 done\n", + "Filling history dataframe for Mohamed Elneny: 262/264 done\n", + "Filling history dataframe for Andy King: 263/264 done\n", + "Alpha is [ 5.2601544 5.34782364 38.97439743]\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ - "sample: 100%|███████| 4500/4500 [00:38<00:00, 118.21it/s, 15 steps of size 2.86e-01. acc. prob=0.87]\n" + "sample: 100%|████████████████████████████████| 4500/4500 [00:30<00:00, 146.71it/s, 15 steps of size 2.82e-01. acc. prob=0.86]\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Filling history dataframe for Trent Alexander-Arnold: 0/190 done\n", - "Filling history dataframe for Andrew Robertson: 1/190 done\n", - "Filling history dataframe for Virgil van Dijk: 2/190 done\n", - "Filling history dataframe for César Azpilicueta: 3/190 done\n", - "Filling history dataframe for Benjamin Chilwell: 4/190 done\n", - "Filling history dataframe for João Pedro Cavaco Cancelo: 5/190 done\n", - "Filling history dataframe for Rúben Santos Gato Alves Dias: 6/190 done\n", - "Filling history dataframe for Marcos Alonso: 7/190 done\n", - "Filling history dataframe for Thiago Emiliano da Silva: 8/190 done\n", - "Filling history dataframe for Antonio Rüdiger: 9/190 done\n", - "Filling history dataframe for Kurt Zouma: 10/190 done\n", - "Filling history dataframe for Reece James: 11/190 done\n", - "Filling history dataframe for Lucas Digne: 12/190 done\n", - "Filling history dataframe for Jonny Evans: 13/190 done\n", - "Filling history dataframe for Ricardo Domingos Barbosa Pereira: 14/190 done\n", - "Filling history dataframe for Timothy Castagne: 15/190 done\n", - "Filling history dataframe for Kyle Walker: 16/190 done\n", - "Filling history dataframe for John Stones: 17/190 done\n", - "Filling history dataframe for Benjamin Mendy: 18/190 done\n", - "Filling history dataframe for Aymeric Laporte: 19/190 done\n", - "Filling history dataframe for Oleksandr Zinchenko: 20/190 done\n", - "Filling history dataframe for Harry Maguire: 21/190 done\n", - "Filling history dataframe for Luke Shaw: 22/190 done\n", - "Filling history dataframe for Aaron Wan-Bissaka: 23/190 done\n", - "Filling history dataframe for Aaron Cresswell: 24/190 done\n", - "Filling history dataframe for Raphaël Varane: 25/190 done\n", - "Filling history dataframe for Ibrahima Konaté: 26/190 done\n", - "Filling history dataframe for Kieran Tierney: 27/190 done\n", - "Filling history dataframe for Gabriel Magalhães: 28/190 done\n", - "Filling history dataframe for Tyrone Mings: 29/190 done\n", - "Filling history dataframe for Matt Targett: 30/190 done\n", - "Filling history dataframe for Matthew Cash: 31/190 done\n", - "Filling history dataframe for Ezri Konsa Ngoyo: 32/190 done\n", - "Filling history dataframe for Ashley Young: 33/190 done\n", - "Filling history dataframe for Lewis Dunk: 34/190 done\n", - "Filling history dataframe for James Tarkowski: 35/190 done\n", - "Filling history dataframe for Ben Mee: 36/190 done\n", - "Filling history dataframe for Andreas Christensen: 37/190 done\n", - "Filling history dataframe for Malang Sarr: 38/190 done\n", - "Filling history dataframe for Trevoh Chalobah: 39/190 done\n", - "Filling history dataframe for Seamus Coleman: 40/190 done\n", - "Filling history dataframe for Michael Keane: 41/190 done\n", - "Filling history dataframe for Yerry Mina: 42/190 done\n", - "Filling history dataframe for Ben Godfrey: 43/190 done\n", - "Filling history dataframe for Çaglar Söyüncü: 44/190 done\n", - "Filling history dataframe for James Justin: 45/190 done\n", - "Filling history dataframe for Jannik Vestergaard: 46/190 done\n", - "Filling history dataframe for Ryan Bertrand: 47/190 done\n", - "Filling history dataframe for Héctor Junior Firpo Adames: 48/190 done\n", - "Filling history dataframe for Joel Matip: 49/190 done\n", - "Filling history dataframe for Joseph Gomez: 50/190 done\n", - "Filling history dataframe for Nathan Aké: 51/190 done\n", - "Filling history dataframe for Alex Nicolao Telles: 52/190 done\n", - "Filling history dataframe for Victor Lindelöf: 53/190 done\n", - "Filling history dataframe for Eric Bailly: 54/190 done\n", - "Filling history dataframe for Matt Ritchie: 55/190 done\n", - "Filling history dataframe for Kyle Walker-Peters: 56/190 done\n", - "Filling history dataframe for Romain Perraud: 57/190 done\n", - "Filling history dataframe for Toby Alderweireld: 58/190 done\n", - "Filling history dataframe for Serge Aurier: 59/190 done\n", - "Filling history dataframe for Matt Doherty: 60/190 done\n", - "Filling history dataframe for Sergio Reguilón: 61/190 done\n", - "Filling history dataframe for Cristian Romero: 62/190 done\n", - "Filling history dataframe for Angelo Ogbonna: 63/190 done\n", - "Filling history dataframe for Craig Dawson: 64/190 done\n", - "Filling history dataframe for Vladimir Coufal: 65/190 done\n", - "Filling history dataframe for Willy Boly: 66/190 done\n", - "Filling history dataframe for Romain Saïss: 67/190 done\n", - "Filling history dataframe for Nélson Cabral Semedo: 68/190 done\n", - "Filling history dataframe for Héctor Bellerín: 69/190 done\n", - "Filling history dataframe for Cédric Soares: 70/190 done\n", - "Filling history dataframe for Pablo Marí: 71/190 done\n", - "Filling history dataframe for Calum Chambers: 72/190 done\n", - "Filling history dataframe for Sead Kolasinac: 73/190 done\n", - "Filling history dataframe for Konstantinos Mavropanos: 74/190 done\n", - "Filling history dataframe for William Saliba: 75/190 done\n", - "Filling history dataframe for Ben White: 76/190 done\n", - "Filling history dataframe for Nuno Varela Tavares: 77/190 done\n", - "Filling history dataframe for Björn Engels: 78/190 done\n", - "Filling history dataframe for Kortney Hause: 79/190 done\n", - "Filling history dataframe for Frédéric Guilbert: 80/190 done\n", - "Filling history dataframe for Axel Tuanzebe: 81/190 done\n", - "Filling history dataframe for Pontus Jansson: 82/190 done\n", - "Filling history dataframe for Rico Henry: 83/190 done\n", - "Filling history dataframe for Mads Roerslev Rasmussen: 84/190 done\n", - "Filling history dataframe for Mads Bech Sørensen: 85/190 done\n", - "Filling history dataframe for Ethan Pinnock: 86/190 done\n", - "Filling history dataframe for Kristoffer Ajer: 87/190 done\n", - "Filling history dataframe for Dominic Thompson: 88/190 done\n", - "Filling history dataframe for Dan Burn: 89/190 done\n", - "Filling history dataframe for Adam Webster: 90/190 done\n", - "Filling history dataframe for Joël Veltman: 91/190 done\n", - "Filling history dataframe for Tariq Lamptey: 92/190 done\n", - "Filling history dataframe for Erik Pieters: 93/190 done\n", - "Filling history dataframe for Matthew Lowton: 94/190 done\n", - "Filling history dataframe for Charlie Taylor: 95/190 done\n", - "Filling history dataframe for Nathan Collins: 96/190 done\n", - "Filling history dataframe for Ethan Ampadu: 97/190 done\n", - "Filling history dataframe for Emerson Palmieri dos Santos: 98/190 done\n", - "Filling history dataframe for James Tomkins: 99/190 done\n", - "Filling history dataframe for Cheikhou Kouyaté: 100/190 done\n", - "Filling history dataframe for Jarosław Jach: 101/190 done\n", - "Filling history dataframe for Nathan Ferguson: 102/190 done\n", - "Filling history dataframe for Tyrick Mitchell: 103/190 done\n", - "Filling history dataframe for Joel Ward: 104/190 done\n", - "Filling history dataframe for Marc Guéhi: 105/190 done\n", - "Filling history dataframe for Joachim Andersen: 106/190 done\n", - "Filling history dataframe for Nathaniel Clyne: 107/190 done\n", - "Filling history dataframe for Mason Holgate: 108/190 done\n", - "Filling history dataframe for Jonjoe Kenny: 109/190 done\n", - "Filling history dataframe for Luke Thomas: 110/190 done\n", - "Filling history dataframe for Wesley Fofana: 111/190 done\n", - "Filling history dataframe for Liam Cooper: 112/190 done\n", - "Filling history dataframe for Luke Ayling: 113/190 done\n", - "Filling history dataframe for Diego Llorente: 114/190 done\n", - "Filling history dataframe for Robin Koch: 115/190 done\n", - "Filling history dataframe for Pascal Struijk: 116/190 done\n", - "Filling history dataframe for Nathaniel Phillips: 117/190 done\n", - "Filling history dataframe for Rhys Williams: 118/190 done\n", - "Filling history dataframe for José Diogo Dalot Teixeira: 119/190 done\n", - "Filling history dataframe for Ciaran Clark: 120/190 done\n", - "Filling history dataframe for Jamaal Lascelles: 121/190 done\n", - "Filling history dataframe for Paul Dummett: 122/190 done\n", - "Filling history dataframe for Emil Krafth: 123/190 done\n", - "Filling history dataframe for Fabian Schär: 124/190 done\n", - "Filling history dataframe for Jamal Lewis: 125/190 done\n", - "Filling history dataframe for Federico Fernández: 126/190 done\n", - "Filling history dataframe for Grant Hanley: 127/190 done\n", - "Filling history dataframe for Sam Byram: 128/190 done\n", - "Filling history dataframe for Christoph Zimmermann: 129/190 done\n", - "Filling history dataframe for Max Aarons: 130/190 done\n", - "Filling history dataframe for Jacob Sørensen: 131/190 done\n", - "Filling history dataframe for Ben Gibson: 132/190 done\n", - "Filling history dataframe for Dimitris Giannoulis: 133/190 done\n", - "Filling history dataframe for Jack Stephens: 134/190 done\n", - "Filling history dataframe for Jan Bednarek: 135/190 done\n", - "Filling history dataframe for Mohammed Salisu: 136/190 done\n", - "Filling history dataframe for Eric Dier: 137/190 done\n", - "Filling history dataframe for Ben Davies: 138/190 done\n", - "Filling history dataframe for Davinson Sánchez: 139/190 done\n", - "Filling history dataframe for Ryan Sessegnon: 140/190 done\n", - "Filling history dataframe for Japhet Tanganga: 141/190 done\n", - "Filling history dataframe for Joe Rodon: 142/190 done\n", - "Filling history dataframe for Danny Rose: 143/190 done\n", - "Filling history dataframe for Craig Cathcart: 144/190 done\n", - "Filling history dataframe for Francisco Femenía Far: 145/190 done\n", - "Filling history dataframe for Christian Kabasele: 146/190 done\n", - "Filling history dataframe for William Troost-Ekong: 147/190 done\n", - "Filling history dataframe for Adam Masina: 148/190 done\n", - "Filling history dataframe for Francisco Sierralta: 149/190 done\n", - "Filling history dataframe for Jeremy Ngakia: 150/190 done\n", - "Filling history dataframe for Ben Wilmot: 151/190 done\n", - "Filling history dataframe for Ryan Fredericks: 152/190 done\n", - "Filling history dataframe for Arthur Masuaku: 153/190 done\n", - "Filling history dataframe for Issa Diop: 154/190 done\n", - "Filling history dataframe for Conor Coady: 155/190 done\n", - "Filling history dataframe for Fernando Marçal: 156/190 done\n", - "Filling history dataframe for Jonathan Castro Otto: 157/190 done\n", - "Filling history dataframe for Max Kilman: 158/190 done\n", - "Filling history dataframe for Yerson Mosquera Valdelamar: 159/190 done\n", - "Filling history dataframe for Rayan Ait Nouri: 160/190 done\n", - "Filling history dataframe for Rob Holding: 161/190 done\n", - "Filling history dataframe for Konstantinos Tsimikas: 162/190 done\n", - "Filling history dataframe for Charlie Goode: 163/190 done\n", - "Filling history dataframe for Shane Duffy: 164/190 done\n", - "Filling history dataframe for Bernardo Fernandes Da Silva Junior: 165/190 done\n", - "Filling history dataframe for Michal Karbownik: 166/190 done\n", - "Filling history dataframe for Phil Bardsley: 167/190 done\n", - "Filling history dataframe for Kevin Long: 168/190 done\n", - "Filling history dataframe for Bobby Thomas: 169/190 done\n", - "Filling history dataframe for Martin Kelly: 170/190 done\n", - "Filling history dataframe for Reece Hannam: 171/190 done\n", - "Filling history dataframe for Jarrad Branthwaite: 172/190 done\n", - "Filling history dataframe for Daniel Amartey: 173/190 done\n", - "Filling history dataframe for Neco Williams: 174/190 done\n", - "Filling history dataframe for Ben Davies: 175/190 done\n", - "Filling history dataframe for Brandon Williams: 176/190 done\n", - "Filling history dataframe for Javier Manquillo: 177/190 done\n", - "Filling history dataframe for Andrew Omobamidele: 178/190 done\n", - "Filling history dataframe for Bali Mumba: 179/190 done\n", - "Filling history dataframe for Tino Livramento: 180/190 done\n", - "Filling history dataframe for Yan Valery: 181/190 done\n", - "Filling history dataframe for Marc Navarro: 182/190 done\n", - "Filling history dataframe for Matthew Pollock: 183/190 done\n", - "Filling history dataframe for Winston Reid: 184/190 done\n", - "Filling history dataframe for Ben Johnson: 185/190 done\n", - "Filling history dataframe for Frederik Alves: 186/190 done\n", - "Filling history dataframe for Jamal Baptiste: 187/190 done\n", - "Filling history dataframe for Ki-Jana Hoever: 188/190 done\n", - "Filling history dataframe for Christian Marques: 189/190 done\n" + "Filling history dataframe for Trent Alexander-Arnold: 0/215 done\n", + "Filling history dataframe for Andrew Robertson: 1/215 done\n", + "Filling history dataframe for Virgil van Dijk: 2/215 done\n", + "Filling history dataframe for Aymeric Laporte: 3/215 done\n", + "Filling history dataframe for Ricardo Domingos Barbosa Pereira: 4/215 done\n", + "Filling history dataframe for Matt Doherty: 5/215 done\n", + "Filling history dataframe for Marcos Alonso: 6/215 done\n", + "Filling history dataframe for Antonio Rüdiger: 7/215 done\n", + "Filling history dataframe for César Azpilicueta: 8/215 done\n", + "Filling history dataframe for Lucas Digne: 9/215 done\n", + "Filling history dataframe for David Luiz Moreira Marinho: 10/215 done\n", + "Filling history dataframe for Patrick van Aanholt: 11/215 done\n", + "Filling history dataframe for Kyle Walker: 12/215 done\n", + "Filling history dataframe for Benjamin Mendy: 13/215 done\n", + "Filling history dataframe for Benjamin Chilwell: 14/215 done\n", + "Filling history dataframe for Héctor Bellerín: 15/215 done\n", + "Filling history dataframe for Kieran Trippier: 16/215 done\n", + "Filling history dataframe for Emerson Palmieri dos Santos: 17/215 done\n", + "Filling history dataframe for Luke Shaw: 18/215 done\n", + "Filling history dataframe for Ashley Young: 19/215 done\n", + "Filling history dataframe for Jonathan Castro Otto: 20/215 done\n", + "Filling history dataframe for Victor Lindelöf: 21/215 done\n", + "Filling history dataframe for Fabian Delph: 22/215 done\n", + "Filling history dataframe for Joseph Gomez: 23/215 done\n", + "Filling history dataframe for Kieran Tierney: 24/215 done\n", + "Filling history dataframe for Matt Ritchie: 25/215 done\n", + "Filling history dataframe for Davinson Sánchez: 26/215 done\n", + "Filling history dataframe for Dejan Lovren: 27/215 done\n", + "Filling history dataframe for Jonny Evans: 28/215 done\n", + "Filling history dataframe for Danny Rose: 29/215 done\n", + "Filling history dataframe for Ben Davies: 30/215 done\n", + "Filling history dataframe for Yerry Mina: 31/215 done\n", + "Filling history dataframe for Seamus Coleman: 32/215 done\n", + "Filling history dataframe for Harry Maguire: 33/215 done\n", + "Filling history dataframe for John Stones: 34/215 done\n", + "Filling history dataframe for Toby Alderweireld: 35/215 done\n", + "Filling history dataframe for Aaron Wan-Bissaka: 36/215 done\n", + "Filling history dataframe for Oleksandr Zinchenko: 37/215 done\n", + "Filling history dataframe for Michael Keane: 38/215 done\n", + "Filling history dataframe for Sead Kolasinac: 39/215 done\n", + "Filling history dataframe for Joel Matip: 40/215 done\n", + "Filling history dataframe for Jan Vertonghen: 41/215 done\n", + "Filling history dataframe for James Tarkowski: 42/215 done\n", + "Filling history dataframe for Chris Smalling: 43/215 done\n", + "Filling history dataframe for Enda Stevens: 44/215 done\n", + "Filling history dataframe for Shkodran Mustafi: 45/215 done\n", + "Filling history dataframe for João Pedro Cavaco Cancelo: 46/215 done\n", + "Filling history dataframe for Reece James: 47/215 done\n", + "Filling history dataframe for George Baldock: 48/215 done\n", + "Filling history dataframe for Conor Coady: 49/215 done\n", + "Filling history dataframe for Djibril Sidibé: 50/215 done\n", + "Filling history dataframe for Laurent Koscielny: 51/215 done\n", + "Filling history dataframe for Nacho Monreal: 52/215 done\n", + "Filling history dataframe for James Tomkins: 53/215 done\n", + "Filling history dataframe for Danilo Luiz da Silva: 54/215 done\n", + "Filling history dataframe for Mamadou Sakho: 55/215 done\n", + "Filling history dataframe for Steve Cook: 56/215 done\n", + "Filling history dataframe for Fabian Schär: 57/215 done\n", + "Filling history dataframe for Ben Mee: 58/215 done\n", + "Filling history dataframe for José Diogo Dalot Teixeira: 59/215 done\n", + "Filling history dataframe for Çaglar Söyüncü: 60/215 done\n", + "Filling history dataframe for Nicolás Otamendi: 61/215 done\n", + "Filling history dataframe for John Lundstram: 62/215 done\n", + "Filling history dataframe for Eric Bailly: 63/215 done\n", + "Filling history dataframe for Serge Aurier: 64/215 done\n", + "Filling history dataframe for Matteo Darmian: 65/215 done\n", + "Filling history dataframe for Leighton Baines: 66/215 done\n", + "Filling history dataframe for Willy Boly: 67/215 done\n", + "Filling history dataframe for Sokratis Papastathopoulos: 68/215 done\n", + "Filling history dataframe for Juan Foyth: 69/215 done\n", + "Filling history dataframe for Ryan Bertrand: 70/215 done\n", + "Filling history dataframe for Pablo Marí: 71/215 done\n", + "Filling history dataframe for Shane Duffy: 72/215 done\n", + "Filling history dataframe for Marcos Rojo: 73/215 done\n", + "Filling history dataframe for Nathan Aké: 74/215 done\n", + "Filling history dataframe for Craig Dawson: 75/215 done\n", + "Filling history dataframe for Andreas Christensen: 76/215 done\n", + "Filling history dataframe for Cédric Soares: 77/215 done\n", + "Filling history dataframe for Ryan Bennett: 78/215 done\n", + "Filling history dataframe for Lewis Dunk: 79/215 done\n", + "Filling history dataframe for James Justin: 80/215 done\n", + "Filling history dataframe for Jack O'Connell: 81/215 done\n", + "Filling history dataframe for Kurt Zouma: 82/215 done\n", + "Filling history dataframe for Phil Jones: 83/215 done\n", + "Filling history dataframe for Jesús Vallejo Lázaro: 84/215 done\n", + "Filling history dataframe for John Egan: 85/215 done\n", + "Filling history dataframe for Federico Fernández: 86/215 done\n", + "Filling history dataframe for José Holebas: 87/215 done\n", + "Filling history dataframe for Chris Basham: 88/215 done\n", + "Filling history dataframe for Yan Valery: 89/215 done\n", + "Filling history dataframe for Romain Saïss: 90/215 done\n", + "Filling history dataframe for José Ángel Esmorís Tasende: 91/215 done\n", + "Filling history dataframe for Angelo Ogbonna: 92/215 done\n", + "Filling history dataframe for Carl Jenkinson: 93/215 done\n", + "Filling history dataframe for Ainsley Maitland-Niles: 94/215 done\n", + "Filling history dataframe for Dan Burn: 95/215 done\n", + "Filling history dataframe for Jannik Vestergaard: 96/215 done\n", + "Filling history dataframe for Adam Webster: 97/215 done\n", + "Filling history dataframe for Aaron Cresswell: 98/215 done\n", + "Filling history dataframe for Panagiotis Retsos: 99/215 done\n", + "Filling history dataframe for Eric Garcia: 100/215 done\n", + "Filling history dataframe for Rob Holding: 101/215 done\n", + "Filling history dataframe for Jack Stephens: 102/215 done\n", + "Filling history dataframe for Jamal Lewis: 103/215 done\n", + "Filling history dataframe for Matt Targett: 104/215 done\n", + "Filling history dataframe for Ryan Fredericks: 105/215 done\n", + "Filling history dataframe for Ben Godfrey: 106/215 done\n", + "Filling history dataframe for Simon Francis: 107/215 done\n", + "Filling history dataframe for Frédéric Guilbert: 108/215 done\n", + "Filling history dataframe for Gary Cahill: 109/215 done\n", + "Filling history dataframe for Kyle Walker-Peters: 110/215 done\n", + "Filling history dataframe for DeAndre Yedlin: 111/215 done\n", + "Filling history dataframe for Axel Tuanzebe: 112/215 done\n", + "Filling history dataframe for Kortney Hause: 113/215 done\n", + "Filling history dataframe for Tyrone Mings: 114/215 done\n", + "Filling history dataframe for Christoph Zimmermann: 115/215 done\n", + "Filling history dataframe for Lloyd Kelly: 116/215 done\n", + "Filling history dataframe for Florian Lejeune: 117/215 done\n", + "Filling history dataframe for Jan Bednarek: 118/215 done\n", + "Filling history dataframe for Leon Balogun: 119/215 done\n", + "Filling history dataframe for Javier Manquillo: 120/215 done\n", + "Filling history dataframe for Bjorn Engels: 121/215 done\n", + "Filling history dataframe for Jack Stacey: 122/215 done\n", + "Filling history dataframe for Kevin Long: 123/215 done\n", + "Filling history dataframe for Joel Ward: 124/215 done\n", + "Filling history dataframe for Phil Bardsley: 125/215 done\n", + "Filling history dataframe for Matthew Clarke: 126/215 done\n", + "Filling history dataframe for Calum Chambers: 127/215 done\n", + "Filling history dataframe for Mason Holgate: 128/215 done\n", + "Filling history dataframe for Paul Dummett: 129/215 done\n", + "Filling history dataframe for Konstantinos Mavropanos: 130/215 done\n", + "Filling history dataframe for Adam Masina: 131/215 done\n", + "Filling history dataframe for Bernardo Fernandes da Silva Junior: 132/215 done\n", + "Filling history dataframe for Christian Kabasele: 133/215 done\n", + "Filling history dataframe for Maximillian Aarons: 134/215 done\n", + "Filling history dataframe for Fabián Balbuena: 135/215 done\n", + "Filling history dataframe for Adam Smith: 136/215 done\n", + "Filling history dataframe for Timm Klose: 137/215 done\n", + "Filling history dataframe for Emil Krafth: 138/215 done\n", + "Filling history dataframe for Martín Montoya: 139/215 done\n", + "Filling history dataframe for Ezri Konsa Ngoyo: 140/215 done\n", + "Filling history dataframe for Jamaal Lascelles: 141/215 done\n", + "Filling history dataframe for Issa Diop: 142/215 done\n", + "Filling history dataframe for Ciaran Clark: 143/215 done\n", + "Filling history dataframe for Jetro Willems: 144/215 done\n", + "Filling history dataframe for Chris Mepham: 145/215 done\n", + "Filling history dataframe for Sam Byram: 146/215 done\n", + "Filling history dataframe for Charlie Taylor: 147/215 done\n", + "Filling history dataframe for Craig Cathcart: 148/215 done\n", + "Filling history dataframe for Scott Dann: 149/215 done\n", + "Filling history dataframe for Brandon Williams: 150/215 done\n", + "Filling history dataframe for Charlie Daniels: 151/215 done\n", + "Filling history dataframe for Matthew Lowton: 152/215 done\n", + "Filling history dataframe for Adrian Mariappa: 153/215 done\n", + "Filling history dataframe for Francisco Femenía Far: 154/215 done\n", + "Filling history dataframe for Erik Pieters: 155/215 done\n", + "Filling history dataframe for James Chester: 156/215 done\n", + "Filling history dataframe for Wesley Hoedt: 157/215 done\n", + "Filling history dataframe for Fikayo Tomori: 158/215 done\n", + "Filling history dataframe for Diego Rico: 159/215 done\n", + "Filling history dataframe for Kieron Freeman: 160/215 done\n", + "Filling history dataframe for Rúben Gonçalo Silva Nascimento Vinagre: 161/215 done\n", + "Filling history dataframe for Lewis Gibson: 162/215 done\n", + "Filling history dataframe for Christian Fuchs: 163/215 done\n", + "Filling history dataframe for Gaëtan Bong: 164/215 done\n", + "Filling history dataframe for Neil Taylor: 165/215 done\n", + "Filling history dataframe for Davide Zappacosta: 166/215 done\n", + "Filling history dataframe for Kevin Danso: 167/215 done\n", + "Filling history dataframe for Japhet Tanganga: 168/215 done\n", + "Filling history dataframe for Martin Kelly: 169/215 done\n", + "Filling history dataframe for Arthur Masuaku: 170/215 done\n", + "Filling history dataframe for Ahmed El Mohamady: 171/215 done\n", + "Filling history dataframe for Phil Jagielka: 172/215 done\n", + "Filling history dataframe for Grant Hanley: 173/215 done\n", + "Filling history dataframe for Wes Morgan: 174/215 done\n", + "Filling history dataframe for Pablo Zabaleta: 175/215 done\n", + "Filling history dataframe for Maya Yoshida: 176/215 done\n", + "Filling history dataframe for Ki-Jana Hoever: 177/215 done\n", + "Filling history dataframe for Rhu-endly Martina: 178/215 done\n", + "Filling history dataframe for Liam Gibson: 179/215 done\n", + "Filling history dataframe for Bobby Thomas: 180/215 done\n", + "Filling history dataframe for Tariq Lamptey: 181/215 done\n", + "Filling history dataframe for Nikola Tavares: 182/215 done\n", + "Filling history dataframe for Jimmy Dunne: 183/215 done\n", + "Filling history dataframe for Tudor Baluta: 184/215 done\n", + "Filling history dataframe for Daryl Janmaat: 185/215 done\n", + "Filling history dataframe for Ezequiel Schelotto: 186/215 done\n", + "Filling history dataframe for Jeremy Ngakia: 187/215 done\n", + "Filling history dataframe for Oskar Buur: 188/215 done\n", + "Filling history dataframe for Ben Johnson: 189/215 done\n", + "Filling history dataframe for Jarrad Branthwaite: 190/215 done\n", + "Filling history dataframe for Tyrick Mitchell: 191/215 done\n", + "Filling history dataframe for Zech Medley: 192/215 done\n", + "Filling history dataframe for Jack Robinson: 193/215 done\n", + "Filling history dataframe for Gonçalo Bento Soares Cardoso: 194/215 done\n", + "Filling history dataframe for Neco Williams: 195/215 done\n", + "Filling history dataframe for Abd-Al-Ali Morakinyo Olaposi Koiki: 196/215 done\n", + "Filling history dataframe for Marc Navarro: 197/215 done\n", + "Filling history dataframe for Kayne Ramsay: 198/215 done\n", + "Filling history dataframe for Dimitri Foulquier: 199/215 done\n", + "Filling history dataframe for Sam Woods: 200/215 done\n", + "Filling history dataframe for Nathaniel Phillips: 201/215 done\n", + "Filling history dataframe for Jack Simpson: 202/215 done\n", + "Filling history dataframe for Ben Gibson: 203/215 done\n", + "Filling history dataframe for Richard Stearman: 204/215 done\n", + "Filling history dataframe for Akin Famewo: 205/215 done\n", + "Filling history dataframe for Philip Heise: 206/215 done\n", + "Filling history dataframe for Filip Benkovic: 207/215 done\n", + "Filling history dataframe for Addji Keaninkin Marc-Israel Guehi: 208/215 done\n", + "Filling history dataframe for Max Kilman: 209/215 done\n", + "Filling history dataframe for Anthony Driscoll-Glennon: 210/215 done\n", + "Filling history dataframe for Winston Reid: 211/215 done\n", + "Filling history dataframe for Ryan Giles: 212/215 done\n", + "Filling history dataframe for Kelland Watts: 213/215 done\n", + "Filling history dataframe for Sebastian Prödl: 214/215 done\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\r", + " 0%| | 0/4500 [00:00" ] @@ -911,7 +984,7 @@ }, { "cell_type": "code", - "execution_count": 68, + "execution_count": 31, "id": "0f489bb8", "metadata": {}, "outputs": [ @@ -944,74 +1017,74 @@ " \n", " \n", " \n", - " 7\n", + " 31\n", " Danny Ings\n", - " 0.436873\n", - " 0.130375\n", - " 0.432752\n", + " 0.454116\n", + " 0.129237\n", + " 0.416646\n", " \n", " \n", - " 17\n", - " Chris Wood\n", - " 0.388932\n", - " 0.114705\n", - " 0.496363\n", + " 50\n", + " Sergio Agüero\n", + " 0.404437\n", + " 0.169283\n", + " 0.426280\n", " \n", " \n", " 0\n", " Pierre-Emerick Aubameyang\n", - " 0.381876\n", - " 0.126520\n", - " 0.491604\n", + " 0.403909\n", + " 0.124494\n", + " 0.471597\n", " \n", " \n", - " 19\n", - " Olivier Giroud\n", - " 0.369597\n", - " 0.160919\n", - " 0.469483\n", + " 18\n", + " Jamie Vardy\n", + " 0.390709\n", + " 0.132325\n", + " 0.476966\n", " \n", " \n", - " 22\n", - " Tammy Abraham\n", - " 0.358690\n", - " 0.154996\n", - " 0.486315\n", + " 43\n", + " Glenn Murray\n", + " 0.378511\n", + " 0.098740\n", + " 0.522748\n", " \n", " \n", - " 37\n", - " Anthony Martial\n", - " 0.356678\n", - " 0.208722\n", - " 0.434600\n", + " 10\n", + " Chris Wood\n", + " 0.375017\n", + " 0.111557\n", + " 0.513426\n", " \n", " \n", - " 28\n", - " Jamie Vardy\n", - " 0.355681\n", - " 0.164261\n", - " 0.480058\n", + " 14\n", + " Tammy Abraham\n", + " 0.372469\n", + " 0.157403\n", + " 0.470128\n", " \n", " \n", - " 26\n", - " Dominic Calvert-Lewin\n", - " 0.355371\n", - " 0.137975\n", - " 0.506653\n", + " 37\n", + " Andre Gray\n", + " 0.371113\n", + " 0.150416\n", + " 0.478471\n", " \n", " \n", - " 64\n", - " Raúl Jiménez\n", - " 0.355177\n", - " 0.182946\n", - " 0.461878\n", + " 84\n", + " Javier Hernández Balcázar\n", + " 0.361493\n", + " 0.170029\n", + " 0.468478\n", " \n", " \n", - " 51\n", - " Harry Kane\n", - " 0.352092\n", - " 0.142769\n", - " 0.505139\n", + " 17\n", + " Dominic Calvert-Lewin\n", + " 0.361457\n", + " 0.134563\n", + " 0.503980\n", " \n", " \n", "\n", @@ -1019,19 +1092,19 @@ ], "text/plain": [ " name prob_score prob_assist prob_neither\n", - "7 Danny Ings 0.436873 0.130375 0.432752\n", - "17 Chris Wood 0.388932 0.114705 0.496363\n", - "0 Pierre-Emerick Aubameyang 0.381876 0.126520 0.491604\n", - "19 Olivier Giroud 0.369597 0.160919 0.469483\n", - "22 Tammy Abraham 0.358690 0.154996 0.486315\n", - "37 Anthony Martial 0.356678 0.208722 0.434600\n", - "28 Jamie Vardy 0.355681 0.164261 0.480058\n", - "26 Dominic Calvert-Lewin 0.355371 0.137975 0.506653\n", - "64 Raúl Jiménez 0.355177 0.182946 0.461878\n", - "51 Harry Kane 0.352092 0.142769 0.505139" + "31 Danny Ings 0.454116 0.129237 0.416646\n", + "50 Sergio Agüero 0.404437 0.169283 0.426280\n", + "0 Pierre-Emerick Aubameyang 0.403909 0.124494 0.471597\n", + "18 Jamie Vardy 0.390709 0.132325 0.476966\n", + "43 Glenn Murray 0.378511 0.098740 0.522748\n", + "10 Chris Wood 0.375017 0.111557 0.513426\n", + "14 Tammy Abraham 0.372469 0.157403 0.470128\n", + "37 Andre Gray 0.371113 0.150416 0.478471\n", + "84 Javier Hernández Balcázar 0.361493 0.170029 0.468478\n", + "17 Dominic Calvert-Lewin 0.361457 0.134563 0.503980" ] }, - "execution_count": 68, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -1042,7 +1115,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 32, "id": "baf0899a", "metadata": {}, "outputs": [ @@ -1075,94 +1148,94 @@ " \n", " \n", " \n", - " 115\n", - " Mohamed Salah\n", - " 0.273350\n", - " 0.142621\n", - " 0.584029\n", + " 87\n", + " Anthony Martial\n", + " 0.291641\n", + " 0.137793\n", + " 0.570566\n", " \n", " \n", - " 118\n", - " Diogo Jota\n", - " 0.269251\n", - " 0.148342\n", - " 0.582406\n", + " 51\n", + " Richarlison de Andrade\n", + " 0.267265\n", + " 0.125991\n", + " 0.606744\n", " \n", " \n", - " 113\n", + " 68\n", " Sadio Mané\n", - " 0.252084\n", - " 0.136091\n", - " 0.611825\n", + " 0.266684\n", + " 0.112245\n", + " 0.621070\n", " \n", " \n", - " 178\n", - " Heung-Min Son\n", - " 0.250924\n", - " 0.204036\n", - " 0.545040\n", + " 70\n", + " Mohamed Salah\n", + " 0.255693\n", + " 0.137096\n", + " 0.607211\n", " \n", " \n", - " 138\n", - " Marcus Rashford\n", - " 0.242815\n", - " 0.178367\n", - " 0.578818\n", + " 117\n", + " Heung-Min Son\n", + " 0.243224\n", + " 0.207806\n", + " 0.548970\n", " \n", " \n", - " 137\n", - " Bruno Miguel Borges Fernandes\n", - " 0.238068\n", - " 0.192177\n", - " 0.569756\n", + " 59\n", + " Ayoze Pérez\n", + " 0.239872\n", + " 0.122262\n", + " 0.637865\n", " \n", " \n", - " 91\n", - " Ayoze Pérez\n", - " 0.226023\n", - " 0.118341\n", - " 0.655636\n", + " 77\n", + " Raheem Sterling\n", + " 0.217615\n", + " 0.145721\n", + " 0.636664\n", " \n", " \n", - " 142\n", - " Mason Greenwood\n", - " 0.220490\n", - " 0.089860\n", - " 0.689650\n", + " 119\n", + " Lucas Rodrigues Moura da Silva\n", + " 0.203099\n", + " 0.109238\n", + " 0.687663\n", " \n", " \n", - " 125\n", - " Raheem Sterling\n", - " 0.218910\n", - " 0.150455\n", - " 0.630635\n", + " 171\n", + " Harry Wilson\n", + " 0.202940\n", + " 0.105086\n", + " 0.691974\n", " \n", " \n", - " 19\n", - " Anwar El Ghazi\n", - " 0.208010\n", - " 0.120417\n", - " 0.671573\n", + " 120\n", + " Bamidele Alli\n", + " 0.200694\n", + " 0.168622\n", + " 0.630684\n", " \n", " \n", "\n", "" ], "text/plain": [ - " name prob_score prob_assist prob_neither\n", - "115 Mohamed Salah 0.273350 0.142621 0.584029\n", - "118 Diogo Jota 0.269251 0.148342 0.582406\n", - "113 Sadio Mané 0.252084 0.136091 0.611825\n", - "178 Heung-Min Son 0.250924 0.204036 0.545040\n", - "138 Marcus Rashford 0.242815 0.178367 0.578818\n", - "137 Bruno Miguel Borges Fernandes 0.238068 0.192177 0.569756\n", - "91 Ayoze Pérez 0.226023 0.118341 0.655636\n", - "142 Mason Greenwood 0.220490 0.089860 0.689650\n", - "125 Raheem Sterling 0.218910 0.150455 0.630635\n", - "19 Anwar El Ghazi 0.208010 0.120417 0.671573" + " name prob_score prob_assist prob_neither\n", + "87 Anthony Martial 0.291641 0.137793 0.570566\n", + "51 Richarlison de Andrade 0.267265 0.125991 0.606744\n", + "68 Sadio Mané 0.266684 0.112245 0.621070\n", + "70 Mohamed Salah 0.255693 0.137096 0.607211\n", + "117 Heung-Min Son 0.243224 0.207806 0.548970\n", + "59 Ayoze Pérez 0.239872 0.122262 0.637865\n", + "77 Raheem Sterling 0.217615 0.145721 0.636664\n", + "119 Lucas Rodrigues Moura da Silva 0.203099 0.109238 0.687663\n", + "171 Harry Wilson 0.202940 0.105086 0.691974\n", + "120 Bamidele Alli 0.200694 0.168622 0.630684" ] }, - "execution_count": 13, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } @@ -1178,1725 +1251,13 @@ "metadata": {}, "outputs": [], "source": [] - }, - { - "cell_type": "code", - "execution_count": 14, - "id": "a130125e", - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Filling history dataframe for Harry Kane: 0/75 done\n", - "Filling history dataframe for Romelu Lukaku: 1/75 done\n", - "Filling history dataframe for Jamie Vardy: 2/75 done\n", - "Filling history dataframe for Pierre-Emerick Aubameyang: 3/75 done\n", - "Filling history dataframe for Roberto Firmino: 4/75 done\n", - "Filling history dataframe for Timo Werner: 5/75 done\n", - "Filling history dataframe for Gabriel Fernando de Jesus: 6/75 done\n", - "Filling history dataframe for Edinson Cavani: 7/75 done\n", - "Filling history dataframe for Alexandre Lacazette: 8/75 done\n", - "Filling history dataframe for Danny Ings: 9/75 done\n", - "Filling history dataframe for Dominic Calvert-Lewin: 10/75 done\n", - "Filling history dataframe for Patrick Bamford: 11/75 done\n", - "Filling history dataframe for Anthony Martial: 12/75 done\n", - "Filling history dataframe for Richarlison de Andrade: 13/75 done\n", - "Filling history dataframe for Michail Antonio: 14/75 done\n", - "Filling history dataframe for Ollie Watkins: 15/75 done\n", - "Filling history dataframe for Callum Wilson: 16/75 done\n", - "Filling history dataframe for Raúl Jiménez: 17/75 done\n", - "Filling history dataframe for Kelechi Iheanacho: 18/75 done\n", - "Filling history dataframe for Patson Daka: 19/75 done\n", - "Filling history dataframe for Chris Wood: 20/75 done\n", - "Filling history dataframe for Che Adams: 21/75 done\n", - "Filling history dataframe for Ivan Toney: 22/75 done\n", - "Filling history dataframe for Neal Maupay: 23/75 done\n", - "Filling history dataframe for Olivier Giroud: 24/75 done\n", - "Filling history dataframe for Tammy Abraham: 25/75 done\n", - "Filling history dataframe for Christian Benteke: 26/75 done\n", - "Filling history dataframe for Rodrigo Moreno: 27/75 done\n", - "Filling history dataframe for Allan Saint-Maximin: 28/75 done\n", - "Filling history dataframe for Danny Welbeck: 29/75 done\n", - "Filling history dataframe for Jordan Ayew: 30/75 done\n", - "Filling history dataframe for Joelinton Cássio Apolinário de Lira: 31/75 done\n", - "Filling history dataframe for Teemu Pukki: 32/75 done\n", - "Filling history dataframe for Adam Armstrong: 33/75 done\n", - "Filling history dataframe for Fabio Silva: 34/75 done\n", - "Filling history dataframe for Edward Nketiah: 35/75 done\n", - "Filling history dataframe for Wesley Moraes: 36/75 done\n", - "Filling history dataframe for Mbwana Ally Samatta: 37/75 done\n", - "Filling history dataframe for Marcus Forss: 38/75 done\n", - "Filling history dataframe for Halil Dervişoğlu: 39/75 done\n", - "Filling history dataframe for Aaron Connolly: 40/75 done\n", - "Filling history dataframe for Jay Rodriguez: 41/75 done\n", - "Filling history dataframe for Ashley Barnes: 42/75 done\n", - "Filling history dataframe for Matej Vydra: 43/75 done\n", - "Filling history dataframe for Michy Batshuayi: 44/75 done\n", - "Filling history dataframe for Jean-Philippe Mateta: 45/75 done\n", - "Filling history dataframe for Dwight Gayle: 46/75 done\n", - "Filling history dataframe for Jordan Hugill: 47/75 done\n", - "Filling history dataframe for Joshua Sargent: 48/75 done\n", - "Filling history dataframe for Shane Long: 49/75 done\n", - "Filling history dataframe for Troy Deeney: 50/75 done\n", - "Filling history dataframe for Andre Gray: 51/75 done\n", - "Filling history dataframe for João Pedro Junqueira de Jesus: 52/75 done\n", - "Filling history dataframe for Joshua King: 53/75 done\n", - "Filling history dataframe for Folarin Balogun: 54/75 done\n", - "Filling history dataframe for Florin Andone: 55/75 done\n", - "Filling history dataframe for Divock Origi: 56/75 done\n", - "Filling history dataframe for Adam Idah: 57/75 done\n", - "Filling history dataframe for Armando Broja: 58/75 done\n", - "Filling history dataframe for Isaac Success Ajayi: 59/75 done\n", - "Filling history dataframe for Ashley Fletcher: 60/75 done\n", - "Filling history dataframe for Emmanuel Dennis: 61/75 done\n", - "Filling history dataframe for Juan Camilo Hernández Suárez: 62/75 done\n", - "Filling history dataframe for Patrick Cutrone: 63/75 done\n", - "Filling history dataframe for Keinan Davis: 64/75 done\n", - "Filling history dataframe for Andi Zeqiri: 65/75 done\n", - "Filling history dataframe for Lewis Richardson: 66/75 done\n", - "Filling history dataframe for Robert Street: 67/75 done\n", - "Filling history dataframe for Nathan Broadhead: 68/75 done\n", - "Filling history dataframe for Sam Greenwood: 69/75 done\n", - "Filling history dataframe for Daniel N'Lundulu: 70/75 done\n", - "Filling history dataframe for Michael Obafemi: 71/75 done\n", - "Filling history dataframe for Dane Scarlett: 72/75 done\n", - "Filling history dataframe for Stipe Perica: 73/75 done\n", - "Filling history dataframe for Adedapo Awokoya-Mebude: 74/75 done\n", - "Alpha is [19.30121916 9.36931379 37.59613372]\n" - ] - } - ], - "source": [ - "data_fwd = get_player_data(\"FWD\", CURRENT_SEASON, NEXT_GAMEWEEK)" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "id": "55c3026f", - "metadata": {}, - "outputs": [], - "source": [ - "from scipy.stats import dirichlet\n", - "\n", - "prior = dirichlet(data_fwd[\"alpha\"])\n", - "sample = prior.rvs(1000)" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "bf26d0b1", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0.5, 1.0, 'p_neither')" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "import matplotlib.pyplot as plt\n", - "%matplotlib inline\n", - "\n", - "fig, ax = plt.subplots(1, 3, figsize=(15, 5), sharex=True, sharey=True)\n", - "ax[0].hist(sample[:, 0])\n", - "ax[0].set_title(\"p_score\")\n", - "ax[1].hist(sample[:, 1])\n", - "ax[1].set_title(\"p_assist\")\n", - "ax[2].hist(sample[:, 2])\n", - "ax[2].set_title(\"p_neither\")" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "add936ca", - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Filling history dataframe for Harry Kane: 0/75 done\n", - "Filling history dataframe for Romelu Lukaku: 1/75 done\n", - "Filling history dataframe for Jamie Vardy: 2/75 done\n", - "Filling history dataframe for Pierre-Emerick Aubameyang: 3/75 done\n", - "Filling history dataframe for Roberto Firmino: 4/75 done\n", - "Filling history dataframe for Timo Werner: 5/75 done\n", - "Filling history dataframe for Gabriel Fernando de Jesus: 6/75 done\n", - "Filling history dataframe for Edinson Cavani: 7/75 done\n", - "Filling history dataframe for Alexandre Lacazette: 8/75 done\n", - "Filling history dataframe for Danny Ings: 9/75 done\n", - "Filling history dataframe for Dominic Calvert-Lewin: 10/75 done\n", - "Filling history dataframe for Patrick Bamford: 11/75 done\n", - "Filling history dataframe for Anthony Martial: 12/75 done\n", - "Filling history dataframe for Richarlison de Andrade: 13/75 done\n", - "Filling history dataframe for Michail Antonio: 14/75 done\n", - "Filling history dataframe for Ollie Watkins: 15/75 done\n", - "Filling history dataframe for Callum Wilson: 16/75 done\n", - "Filling history dataframe for Raúl Jiménez: 17/75 done\n", - "Filling history dataframe for Kelechi Iheanacho: 18/75 done\n", - "Filling history dataframe for Patson Daka: 19/75 done\n", - "Filling history dataframe for Chris Wood: 20/75 done\n", - "Filling history dataframe for Che Adams: 21/75 done\n", - "Filling history dataframe for Ivan Toney: 22/75 done\n", - "Filling history dataframe for Neal Maupay: 23/75 done\n", - "Filling history dataframe for Olivier Giroud: 24/75 done\n", - "Filling history dataframe for Tammy Abraham: 25/75 done\n", - "Filling history dataframe for Christian Benteke: 26/75 done\n", - "Filling history dataframe for Rodrigo Moreno: 27/75 done\n", - "Filling history dataframe for Allan Saint-Maximin: 28/75 done\n", - "Filling history dataframe for Danny Welbeck: 29/75 done\n", - "Filling history dataframe for Jordan Ayew: 30/75 done\n", - "Filling history dataframe for Joelinton Cássio Apolinário de Lira: 31/75 done\n", - "Filling history dataframe for Teemu Pukki: 32/75 done\n", - "Filling history dataframe for Adam Armstrong: 33/75 done\n", - "Filling history dataframe for Fabio Silva: 34/75 done\n", - "Filling history dataframe for Edward Nketiah: 35/75 done\n", - "Filling history dataframe for Wesley Moraes: 36/75 done\n", - "Filling history dataframe for Mbwana Ally Samatta: 37/75 done\n", - "Filling history dataframe for Marcus Forss: 38/75 done\n", - "Filling history dataframe for Halil Dervişoğlu: 39/75 done\n", - "Filling history dataframe for Aaron Connolly: 40/75 done\n", - "Filling history dataframe for Jay Rodriguez: 41/75 done\n", - "Filling history dataframe for Ashley Barnes: 42/75 done\n", - "Filling history dataframe for Matej Vydra: 43/75 done\n", - "Filling history dataframe for Michy Batshuayi: 44/75 done\n", - "Filling history dataframe for Jean-Philippe Mateta: 45/75 done\n", - "Filling history dataframe for Dwight Gayle: 46/75 done\n", - "Filling history dataframe for Jordan Hugill: 47/75 done\n", - "Filling history dataframe for Joshua Sargent: 48/75 done\n", - "Filling history dataframe for Shane Long: 49/75 done\n", - "Filling history dataframe for Troy Deeney: 50/75 done\n", - "Filling history dataframe for Andre Gray: 51/75 done\n", - "Filling history dataframe for João Pedro Junqueira de Jesus: 52/75 done\n", - "Filling history dataframe for Joshua King: 53/75 done\n", - "Filling history dataframe for Folarin Balogun: 54/75 done\n", - "Filling history dataframe for Florin Andone: 55/75 done\n", - "Filling history dataframe for Divock Origi: 56/75 done\n", - "Filling history dataframe for Adam Idah: 57/75 done\n", - "Filling history dataframe for Armando Broja: 58/75 done\n", - "Filling history dataframe for Isaac Success Ajayi: 59/75 done\n", - "Filling history dataframe for Ashley Fletcher: 60/75 done\n", - "Filling history dataframe for Emmanuel Dennis: 61/75 done\n", - "Filling history dataframe for Juan Camilo Hernández Suárez: 62/75 done\n", - "Filling history dataframe for Patrick Cutrone: 63/75 done\n", - "Filling history dataframe for Keinan Davis: 64/75 done\n", - "Filling history dataframe for Andi Zeqiri: 65/75 done\n", - "Filling history dataframe for Lewis Richardson: 66/75 done\n", - "Filling history dataframe for Robert Street: 67/75 done\n", - "Filling history dataframe for Nathan Broadhead: 68/75 done\n", - "Filling history dataframe for Sam Greenwood: 69/75 done\n", - "Filling history dataframe for Daniel N'Lundulu: 70/75 done\n", - "Filling history dataframe for Michael Obafemi: 71/75 done\n", - "Filling history dataframe for Dane Scarlett: 72/75 done\n", - "Filling history dataframe for Stipe Perica: 73/75 done\n", - "Filling history dataframe for Adedapo Awokoya-Mebude: 74/75 done\n", - "Pierre-Emerick Aubameyang\n", - "Alpha is [42.66151685 11.85042135 60.4880618 ]\n", - "Alexandre Lacazette\n", - "Alpha is [37.08200637 22.66122611 55.25676752]\n", - "Edward Nketiah\n", - "Alpha is [27.77796802 5.5555936 70.66643838]\n", - "Ollie Watkins\n", - "Alpha is [10.10279605 6.49465461 22.40254934]\n", - "Wesley Moraes\n", - "Alpha is [15.15025042 3.03005008 58.8196995 ]\n", - "Mbwana Ally Samatta\n", - "Alpha is [nan nan nan]\n", - "Keinan Davis\n", - "Alpha is [ 6.81476846 13.62953692 56.55569462]\n", - "Danny Ings\n", - "Alpha is [51.36502815 11.00679175 52.6281801 ]\n", - "Ivan Toney\n", - "Alpha is [0. 0. 1.]\n", - "Marcus Forss\n", - "Alpha is [0. 0. 1.]\n", - "Halil Dervişoğlu\n", - "Alpha is [nan nan nan]\n", - "Neal Maupay\n", - "Alpha is [23.34784141 6.14416879 47.5079898 ]\n", - "Aaron Connolly\n", - "Alpha is [15.74156291 12.59325033 45.66518676]\n", - "Danny Welbeck\n", - "Alpha is [27.6084507 18.4056338 63.98591549]\n", - "Florin Andone\n", - "Alpha is [43.80267177 0. 71.19732823]\n", - "Jay Rodriguez\n", - "Alpha is [18.79180476 10.43989153 47.76830371]\n", - "Ashley Barnes\n", - "Alpha is [40.394144 5.770592 68.835264]\n", - "Chris Wood\n", - "Alpha is [44.75867357 8.70307542 61.53825102]\n", - "Matej Vydra\n", - "Alpha is [23.59406902 15.72937935 75.67655163]\n", - "Olivier Giroud\n", - "Alpha is [33.77909947 12.0639641 69.15693644]\n", - "Michy Batshuayi\n", - "Alpha is [25.21492007 15.75932504 50.02575488]\n", - "Timo Werner\n", - "Alpha is [ 5.00914813 10.01829625 23.97255562]\n", - "Tammy Abraham\n", - "Alpha is [40.00897972 15.24151608 59.74950419]\n", - "Christian Benteke\n", - "Alpha is [32.25609756 9.9249531 72.81894934]\n", - "Jordan Ayew\n", - "Alpha is [16.37617261 14.88742964 83.73639775]\n", - "Jean-Philippe Mateta\n", - "Alpha is [ 6.99164886 0. 13.00835114]\n", - "Dominic Calvert-Lewin\n", - "Alpha is [39.38515444 13.12838481 62.48646075]\n", - "Richarlison de Andrade\n", - "Alpha is [31.49456471 13.8946609 69.61077439]\n", - "Jamie Vardy\n", - "Alpha is [41.76876306 19.05241824 54.1788187 ]\n", - "Kelechi Iheanacho\n", - "Alpha is [34.23051052 20.91864532 59.85084416]\n", - "Patson Daka\n", - "Alpha is [nan nan nan]\n", - "Rodrigo Moreno\n", - "Alpha is [11.48791541 6.56452309 20.9475615 ]\n", - "Patrick Bamford\n", - "Alpha is [11.80900621 7.64112167 19.54987212]\n", - "Roberto Firmino\n", - "Alpha is [17.80809521 14.36136711 82.83053768]\n", - "Divock Origi\n", - "Alpha is [25.22952884 14.41687362 67.35359754]\n", - "Gabriel Fernando de Jesus\n", - "Alpha is [24.95143528 13.30743215 76.74113257]\n", - "Edinson Cavani\n", - "Alpha is [11.7141365 4.6856546 19.60020889]\n", - "Anthony Martial\n", - "Alpha is [30.8105163 19.87775245 64.31173126]\n", - "Callum Wilson\n", - "Alpha is [38.07038755 26.10540861 50.82420384]\n", - "Dwight Gayle\n", - "Alpha is [31.51826676 18.91096006 57.57077318]\n", - "Allan Saint-Maximin\n", - "Alpha is [10.62460178 19.4784366 46.89696161]\n", - "Joelinton Cássio Apolinário de Lira\n", - "Alpha is [ 7.98554368 5.32369579 63.69076053]\n", - "Teemu Pukki\n", - "Alpha is [19.56587838 5.33614865 14.09797297]\n", - "Jordan Hugill\n", - "Alpha is [nan nan nan]\n", - "Adam Idah\n", - "Alpha is [ 0. 0. 35.]\n", - "Joshua Sargent\n", - "Alpha is [nan nan nan]\n", - "Daniel N'Lundulu\n", - "Alpha is [ 0. 0. 69.]\n", - "Che Adams\n", - "Alpha is [18.21419288 16.81310112 41.972706 ]\n", - "Michael Obafemi\n", - "Alpha is [33.99629972 25.49722479 45.50647549]\n", - "Armando Broja\n", - "Alpha is [ 0. 0. 11.]\n", - "Shane Long\n", - "Alpha is [20.32292764 14.51637689 80.16069547]\n", - "Harry Kane\n", - "Alpha is [43.29490166 16.42220408 55.28289427]\n", - "Dane Scarlett\n", - "Alpha is [ 0. 0. 18.]\n", - "Troy Deeney\n", - "Alpha is [23.32281284 8.59261526 45.08457191]\n", - "Andre Gray\n", - "Alpha is [25.21481863 8.40493954 43.38024183]\n", - "Stipe Perica\n", - "Alpha is [nan nan nan]\n", - "Isaac Success Ajayi\n", - "Alpha is [ 5.34047919 5.34047919 66.31904161]\n", - "Ashley Fletcher\n", - "Alpha is [nan nan nan]\n", - "João Pedro Junqueira de Jesus\n", - "Alpha is [ 0. 0. 18.]\n", - "Emmanuel Dennis\n", - "Alpha is [0.46153846 0.46153846 0.07692308]\n", - "Joshua King\n", - "Alpha is [24.96696416 11.09642852 59.93660732]\n", - "Adedapo Awokoya-Mebude\n", - "Alpha is [nan nan nan]\n", - "Juan Camilo Hernández Suárez\n", - "Alpha is [ 1.25 0. -0.25]\n", - "Michail Antonio\n", - "Alpha is [32.49504031 22.86688022 59.63807946]\n", - "Raúl Jiménez\n", - "Alpha is [41.55824017 22.00142127 51.44033856]\n", - "Fabio Silva\n", - "Alpha is [11.24168514 8.43126386 19.327051 ]\n", - "Patrick Cutrone\n", - "Alpha is [29.8136646 0. 30.1863354]\n", - "Andi Zeqiri\n", - "Alpha is [ 0. 0. 35.]\n", - "Lewis Richardson\n", - "Alpha is [ 0. 0. 34.]\n", - "Nathan Broadhead\n", - "Alpha is [ 0. 0. 15.]\n", - "Sam Greenwood\n", - "Alpha is [nan nan nan]\n", - "Romelu Lukaku\n", - "Alpha is [22.47693798 1.87307817 52.64998385]\n", - "Folarin Balogun\n", - "Alpha is [nan nan nan]\n", - "Adam Armstrong\n", - "Alpha is [1. 0. 0.]\n", - "Robert Street\n", - "Alpha is [nan nan nan]\n" - ] - }, - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/player_model.py:37: RuntimeWarning: divide by zero encountered in long_scalars\n", - " a0 = n_matches * (player_goals / team_goals) * (total_minutes / player_minutes)\n", - "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/player_model.py:37: RuntimeWarning: invalid value encountered in double_scalars\n", - " a0 = n_matches * (player_goals / team_goals) * (total_minutes / player_minutes)\n", - "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/player_model.py:38: RuntimeWarning: divide by zero encountered in long_scalars\n", - " a1 = n_matches * (player_assists / team_goals) * (total_minutes / player_minutes)\n", - "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/player_model.py:38: RuntimeWarning: invalid value encountered in double_scalars\n", - " a1 = n_matches * (player_assists / team_goals) * (total_minutes / player_minutes)\n", - "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/player_model.py:45: RuntimeWarning: divide by zero encountered in long_scalars\n", - " * (total_minutes / player_minutes)\n", - "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/player_model.py:40: RuntimeWarning: invalid value encountered in double_scalars\n", - " n_matches\n", - "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/player_model.py:37: RuntimeWarning: invalid value encountered in long_scalars\n", - " a0 = n_matches * (player_goals / team_goals) * (total_minutes / player_minutes)\n", - "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/player_model.py:38: RuntimeWarning: invalid value encountered in long_scalars\n", - " a1 = n_matches * (player_assists / team_goals) * (total_minutes / player_minutes)\n", - "/Users/jroberts/GitHub/AIrsenal/airsenal/framework/player_model.py:42: RuntimeWarning: invalid value encountered in long_scalars\n", - " (player_neither / team_goals)\n" - ] - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
emp_scoreemp_assistemp_neithername
40.3709700.1030470.525983Pierre-Emerick Aubameyang
60.3224520.1970540.480494Alexandre Lacazette
200.2670960.0534190.679485Edward Nketiah
420.2590460.1665300.574424Ollie Watkins
490.1967560.0393510.763892Wesley Moraes
...............
669NaNNaNNaNSam Greenwood
9260.2919080.0243260.683766Romelu Lukaku
1184NaNNaNNaNFolarin Balogun
11881.0000000.0000000.000000Adam Armstrong
1191NaNNaNNaNRobert Street
\n", - "

75 rows × 4 columns

\n", - "
" - ], - "text/plain": [ - " emp_score emp_assist emp_neither name\n", - "4 0.370970 0.103047 0.525983 Pierre-Emerick Aubameyang\n", - "6 0.322452 0.197054 0.480494 Alexandre Lacazette\n", - "20 0.267096 0.053419 0.679485 Edward Nketiah\n", - "42 0.259046 0.166530 0.574424 Ollie Watkins\n", - "49 0.196756 0.039351 0.763892 Wesley Moraes\n", - "... ... ... ... ...\n", - "669 NaN NaN NaN Sam Greenwood\n", - "926 0.291908 0.024326 0.683766 Romelu Lukaku\n", - "1184 NaN NaN NaN Folarin Balogun\n", - "1188 1.000000 0.000000 0.000000 Adam Armstrong\n", - "1191 NaN NaN NaN Robert Street\n", - "\n", - "[75 rows x 4 columns]" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "from airsenal.framework.prediction_utils import get_player_history_df\n", - "from airsenal.framework.player_model import get_empirical_bayes_estimates\n", - "\n", - "df = get_player_history_df(\n", - " \"FWD\", season=CURRENT_SEASON, gameweek=NEXT_GAMEWEEK\n", - ")\n", - "df[\"neither\"] = df[\"team_goals\"] - df[\"goals\"] - df[\"assists\"]\n", - "df.loc[(df[\"neither\"] < 0), [\"neither\", \"team_goals\", \"goals\", \"assists\"]] = [\n", - " 0.0,\n", - " 0.0,\n", - " 0.0,\n", - " 0.0,\n", - "]\n", - "\n", - "emp_fwd = {}\n", - "for idx, data in df.groupby(\"player_id\"):\n", - " print(data[\"player_name\"].iloc[0])\n", - " alpha = get_empirical_bayes_estimates(data)\n", - " emp_fwd[idx] = alpha / alpha.sum()\n", - "\n", - "emp_fwd = pd.DataFrame(emp_fwd).T\n", - "emp_fwd.columns = [\"emp_score\", \"emp_assist\", \"emp_neither\"]\n", - "emp_fwd[\"name\"] = [get_player(idx).name for idx in emp_fwd.index]\n", - "emp_fwd" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "id": "4f1f84e8", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
emp_scoreemp_assistemp_neithername
40.3709700.1030470.525983Pierre-Emerick Aubameyang
60.3224520.1970540.480494Alexandre Lacazette
200.2670960.0534190.679485Edward Nketiah
420.2590460.1665300.574424Ollie Watkins
490.1967560.0393510.763892Wesley Moraes
...............
669NaNNaNNaNSam Greenwood
9260.2919080.0243260.683766Romelu Lukaku
1184NaNNaNNaNFolarin Balogun
11881.0000000.0000000.000000Adam Armstrong
1191NaNNaNNaNRobert Street
\n", - "

75 rows × 4 columns

\n", - "
" - ], - "text/plain": [ - " emp_score emp_assist emp_neither name\n", - "4 0.370970 0.103047 0.525983 Pierre-Emerick Aubameyang\n", - "6 0.322452 0.197054 0.480494 Alexandre Lacazette\n", - "20 0.267096 0.053419 0.679485 Edward Nketiah\n", - "42 0.259046 0.166530 0.574424 Ollie Watkins\n", - "49 0.196756 0.039351 0.763892 Wesley Moraes\n", - "... ... ... ... ...\n", - "669 NaN NaN NaN Sam Greenwood\n", - "926 0.291908 0.024326 0.683766 Romelu Lukaku\n", - "1184 NaN NaN NaN Folarin Balogun\n", - "1188 1.000000 0.000000 0.000000 Adam Armstrong\n", - "1191 NaN NaN NaN Robert Street\n", - "\n", - "[75 rows x 4 columns]" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "emp_fwd" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "77128396", - "metadata": {}, - "outputs": [], - "source": [ - "df_fit = pd.merge(df_fwd, emp_fwd, on=\"name\", how=\"inner\")\n", - "df_fit.set_index(\"name\", inplace=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "id": "9a721114", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "name\n", - "Juan Camilo Hernández Suárez -0.946813\n", - "Adam Armstrong -0.697765\n", - "Patrick Cutrone -0.185991\n", - "Emmanuel Dennis -0.165295\n", - "Teemu Pukki -0.159101\n", - " ... \n", - "Dane Scarlett 0.290898\n", - "Nathan Broadhead 0.290947\n", - "Marcus Forss 0.291484\n", - "João Pedro Junqueira de Jesus 0.291824\n", - "Daniel N'Lundulu 0.292240\n", - "Length: 64, dtype: float64" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "(df_fit[\"prob_score\"] - df_fit[\"emp_score\"]).dropna().sort_values()" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "id": "cfb3b814", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0.5, 1.0, 'Player Posterior p_neither')" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, - "output_type": "display_data" - } - ], - "source": [ - "fig, ax = plt.subplots(3, 3, figsize=(15, 9), sharex=True, sharey=False)\n", - "ax[0, 0].hist(emp_fwd[\"emp_score\"])\n", - "ax[0, 0].set_title(\"Player Empirical p_score\")\n", - "ax[0, 1].hist(emp_fwd[\"emp_assist\"])\n", - "ax[0, 1].set_title(\"Player Empirical p_assist\")\n", - "ax[0, 2].hist(emp_fwd[\"emp_neither\"])\n", - "ax[0, 2].set_title(\"Player Empirical p_neither\")\n", - "\n", - "ax[1, 0].hist(sample[:, 0])\n", - "ax[1, 0].set_title(\"FWD Prior p_score\")\n", - "ax[1, 1].hist(sample[:, 1])\n", - "ax[1, 1].set_title(\"FWD Prior p_assist\")\n", - "ax[1, 2].hist(sample[:, 2])\n", - "ax[1, 2].set_title(\"FWD Prior p_neither\")\n", - "\n", - "ax[2, 0].hist(df_fwd[\"prob_score\"])\n", - "ax[2, 0].set_title(\"Player Posterior p_score\")\n", - "ax[2, 1].hist(df_fwd[\"prob_assist\"])\n", - "ax[2, 1].set_title(\"Player Posterior p_assist\")\n", - "ax[2, 2].hist(df_fwd[\"prob_neither\"])\n", - "ax[2, 2].set_title(\"Player Posterior p_neither\")" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "id": "a1e9a784", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "count 64.000000\n", - "mean 0.266503\n", - "std 0.207105\n", - "min 0.000000\n", - "25% 0.151740\n", - "50% 0.278787\n", - "75% 0.333905\n", - "max 1.250000\n", - "Name: emp_score, dtype: float64" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# empirical\n", - "emp_fwd[\"emp_score\"].describe()" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "1b7ce89f", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.29079466599812415 0.056853509320681506\n" - ] - } - ], - "source": [ - "# prior\n", - "print(sample[:, 0].mean(), sample[:, 0].std())" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "b352c487", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "count 75.000000\n", - "mean 0.312273\n", - "std 0.033281\n", - "min 0.219143\n", - "25% 0.291099\n", - "50% 0.303187\n", - "75% 0.330879\n", - "max 0.436873\n", - "Name: prob_score, dtype: float64" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# posterior\n", - "df_fwd[\"prob_score\"].describe()" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "id": "22dcf9b0", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "prob_score 0.249198\n", - "prob_assist 0.170517\n", - "prob_neither 0.580285\n", - "emp_score 0.154853\n", - "emp_assist 0.124881\n", - "emp_neither 0.720266\n", - "Name: Roberto Firmino, dtype: float64" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df_fit.loc[\"Roberto Firmino\"]" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "2298c926", - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
emp_scoreemp_assistemp_neithername
40.3709700.1030470.525983Pierre-Emerick Aubameyang
60.3224520.1970540.480494Alexandre Lacazette
200.2670960.0534190.679485Edward Nketiah
420.2590460.1665300.574424Ollie Watkins
490.1967560.0393510.763892Wesley Moraes
...............
669NaNNaNNaNSam Greenwood
9260.2919080.0243260.683766Romelu Lukaku
1184NaNNaNNaNFolarin Balogun
11881.0000000.0000000.000000Adam Armstrong
1191NaNNaNNaNRobert Street
\n", - "

75 rows × 4 columns

\n", - "
" - ], - "text/plain": [ - " emp_score emp_assist emp_neither name\n", - "4 0.370970 0.103047 0.525983 Pierre-Emerick Aubameyang\n", - "6 0.322452 0.197054 0.480494 Alexandre Lacazette\n", - "20 0.267096 0.053419 0.679485 Edward Nketiah\n", - "42 0.259046 0.166530 0.574424 Ollie Watkins\n", - "49 0.196756 0.039351 0.763892 Wesley Moraes\n", - "... ... ... ... ...\n", - "669 NaN NaN NaN Sam Greenwood\n", - "926 0.291908 0.024326 0.683766 Romelu Lukaku\n", - "1184 NaN NaN NaN Folarin Balogun\n", - "1188 1.000000 0.000000 0.000000 Adam Armstrong\n", - "1191 NaN NaN NaN Robert Street\n", - "\n", - "[75 rows x 4 columns]" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "emp_fwd" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0c8b1c64", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 27, - "id": "719ab876", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([0.16517841, 0.12749511, 0.70732649])" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# exact posterior\n", - "import numpy as np\n", - "prior = np.array([24.55477665, 12.03720926, 47.90801409])\n", - "prior = 13 * prior / prior.sum()\n", - "data = np.array([17.20, 14.34, 82.46])\n", - "posterior = prior + data\n", - "posterior / posterior.sum()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e150cd9e", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "08c75178", - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Filling history dataframe for Harry Kane: 0/75 done\n", - "Filling history dataframe for Romelu Lukaku: 1/75 done\n", - "Filling history dataframe for Jamie Vardy: 2/75 done\n", - "Filling history dataframe for Pierre-Emerick Aubameyang: 3/75 done\n", - "Filling history dataframe for Roberto Firmino: 4/75 done\n", - "Filling history dataframe for Timo Werner: 5/75 done\n", - "Filling history dataframe for Gabriel Fernando de Jesus: 6/75 done\n", - "Filling history dataframe for Edinson Cavani: 7/75 done\n", - "Filling history dataframe for Alexandre Lacazette: 8/75 done\n", - "Filling history dataframe for Danny Ings: 9/75 done\n", - "Filling history dataframe for Dominic Calvert-Lewin: 10/75 done\n", - "Filling history dataframe for Patrick Bamford: 11/75 done\n", - "Filling history dataframe for Anthony Martial: 12/75 done\n", - "Filling history dataframe for Richarlison de Andrade: 13/75 done\n", - "Filling history dataframe for Michail Antonio: 14/75 done\n", - "Filling history dataframe for Ollie Watkins: 15/75 done\n", - "Filling history dataframe for Callum Wilson: 16/75 done\n", - "Filling history dataframe for Raúl Jiménez: 17/75 done\n", - "Filling history dataframe for Kelechi Iheanacho: 18/75 done\n", - "Filling history dataframe for Patson Daka: 19/75 done\n", - "Filling history dataframe for Chris Wood: 20/75 done\n", - "Filling history dataframe for Che Adams: 21/75 done\n", - "Filling history dataframe for Ivan Toney: 22/75 done\n", - "Filling history dataframe for Neal Maupay: 23/75 done\n", - "Filling history dataframe for Olivier Giroud: 24/75 done\n", - "Filling history dataframe for Tammy Abraham: 25/75 done\n", - "Filling history dataframe for Christian Benteke: 26/75 done\n", - "Filling history dataframe for Rodrigo Moreno: 27/75 done\n", - "Filling history dataframe for Allan Saint-Maximin: 28/75 done\n", - "Filling history dataframe for Danny Welbeck: 29/75 done\n", - "Filling history dataframe for Jordan Ayew: 30/75 done\n", - "Filling history dataframe for Joelinton Cássio Apolinário de Lira: 31/75 done\n", - "Filling history dataframe for Teemu Pukki: 32/75 done\n", - "Filling history dataframe for Adam Armstrong: 33/75 done\n", - "Filling history dataframe for Fabio Silva: 34/75 done\n", - "Filling history dataframe for Edward Nketiah: 35/75 done\n", - "Filling history dataframe for Wesley Moraes: 36/75 done\n", - "Filling history dataframe for Mbwana Ally Samatta: 37/75 done\n", - "Filling history dataframe for Marcus Forss: 38/75 done\n", - "Filling history dataframe for Halil Dervişoğlu: 39/75 done\n", - "Filling history dataframe for Aaron Connolly: 40/75 done\n", - "Filling history dataframe for Jay Rodriguez: 41/75 done\n", - "Filling history dataframe for Ashley Barnes: 42/75 done\n", - "Filling history dataframe for Matej Vydra: 43/75 done\n", - "Filling history dataframe for Michy Batshuayi: 44/75 done\n", - "Filling history dataframe for Jean-Philippe Mateta: 45/75 done\n", - "Filling history dataframe for Dwight Gayle: 46/75 done\n", - "Filling history dataframe for Jordan Hugill: 47/75 done\n", - "Filling history dataframe for Joshua Sargent: 48/75 done\n", - "Filling history dataframe for Shane Long: 49/75 done\n", - "Filling history dataframe for Troy Deeney: 50/75 done\n", - "Filling history dataframe for Andre Gray: 51/75 done\n", - "Filling history dataframe for João Pedro Junqueira de Jesus: 52/75 done\n", - "Filling history dataframe for Joshua King: 53/75 done\n", - "Filling history dataframe for Folarin Balogun: 54/75 done\n", - "Filling history dataframe for Florin Andone: 55/75 done\n", - "Filling history dataframe for Divock Origi: 56/75 done\n", - "Filling history dataframe for Adam Idah: 57/75 done\n", - "Filling history dataframe for Armando Broja: 58/75 done\n", - "Filling history dataframe for Isaac Success Ajayi: 59/75 done\n", - "Filling history dataframe for Ashley Fletcher: 60/75 done\n", - "Filling history dataframe for Emmanuel Dennis: 61/75 done\n", - "Filling history dataframe for Juan Camilo Hernández Suárez: 62/75 done\n", - "Filling history dataframe for Patrick Cutrone: 63/75 done\n", - "Filling history dataframe for Keinan Davis: 64/75 done\n", - "Filling history dataframe for Andi Zeqiri: 65/75 done\n", - "Filling history dataframe for Lewis Richardson: 66/75 done\n", - "Filling history dataframe for Robert Street: 67/75 done\n", - "Filling history dataframe for Nathan Broadhead: 68/75 done\n", - "Filling history dataframe for Sam Greenwood: 69/75 done\n", - "Filling history dataframe for Daniel N'Lundulu: 70/75 done\n", - "Filling history dataframe for Michael Obafemi: 71/75 done\n", - "Filling history dataframe for Dane Scarlett: 72/75 done\n", - "Filling history dataframe for Stipe Perica: 73/75 done\n", - "Filling history dataframe for Adedapo Awokoya-Mebude: 74/75 done\n", - "Alpha is [19.30121916 9.36931379 37.59613372]\n" - ] - }, - { - "data": { - "text/plain": [ - "array([19.30121916, 9.36931379, 37.59613372])" - ] - }, - "execution_count": 28, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "df = get_player_history_df(\"FWD\")\n", - "df[\"neither\"] = df[\"team_goals\"] - df[\"goals\"] - df[\"assists\"]\n", - "df.loc[(df[\"neither\"] < 0), [\"neither\", \"team_goals\", \"goals\", \"assists\"]] = [\n", - " 0.0,\n", - " 0.0,\n", - " 0.0,\n", - " 0.0,\n", - "]\n", - "alpha = get_empirical_bayes_estimates(df)\n", - "y = df.sort_values(\"player_id\")[[\"goals\", \"assists\", \"neither\"]].values.reshape(\n", - " (\n", - " df[\"player_id\"].nunique(),\n", - " df.groupby(\"player_id\").count().iloc[0][\"player_name\"],\n", - " 3,\n", - " )\n", - ")\n", - "\n", - "minutes = df.sort_values(\"player_id\")[\"minutes\"].values.reshape(\n", - " (\n", - " df[\"player_id\"].nunique(),\n", - " df.groupby(\"player_id\").count().iloc[0][\"player_name\"],\n", - " )\n", - ")\n", - "\n", - "nplayer = df[\"player_id\"].nunique()\n", - "nmatch = df.groupby(\"player_id\").count().iloc[0][\"player_name\"]\n", - "player_ids = np.sort(df[\"player_id\"].unique())\n", - "alpha" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "3f7ccea4", - "metadata": {}, - "outputs": [ - { - "ename": "NameError", - "evalue": "name 'df_emp' is not defined", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m/var/folders/xv/d5nvn2ps5r3fcf276w707n01qdmpqf/T/ipykernel_54853/556186281.py\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;31m# for compatibility with models we zero pad data so all players have\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;31m# the same number of rows (matches). Remove the dummy matches:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdf_emp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcopy\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0mdf\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mdf\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"match_id\"\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m!=\u001b[0m \u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mNameError\u001b[0m: name 'df_emp' is not defined" - ] - } - ], - "source": [ - "\n", - "# for compatibility with models we zero pad data so all players have\n", - "# the same number of rows (matches). Remove the dummy matches:\n", - "df = df_emp.copy()\n", - "df = df[df[\"match_id\"] != 0]\n", - "\n", - "player_goals = df[\"goals\"].sum()\n", - "player_assists = df[\"assists\"].sum()\n", - "player_neither = df[\"neither\"].sum()\n", - "player_minutes = df[\"minutes\"].sum()\n", - "team_goals = df[\"team_goals\"].sum()\n", - "total_minutes = 90 * len(df) # ???\n", - "n_matches = df.groupby(\"player_name\").count()[\"goals\"].mean()\n", - "\n", - "# Total no. of player goals, assists, neither:\n", - "# no. matches played * fraction goals scored * (1 / fraction mins played)\n", - "a0 = n_matches * (player_goals / team_goals) * (total_minutes / player_minutes)\n", - "a1 = n_matches * (player_assists / team_goals) * (total_minutes / player_minutes)\n", - "a2 = (\n", - " n_matches\n", - " * (\n", - " (player_neither / team_goals)\n", - " - (total_minutes - player_minutes) / total_minutes\n", - " )\n", - " * (total_minutes / player_minutes)\n", - ")\n", - "alpha = np.array([a0, a1, a2])\n", - "if prior_goals is not None:\n", - " alpha = prior_goals * (alpha / alpha.sum())\n", - "print(\"Alpha is {}\".format(alpha))\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0a2d0f22", - "metadata": {}, - "outputs": [], - "source": [ - "# y\n", - "# minutes\n", - "match_id = df[\"match_id\"].values.reshape(75, 115)\n", - "\n", - "team_goals = y.sum(axis=(1, 2))\n", - "select_match = match_id != 0\n", - "\n", - "n_matches = select_match.sum(axis=1)\n", - "total_minutes = 90 * n_matches\n", - "player_involvements = y.sum(axis=1)\n", - "player_minutes = minutes.sum(axis=1)\n", - "\n", - "a0 = (\n", - " n_matches\n", - " * (player_involvements[:, 0] / team_goals)\n", - " * (total_minutes / player_minutes)\n", - ")\n", - "a1 = (\n", - " n_matches\n", - " * (player_involvements[:, 1] / team_goals)\n", - " * (total_minutes / player_minutes)\n", - ")\n", - "a2 = (\n", - " n_matches\n", - " * (\n", - " (player_involvements[:, 2] / team_goals)\n", - " - (total_minutes - player_minutes) / total_minutes\n", - " )\n", - " * (total_minutes / player_minutes)\n", - ")\n", - "alpha = np.stack([a0, a1, a2], axis=1)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "433f0bb4", - "metadata": {}, - "outputs": [], - "source": [ - "alpha" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "54c53e4f", - "metadata": {}, - "outputs": [], - "source": [ - "alpha[0, :]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "904c67df", - "metadata": {}, - "outputs": [], - "source": [ - "# should emp bayes actually be this? (scale by nmatches)\n", - "act_goals = y[0, :].sum(axis=0)\n", - "mins_ratio = total_minutes[0] / minutes[0, :].sum()\n", - "eff_goals = act_goals[0] * mins_ratio\n", - "eff_assists = act_goals[1] * mins_ratio\n", - "eff_neither = act_goals.sum() - eff_goals - eff_assists\n", - "\n", - "print(act_goals)\n", - "print(mins_ratio)\n", - "print([eff_goals, eff_assists, eff_neither])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "eec420f5", - "metadata": {}, - "outputs": [], - "source": [ - "# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n", - "# or this? (scale by mins) - BEST IMO\n", - "# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!\n", - "act_goals = y[0, :].sum(axis=0)\n", - "mins_ratio = total_minutes[0] / minutes[0, :].sum()\n", - "[act_goals[0], act_goals[1], (act_goals.sum() / mins_ratio) - act_goals[0] - act_goals[1]]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "2c7a09da", - "metadata": {}, - "outputs": [], - "source": [ - "# y\n", - "# minutes\n", - "match_id = df[\"match_id\"].values.reshape(75, 115)\n", - "\n", - "team_goals = y.sum(axis=(1, 2))\n", - "select_match = match_id != 0\n", - "\n", - "n_matches = select_match.sum(axis=1)\n", - "total_minutes = 90 * n_matches\n", - "player_involvements = y.sum(axis=1)\n", - "player_minutes = minutes.sum(axis=1)\n", - "\n", - "a0 = (\n", - " n_matches\n", - " * (player_involvements[:, 0] / team_goals)\n", - " * (total_minutes / player_minutes)\n", - ")\n", - "a1 = (\n", - " n_matches\n", - " * (player_involvements[:, 1] / team_goals)\n", - " * (total_minutes / player_minutes)\n", - ")\n", - "a2 = (\n", - " n_matches\n", - " * (\n", - " (player_involvements[:, 2] / team_goals)\n", - " - (total_minutes - player_minutes) / total_minutes\n", - " )\n", - " * (total_minutes / player_minutes)\n", - ")\n", - "alpha = np.stack([a0, a1, a2], axis=1)\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "33c3bb04", - "metadata": {}, - "outputs": [], - "source": [ - "neithers = (team_goals * (player_minutes / total_minutes)) - player_involvements[:, 0] - player_involvements[:, 1]\n", - "neithers" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6b61f12d", - "metadata": {}, - "outputs": [], - "source": [ - "player_ids[neithers < 0]\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "1afadfce", - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "387cdce5", - "metadata": {}, - "outputs": [], - "source": [ - "# ollie watkins: involved 40% goals but played 32% mins??? -> Looks like n_matches calculation wrong\n", - "print(get_player(42).name)\n", - "print(y[player_ids == 42].sum(axis=1))\n", - "print(minutes[player_ids == 42].sum())\n", - "print(total_minutes[player_ids == 42])\n", - "print(23 / 57)\n", - "print(3328 / 10350)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "da4cf47e", - "metadata": {}, - "outputs": [], - "source": [ - "print(get_player(42).name)\n", - "print(((y.sum(axis=2) > 0) & (minutes > 0)).sum(axis=1)[player_ids == 42])\n", - "\n", - "print(y[player_ids == 42].sum(axis=1))\n", - "print(minutes[player_ids == 42].sum())\n", - "print(30*90)\n", - "print(23 / 57)\n", - "print(3328 / 10350)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0c307b8f", - "metadata": {}, - "outputs": [], - "source": [ - "(y.sum(axis=2) > 0).shape\n", - "minutes.shape" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0bbbb563", - "metadata": {}, - "outputs": [], - "source": [ - "y[player_ids == 42]\n", - "n_matches[player_ids == 42]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "6e232546", - "metadata": {}, - "outputs": [], - "source": [ - "x = np.array([54, 15, 76.56444444444443])\n", - "x / x.sum()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "e877bfad", - "metadata": {}, - "outputs": [], - "source": [ - "n_matches[0]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "7dcb3ca0", - "metadata": {}, - "outputs": [], - "source": [ - "alpha[0, :] / alpha[0, :].sum()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8cf0c419", - "metadata": {}, - "outputs": [], - "source": [ - "\n", - "n_matches[0] * (player_involvements[0, 0] / team_goals[0]) * (total_minutes[0] / player_minutes[0])\n", - "\n", - "\n", - "player_involvements[0, 0] * (total_minutes[0] / player_minutes[0])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "0ebb11b2", - "metadata": {}, - "outputs": [], - "source": [ - "team_goals[0]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "a32637a4", - "metadata": {}, - "outputs": [], - "source": [ - "pd.DataFrame(alpha).dropna().sort_values(by=0)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "5f859e5b", - "metadata": {}, - "outputs": [], - "source": [ - "y.sum(axis=2)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "34f22a2e", - "metadata": {}, - "outputs": [], - "source": [ - "get_player(\"Edinson Cavani\").player_id" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "22b81e46", - "metadata": {}, - "outputs": [], - "source": [ - "alpha[player_ids == 307]" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "cd42aab2", - "metadata": {}, - "outputs": [], - "source": [ - "get_player(\"Aubameyang\").player_id" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "300521cf", - "metadata": {}, - "outputs": [], - "source": [ - "alpha[player_ids == 4]" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "id": "5b086097", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(75, 115)" - ] - }, - "execution_count": 34, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "y.sum(axis=2).shape" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "id": "91a8c375", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(75, 115)" - ] - }, - "execution_count": 35, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "minutes.shape" - ] - }, - { - "cell_type": "code", - "execution_count": 62, - "id": "cd5cfe0b", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(75, 115)" - ] - }, - "execution_count": 62, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "select = (y.sum(axis=2) > 0) & (minutes > 0)\n", - "select.shape" - ] - }, - { - "cell_type": "code", - "execution_count": 66, - "id": "1e246020", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(80,)" - ] - }, - "execution_count": 66, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "minutes[0, select[0, :]].shape" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "d62543ac", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "bpl-nkwY2gHh-py3.7", "language": "python", - "name": "python3" + "name": "bpl-nkwy2ghh-py3.7" }, "language_info": { "codemirror_mode": { @@ -2908,7 +1269,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.10" + "version": "3.7.4" } }, "nbformat": 4, From f20add20cb64739e393f3c0792a9a972707bcda1 Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Mon, 23 Aug 2021 21:47:57 +0100 Subject: [PATCH 30/43] Create conjugate_player_model.ipynb --- notebooks/conjugate_player_model.ipynb | 2116 ++++++++++++++++++++++++ 1 file changed, 2116 insertions(+) create mode 100644 notebooks/conjugate_player_model.ipynb diff --git a/notebooks/conjugate_player_model.ipynb b/notebooks/conjugate_player_model.ipynb new file mode 100644 index 00000000..12433b66 --- /dev/null +++ b/notebooks/conjugate_player_model.ipynb @@ -0,0 +1,2116 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "37df3b52", + "metadata": {}, + "source": [ + "### If players played 90 mins in all matches\n", + "\n", + "$$\n", + "y \\sim \\textrm{Multinomial}(p_g, p_a, p_0)\n", + "$$\n", + "\n", + "where $p_g, p_a, p_0$ are the probabilities a player scores or assists a given goal (or does neither). $y$ is whether a player scored (1, 0, 0), assisted (0, 1, 0) or did neither (0, 0, 1) for a goal their team scores.\n", + "\n", + "**Prior:**\n", + "\n", + "$$\n", + "(p_g, p_a, p_0) \\sim \\textrm{Dirichlet}(\\alpha_g, \\alpha_a, \\alpha_0)\n", + "$$\n", + "\n", + "where $\\alpha_g, \\alpha_a, \\alpha_0$ are the priors for goals, assists and neither. The expected values are $\\mathrm{E}[p_g] = \\alpha_g / (\\alpha_g + \\alpha_a + \\alpha_0)$ and so on, and the variance scales with the the $\\alpha$ values (e.g. $\\textrm{Dirichlet}(1, 1, 1)$ has higher variance than $\\textrm{Dirichlet}(2, 2, 2)$).\n", + "\n", + "**Posterior:**\n", + "\n", + "As Dirichlet is a conjugate prior for the multinomial distribution, the posterior is also Dirichlet (see e.g. BDA3 Section 3.4 page 69, and [here](https://stephentu.github.io/writeups/dirichlet-conjugate-prior.pdf)):\n", + "\n", + "$$\n", + "(p_g, p_a, p_0) \\sim \\textrm{Dirichlet}(\\alpha_g +n_g, \\alpha_a + n_a, \\alpha_0 + n_0)\n", + "$$\n", + "\n", + "where $n_g, n_a, n_0$ are the total number of goals a player has scored or assisted, and the number of goals their team scored but they weren't involved in.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "d72fb323", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA3UAAAFTCAYAAACeZCUiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAtXUlEQVR4nO3deZxsZX3n8c9XrkICyGW5EmTxuuBuRGUU47hioqIGV9wFgyJRM8m45UYniksUnUQjE6OSoOIuGh2I13VUxm1QURFFXBBBLrIJsgiiIL/54zwNdZvu29Xd1d11qj/v16tefeo8Z3lOVdevzu88z3kqVYUkSZIkqZ9ustIVkCRJkiQtnEmdJEmSJPWYSZ0kSZIk9ZhJnSRJkiT1mEmdJEmSJPWYSZ0kSZIk9ZhJnSStQknenuTvt1B+/yQ/GmI7hyT5yhbKT0zy7EXUc+skP0iy28D2rk7ypYVus++S3D7Jr5P8fuq1TfJXSd6w0nWTJK0MkzpJmjBJzkrymyRXJLk0ydeSHJ7k+phfVYdX1Wtm20ZVfbmq7rA8Ne4kqSS3mzb7MOBLVXXewLwXVNUD2jpbJzkmydnteE9J8ohp290/yQ+TXJXki0luNY86HZ3kR0muS3LIDOX/Pcn5SS5P8s4kWw+53Qcn+V57fy5O8vEkuw+UvzvJ71ryNvXYCqCqflxV2wFfHtjkvwFPS3KLYY9NkjQ5TOokaTI9uqq2B24FHAn8LXDMMCsmWbOUFZunw4H3bqF8DXAO8EBgB+B/AMclWQ+QZBfgY8DfAzsBJwMfnsf+vws8D/j29IIkDwM2APvTvc63AV415HZ/ADysqtYCtwR+Arxt2jJvrKrtBh6/n21jVXU18CngmUPuX5I0QUzqJGmCVdVlVXUC8CTg4CR3hetbgl7bph+UZFOSv01yPvCuqXlT20myZ5KPJbmotSz9y+B+kvxjkl8l+dn0lrJpy/1FktPbsp+ZajUb6E753dYq9aQke9ElSl/fwvFdWVVHVNVZVXVdVX0C+Blwr7bI44DTquojLfE5Arh7kjsO+fq9tao+D1w9Q/HBwDFVdVpV/Qp4DXDIkNu9oKp+MTDr98D0Vsr5OhF45CK3IUnqIZM6SVoFquobwCbg/rMs8kd0LVm3ouvyeL3W7e8TwNnAemB34EMDi9wH+BGwC/BG4Jgkmb6DJAcCL6NLtNbRdR/8YKvfA9pid2+tUh8G7gacWVXXDnucSXYFbg+c1mbdha61jbafK4GftvmLtdm22/SuSXYesq57JbkU+A3wYrrXbtDzklyS5FtJHj/EJk8H7j7MviVJk8WkTpJWj1/QJW4zuQ54ZVX9tqp+M63s3nRdBF/SWsaurqrBwVHOrqp/a90DjwV2A3adYR+HA6+vqtNbovY6YJ8t3OO2FrhiqCMDktwUeD9wbFX9sM3eDrhs2qKXAdsPu90tmL7tqemhtl1VP2/dL3eh6zb6w4Hio4C9gVvQdR19d5L7zbHJK+i6oEqSVhmTOklaPXYHLpml7KLWPXEme9IlbrO1mJ0/NVFVV7XJ7WZY7lbAW9rgIJe2uqTVaya/YsgEqQ0C817gd8ALBop+Ddx82uI3Zx7J4hZM3/bU9Ly2XVWX0CXDx0/dz1hV366qi6vq2qr6JF2y+rg5NrU9N05gJUmrgEmdJK0CSf4LXfI0288P1BZWPwfYawQDqJwDPLeq1g48/qCqvjbL8qcCt55rv62r5zF0rYOPr6prBopPY6BLYpJtgdtyQ/fMxdhs2236gqq6eAHbWkPXKjc9AZ1SdAnwltyJzbuDSpJWCZM6SZpgSW6e5FF098C9r6q+t4DNfAM4DzgyybZJthmiK+BM3g78XZK7tLrtkOSJA+UX0A2MAkBVbQLOoOv+uSVvo0toHj1D19GPA3dN8vgk2wCvAE6d6p6Z5IgkJ8624SQ3a+sFuGk79qnvzvcAhya5c5K1dF0o3z2w7olJjphlu49LcockN0myDngT8J3WakeSJyTZrpX/GfB04IQ5XocH0o2AKUlaZUzqJGky/WeSK+hax15OlzQ8ayEbavfKPZpudMaf0w248qQFbOfjwBuADyW5HPg+MDhS5hHAsa175kFt3juAZ8y2zXY/3nOBfYDzB37T7WltnxcBjwf+ga47532AJw9sYk/gq1uo9mfpBjL5E+DoNv2Atu1P0w1u8kW61+Vs4JVDbnt34NN0XTW/R3dP42MHyv8aOBe4FPifwHOq6sTZKtkSzwPounFKklaZVG2px40kSSun/Zj3d4D9q+q8JJ8F7gucXFUPHsH2T2nbXkiXyS1tdw/guKr6k1Fut217b+CbwM2A51XVu5P8FbBnVb101PuTJI0/kzpJkiRJ6jG7X0qSJElSj5nUSZIkSVKPmdRJkiRJUo+Z1EmSJElSj5nUSZIkSVKPmdRJkiRJUo+Z1EmSJElSj5nUSZIkSVKPmdT1SJIjkrxvgeu+PsnfjLhKWqQkWyf5YZJ1K10XaS5J3p7k75dhP8arMZXkG0nustL10OqU5LQkD9pC+YlJnr3EdTA+janVHp9M6laBljA8E3jHwLxnJzkjya+TfDrJLQfKjkhyTSubetymle2Q5DNJLk3y/iRbDax3dJLHzbNuOyX5eJIrk5yd5KlbWPYlSb6f5IokP0vykmnl65N8MclVLVF66HzqMsP+ntrqdGWS/51kpyHWeWaSGvxS2VK9q+q3wDuBDYupq7QcqurwqnrNXMslOWuhn78JildJ8oYkF7fHG5JkoPwhSb6d5PIkZyY5bD51mWF/+7e4d1WLg7eaZblbJPlgkl8kuSzJV5PcZ6D8QUmum/Z6HjywiX8EXr2YukoLVVV3qaoTYXEXuhdqUuLTwDo3S3J6kk0D826f5PgkFyW5pNXxDvOpywz7Gfp8KslWSV7bYtQVSb6TZO1A+W2SfKKV/TLJGwdWX9XxyaRudTgE+GRV/Qa6L23gdcCBwE7Az4APTlvnw1W13cDjzDb/ucB3gF2B9cBj2zbvC9yyqj42z7q9Ffhd297TgLdl9qssoQumOwIPB16Q5MkD5R9sddsZeDnw0SywBazV4R3AM1rdrgL+dY51dgReBpw2z3p/ADg4ydYLqas0YQ5hMuLVYcBjgLsDfww8utWHJDcFPk4XY3YAngS8Kcnd51kf2vZ2AT4G/D3da3Qy8OFZFt8O+CZwr7bsscDGJNsNLPOLaa/nsQNlJwAPTvJHC6mr1AftosxM58iHMBnxacpLgIumzVtL9zm/Q9vWN4Dj51mX6y3gfOpVwJ8A9wVu3ta7um3rZsDngC8AfwTsAQwm9qs7PlWVjxE/gHvSfVCvAD5C9+X62oHy5wBnAJfQ/QPecqDsLcA5wOXAt4D7D5QdAbyvTW9D9498MXAp3Zf0rrPU5wvA0wee/yPw1oHntwQKuO30/cywrbcBD2vTRwIvBbYCTgJuM8/XaVu6AHT7gXnvBY4ccv2jgP/Vpm8P/BbYfqD8y8DhC3wPXwd8YOD5bVtdt9/COm8HngecCDx7mHoPzPsJ8MCV/t/1MVkPuhbgn7ZY9APgsQNltwP+L3AZ8Eu6Ew/oLkK8GbiwxaHvAXdtZe+eimXALsAnWvy5pH3ebtI+w9cBvwF+3WLEqotXwNeAwwaeHwqc1KZ3bcfwhwPl3wSessD3+TDga9Pq+hvgjkOufzlwrzb9IGDTHMt/Djh4pf+/ffTzAZwFvBg4tcWfDwPbDJQ/CjilxYqvAX88bd2H0l0g/R1wTYsz323lJwKvAb5KF/c+C+wysP5+bZuXAt8FHjRQdiLwD23d3wC3m6HuExGfWvmtgdOBR2zpM0+XrBaw8wLf76HPp+gufv966vWbofww4Mtz7G/Vxidb6kasXUX4ON3Jz050V2weO1D+EOD1wEHAbsDZwIcGNvFNYJ+27geAjyTZZoZdHUx3hXdPupapw+mC0EzuBvxoelVnmL7rwLxHt2b305L85cD87wMPTfIHwP3pWqX+G/CpuuHq0w0bTjYk+cQs9bo9cG1V/Xhg3neBOftDt25MU/unrXNmVV0x323N4i5tfQCq6qe0gDlLfe4N7EuX2M2n3lNOp7uiL43ST+n+33agu/r5viS7tbLX0J3w7Eh3tfN/tfl/BjyA7n99B7pYdfEM234RsAlYR5ekvAyoqnoG8HPg0dVdlX4jqzNebRZDBpetqgvovhue1boa3Re4FfCVWbY1l+nx6kq6936YWLoPcDO6C41TbpHkgnTdxd+cZNtpqxmvtFgH0SVmt6ZryT4EIMk96G5JeC5drHgHcML0nixV9Wm6ZGGqFWzw//GpwLOAW9D9b7+4bXt3YCPwWrpzrBcD/zGtR88z6BKH7enOz6ablPgEXcx/GbPH4ikPAM6vqpm+B4Yxn/OpuwHXAk9Icn6SHyd5/kD5fsBZST7Vul6emORu07axauOTSd3o7QesAY6qqmuqaz7/xkD504B3VtW3q7uf6u+A+yZZD1BV76uqi6vq2qr6J2Bruibw6a6hC3i3q6rfV9W3quryWeq0lu6K1ZRPAwcl+eMWTF5Bu2rcyo8D7kR3svYc4BVJntLKjqE7Ofs63ZX579IFwX9ON4jCl5K8dmpHVXVkVT1qlnptR3eFeNBldMF0LkfQ/f++a2Bbly1wW7PVbajttX7w/wq8oKqum2O7R7B5vadcQfc+SSNTVR+pql9U1XVV9WG6FuF7t+Jr6BKJW1bV1VX1lYH52wN3BFJVp1fVeTNs/hq6C1O3arHuy9Uuk86y7GqLV9NjyGXAdu3CDnRJ3Svoehh8GXh5VZ0zy7bmsqD4l+TmdFfzX1VVU+v/kO7C4m7AQ+i6ab5p2qrGKy3WUS02XQL8J93/HHQJ1Tuq6ustVhxL9xnZbx7bfldV/bi6LpLHDWz76XRdJz/ZYuLn6LoqHzCw7rur6rR2DnbNDNteywTEpySPBbaqqo/Psr2p5fag69b5wi0tN4f5xKc96F6T29Ml/E8AjkjypwPlT6br8XRLuiT9+NagMmXVxieTutG7JXDutJObc6aVX3/1p6p+TXcVfHeAJC9Od9PqZUkupfvn3mWG/bwX+AzwoXYz6RvbfRoz+RUDH56q+j/AK4H/oOvKcBbdh2BTK/9BC7a/r6qv0XUJfUIru7qqDquqP66qDXTdtF5Gl6zeBHggcJ8kD9/yywR0Tew3nzbv5mweMG8kyQvo7lF7ZEuM57WtJHtl4KblEdTtecCpVXXSAuo9ZXu67iDSyKQbuOeUdDfiX0p39XgqnryU7qryN9oV5L8AqKovAP9C90V+Ybob9qd/FgD+J13rzmfTDfSxpcF+VmO8mr78zYFfV1UluSNdD41n0rUk3AV4aZJHzrShbD7Iwl4jqBvtBPQ/6bqEvn5qflWd317T66rqZ3T/J4+ftrrxSot1/sD0VXQn/tBdaHrRVMxqcWtPunOnUWz7idO2/V/pLmBMmevCSu/jU2t5fyNdq+CsWgvmZ4F/rarp9wlOLTPq86mpVsNXV9VvqupUulh5wED5V6rqU1X1O7rurzvTJc5TVm18MqkbvfOA3QeuxkIXkKb8gi6wANd/uHYGzk1yf7ov0IOAHatqLd3VjMFtAdCujL+qqu5Md0Ppo+hOEGZyKtOauavqrVW1d1XtSheM1tB1BZhJzVSHFmjSukHcDTi5JbMn03WnmMuPgTVJ9h6Yd3du3DVxcJ9/QXef0P5VtWmg6DTgNkkGr/zMuK2q+nkN3LQ8y65OY6D5Pt1oVVu3Ok+3P/DY1lXgfLr345+S/MsQ9Z5yJzbvqiUtSrrRD/8NeAHdvRBr6T7jgetP3p9TVbek6+r0r0lu18qOqqp7AXemix0vmb79qrqiql5UVbcB/hx4YZL9p4qnLbsa49VmMWTasncFflxVn2nJ04/orjg/YsYD2nyQhZ/Pta/2vXLb2erWurL9b7oTz+fOUv/rd8+NzxWMV1oq5wD/UFVrBx5/OEtSMVvPgC1t+73Ttr1tVR05j21OQnzam25gli+3c5aPAbu1c5j1rT470iV0J1TVP8y20yU4nzp1atODu5lWPtd7tGrjk0nd6P0/4Pd0IxyuSXIgN3R3ghvuo9infbG+Dvh6VZ1Fd3XhWrqRiNYkeQU3vroBQJIHJ7lb6/p3OV33ptm6/n2S7orP1LrbJLlrOnsBRwNvqapftfIDk+zYyu9NdzVns5GP0t3ndyTwN23Wz4AHtSbw+wE36g8+XXX3fXwMeHWSbZPcj24EqffOcsxPo3u9/rSm9Tevrh/5KcAr2/E9li4Q/sdc9ZjF++n6wd+/nSC9GvhYbX7P3pRD6ILIPu1xMt39Sy+fq96tfHe6/v1bbOmT5mlbui+/iwCSPIuB+zySPLF1rYHu6nMB1yX5L0nu01rSrqQbdexGsSXJo5Lcrl3Auowu7k0tdwFwm4FlV128At5Dl+junm6I8xfR3WsN3UBae6f7WYMkuS1donvqzJua08eBuyZ5fDvWV9D1Hvjh9AXb+/pRuiveB9e0LuPtvbpVq9eedK/b8QPl29B1yfzcAusqbcm/AYe3GJT2WXvktAu2Uy4A1mfmUSpn8j667/WHpbuXdZt0P+Gxx5xr3mAS4tP36Rob9mmPZ9O9lvsA56TrmfEZ4KutBXGxhj6fqu5+uy8DL0/3O753outuOXUv4fuA/ZI8tH2f/A3dQF+ng/FpxUdqmcQH3YAZp9A1OX+ENtT0QPnhdDexX0L3j7pHm78V3Q3Cl9O1+L2UNtJTKz+CG0a/fArdzbpX0n0YjwLWzFKfXeiuyP5Be76W7uThSrpuCq+n61s9tfwH6bqE/pru/or/NsM2Xw28ZOD5DnRXdS6jG+Blqzb/ZXQ3/c72Wu1Ed8X4SrrBFZ46UHZ/uu5KU89/xg0jXU093j5Qvp5u9KrftNfmoYt8H5/a6nQlXRDeaaDsU8DLZlnvRAZGvxyi3i8B3rTS/7c+Ju9BN5LbJXRfem+iG+3y2a3sjcC57f/xp7SRGulank9t839J94W8XSt7NzeMfvnfW3y6ssWXwRh3YPvsXEo3GMFqjFdpr/El7fFGuivxU+UH0Z1cTXXVegNwk0W81w9tx/+bFoPWD5S9fSrm0J2QFl23tMGYdP9W/sL2f3EVXcvGUWw+qvAT6U7IVvz/20c/Hwyc17TnRzAwQiTdACrfbPHjPLrzqO2nr0vXy+krdBelvt3mncjm37+H0HXXm3p+H7o4eAndBa+NwF4zrTtL3SciPk1b70EMjH5JN7BVte0Mxoi9FvGeD30+RXc70qfbPs8EnjttW4+j6/p/eXvP7jJQtqrjU9qLoCWU5Ot0X6jvWsE6vA64sKr+eaXqoBtrrbXfBR5QVReudH2kcWC8Gl/t++zQqpqte5k00YxP42u1xyeTuiWQ5IF0V6V/SXfD69vpfnNkphHkJEmSJGnB1qx0BSbUHeiGsd2Wrun4CSZ0kiRJkpaCLXWSJEmS1GOOfilJkiRJPWZSJ0mSJEk9Nhb31O2yyy61fv36la6GpBH61re+9cuqWrfS9VgMY5M0mYxPksbRYmLTWCR169ev5+STT17pakgaoSRnr3QdFsvYJE0m45OkcbSY2GT3S0mSJEnqMZM6SZIkSeoxkzpJkiRJ6rGhkroka5N8NMkPk5ye5L5JdkryuSQ/aX93bMsmyVFJzkhyapJ7Lu0hSJIkSdLqNWxL3VuAT1fVHYG7A6cDG4DPV9XewOfbc4BHAHu3x2HA20ZaY0mSJEnS9eZM6pLsADwAOAagqn5XVZcCBwLHtsWOBR7Tpg8E3lOdk4C1SXYbcb0lSZIkSQzXUndr4CLgXUm+k+Tfk2wL7FpV57Vlzgd2bdO7A+cMrL+pzZMkSZIkjdgwSd0a4J7A26rqHsCV3NDVEoCqKqDms+MkhyU5OcnJF1100XxWlaQlY2ySNK6MT5JmM0xStwnYVFVfb88/SpfkXTDVrbL9vbCVnwvsObD+Hm3eZqrq6Krat6r2XbduQT+cLkkjZ2ySNK6MT5JmM2dSV1XnA+ckuUObtT/wA+AE4OA272Dg+DZ9AvDMNgrmfsBlA900JUmSJEkjtGbI5f4KeH+SmwFnAs+iSwiPS3IocDZwUFv2k8ABwBnAVW1ZSZIkSdISGCqpq6pTgH1nKNp/hmULeP7iqqXZrN+wEYCzjnzkCtdEkiRJ0jgY9nfqJEmSJEljyKROkiRJknrMpE6SJEmSesykTpIkSZJ6zKROkiRJknrMpE6SJEmSesykTpIkSZJ6zKROkiRJknrMpE6SJEmSesykTpJ6YP2GjazfsHGlqyFJksaQSZ0kSZIk9ZhJnSRJkiT1mEmdJEmSJPWYSZ0kSZIk9ZhJnSRJkiT1mEmdJEmSJPWYSZ0kjSl/xkCSJA3DpE6SJEmSesykTpIkSZJ6zKROkiRJknrMpE6SJEmSesykTpIkSZJ6zKROkiRJknrMpE6SJEmSesykTpIkSZJ6zKROknrGHySXJEmDTOokSZIkqcdM6iSpR2ylkyRJ05nUSZIkSVKPmdRJkiRJUo+Z1EmSJElSj5nUSdKY8z46SdKg9Rs2+t2gzZjUSZIkST1kcqcpJnWSJEnSBDDJW71M6sbcXB9OP7jSZPKzLUmShjVUUpfkrCTfS3JKkpPbvJ2SfC7JT9rfHdv8JDkqyRlJTk1yz6U8AEmSJElazdbMY9kHV9UvB55vAD5fVUcm2dCe/y3wCGDv9rgP8Lb2V4vgVXtJkiTNxPNELab75YHAsW36WOAxA/PfU52TgLVJdlvEfiRJkiRJsxi2pa6AzyYp4B1VdTSwa1Wd18rPB3Zt07sD5wysu6nNO29gHkkOAw4D2GuvvRZW+wnmFRdpZRibJI0r45Ok2QzbUvdfq+qedF0rn5/kAYOFVVV0id/Qquroqtq3qvZdt27dfFaVpCVjbJI0roxPkmYzVEtdVZ3b/l6Y5OPAvYELkuxWVee17pUXtsXPBfYcWH2PNk9DsIVOkiRJ0nzM2VKXZNsk209NA38GfB84ATi4LXYwcHybPgF4ZhsFcz/gsoFumhqRwZ868DdJJEmSpNVrmJa6XYGPJ5la/gNV9ekk3wSOS3IocDZwUFv+k8ABwBnAVcCzRl5rSZIkSRIwRFJXVWcCd59h/sXA/jPML+D5I6mdJEmSJGmLFvOTBpKkFWK3a0mSNMWkTpIkSZogXvhbfUzqJEmSJKnHTOokSZIkqcdM6iRJkiSpx0zqJEmSJKnHTOokqce8EV6SJJnUSZIkSVKPmdRNEIevlSRJmjye42kuJnWSJEmS1GNrVroC6nj1RZIkSdJC2FInSZIkST1mS50kjRFb7SVJ0nyZ1EmSJEljaPqFPi/8aTZ2v5SknnNUNEmSVjeTOkmSJGkCedFv9TCpkyRJkqQeM6mTJEmSJpgtdpPPpE6SJEmSesykTpIkSZJ6zKROkiRJknrMpE6SJEmSesykTpIkSZJ6zKROkiRJknrMpE6SJEmSesykTpIkSZJ6zKROkiRJknrMpE6SJEmSesykTpIkSZJ6zKROkiRJWgXWb9jI+g0bV7oaWgImdZI0IfyiliRpdTKpkyRJkqQeM6mTJEmSpB4zqZtA9peWJEmSVg+TOkmSJEnqsTXDLphkK+Bk4NyqelSSWwMfAnYGvgU8o6p+l2Rr4D3AvYCLgSdV1Vkjr7kkTQhb1iVJ0mLMp6Xur4HTB56/AXhzVd0O+BVwaJt/KPCrNv/NbTlJkiRJ0hIYKqlLsgfwSODf2/MADwE+2hY5FnhMmz6wPaeV79+W1wy8/02SJEnSYgzbUvfPwEuB69rznYFLq+ra9nwTsHub3h04B6CVX9aW30ySw5KcnOTkiy66aGG1l6QRMzZJGlfGJ0mzmTOpS/Io4MKq+tYod1xVR1fVvlW177p160a5aUlaMGOTpHFlfJI0m2EGSrkf8OdJDgC2AW4OvAVYm2RNa43bAzi3LX8usCewKckaYAe6AVMkSZIkzcFbczRfc7bUVdXfVdUeVbUeeDLwhap6GvBF4AltsYOB49v0Ce05rfwLVVUjrbUkSZIkCVjc79T9LfDCJGfQ3TN3TJt/DLBzm/9CYMPiqihJkiRJms3Qv1MHUFUnAie26TOBe8+wzNXAE0dQN0mSJEnSHBbTUidJkiRJWmHzaqnT6HgDrCRJkqRRsKVOkibI+g0bvWgkSdIqY1InSZIkST1mUidJkiRJPWZSJ0mSJEk9ZlInSZIkST1mUidJkiRJPWZSJ0mSJEk9ZlInSZIkrSL+/M3kMambYH5gJUmSpMlnUidJkiRJPWZSJ0mSJEk9ZlK3CtgNU5IkSZpcJnWSJEmS1GMmdZIkSZLUYyZ1kiRJktRjJnWSJEmS1GMmdZIkSdIq5GB6k8OkTpIkSZJ6zKROkiRJknrMpE6SJEmSesykTpIkSRoT3uOmhTCpkyRJkqQeM6mTJEmSpB5bs9IVWG1sUpckSZI0SrbUSZIkSauYv1fXfyZ1kiRJktRjJnWSJEmS1GMmdZK0guzuIkmSFsukTpIkSZJ6zKROkiRJknrMpE6SJEmSesykTpIkSZJ6bM6kLsk2Sb6R5LtJTkvyqjb/1km+nuSMJB9OcrM2f+v2/IxWvn6Jj0GSNI0DsEiStHoM01L3W+AhVXV3YB/g4Un2A94AvLmqbgf8Cji0LX8o8Ks2/81tOUmSJEnSEpgzqavOr9vTm7ZHAQ8BPtrmHws8pk0f2J7TyvdPklFVWJIkSZo06zdstJeFFmyoe+qSbJXkFOBC4HPAT4FLq+ratsgmYPc2vTtwDkArvwzYeYR1liRJkiQ1QyV1VfX7qtoH2AO4N3DHxe44yWFJTk5y8kUXXbTYzUnSSBibJI0r45Ok2cxr9MuquhT4InBfYG2SNa1oD+DcNn0usCdAK98BuHiGbR1dVftW1b7r1q1bWO01LzbrS3MzNkkaV8YnSbMZZvTLdUnWtuk/AP4UOJ0uuXtCW+xg4Pg2fUJ7Tiv/QlXVCOssSZIkSWrWzL0IuwHHJtmKLgk8rqo+keQHwIeSvBb4DnBMW/4Y4L1JzgAuAZ68BPWWJEmSJDFEUldVpwL3mGH+mXT3102ffzXwxJHUTpIkSZK0RfO6p06SJEmSNF5M6iRJkiSpx0zqJEmSJKnHTOokSZIkqceGGf1SkjRi/makJEkaFVvqJEmSJKnHTOokaUKt37DRFkFJklYBkzpJkiRJ6jGTOkmSJEnqMQdKkSRJklaI3eQ1CrbUSZIkSVKPmdStQg6eIEmSJE0OkzpJkiRJ6jGTOkmSJEnqMQdKWWJ2c5QkSZK0lGypkyRJkqQeM6mTJEmSpB4zqZMkSZLkCOk9ZlInSZIkST1mUidJkiRJPWZSJ0kTzq40kiRNNpM6SZIkSeoxkzpJkiRJ6jGTOkmSJEnqMZM6SZIkSeoxkzpJWmYOXCJJkkbJpE6SJEmSemzNSldAkiRJWm3staFRsqVOkiRJknrMpE6SJEnS9dZv2GhLYs+Y1EmSJElSj5nUSZIkSVKPmdRJkiRJUo+Z1EmSJElSj5nUSZIkSVKPzZnUJdkzyReT/CDJaUn+us3fKcnnkvyk/d2xzU+So5KckeTUJPdc6oOQJEmSpNVqmJa6a4EXVdWdgf2A5ye5M7AB+HxV7Q18vj0HeASwd3scBrxt5LWWJEmSJAFDJHVVdV5VfbtNXwGcDuwOHAgc2xY7FnhMmz4QeE91TgLWJtlt1BWXJEmSJM3znrok64F7AF8Hdq2q81rR+cCubXp34JyB1Ta1eZIkSZKkERs6qUuyHfAfwN9U1eWDZVVVQM1nx0kOS3JykpMvuuii+awqSUvG2CRpXBmfJM1mqKQuyU3pErr3V9XH2uwLprpVtr8XtvnnAnsOrL5Hm7eZqjq6qvatqn3XrVu30PpL0kgZmySNK+PTZFi/YSPrN2xc6Wpowgwz+mWAY4DTq+pNA0UnAAe36YOB4wfmP7ONgrkfcNlAN02NEYOKJEmS1H9rhljmfsAzgO8lOaXNexlwJHBckkOBs4GDWtkngQOAM4CrgGeNssKSJEmSpBvMmdRV1VeAzFK8/wzLF/D8RdZrItgKJkmSJGmpzWv0S0mSJEnSeDGpk6RVwHtoJUmaXCZ1kiRJktRjJnWSJEmSbsReHv1hUidJkiRJPWZSJ0mSJEk9ZlInSZIkST1mUidJkiRJPWZSJ0mSJEk9tmalKyBJq4UjiEmSpKVgS50kSZIk9ZhJnSStMv7ukCRJk8WkTpJWEZM5SZImj0mdJEmSJPWYSZ2uZ5csSZIkqX9M6iRJkiSpx0zqJEmSJKnHTOokSZIkqcf88fEl4H1pkiRJkpaLLXWSJEmSZuVgeuPPpE5+UKVVys+9JEmTwaROkiRJknrMe+okSZKkJWbvCC0lW+okSZIkqcdM6iRJkiSpx0zqJEmSJKnHTOokSZIkqcdM6iRJkiSpx0zqJEmSJKnHTOokaRk4lLUkqe/Wb9jo99mY8nfqJEmSpCViEqTlYFInSZIkjZjJnJaTSd0I+eGVJEmStNy8p06SJEmSesykTpIkSZJ6bM6kLsk7k1yY5PsD83ZK8rkkP2l/d2zzk+SoJGckOTXJPZey8pKk0bD7uCRJ/TVMS927gYdPm7cB+HxV7Q18vj0HeASwd3scBrxtNNWUJEmSJM1kzqSuqr4EXDJt9oHAsW36WOAxA/PfU52TgLVJdhtRXSVJkiRJ0yz0nrpdq+q8Nn0+sGub3h04Z2C5TW2eJEmSJGkJLPonDaqqktR810tyGF0XTfbaa6/FVkMjNHVvzVlHPnKFayItP2OTpHFlfOoH71HWSlhoS90FU90q298L2/xzgT0HltujzbuRqjq6qvatqn3XrVu3wGpI0mittti0fsNGT0Cknlht8Unjy++O8bPQpO4E4OA2fTBw/MD8Z7ZRMPcDLhvopilJkiRJGrE5u18m+SDwIGCXJJuAVwJHAsclORQ4GzioLf5J4ADgDOAq4FlLUGctE7thSovnlUxJkrTU5kzqquopsxTtP8OyBTx/sZWSJEmSJA1nod0vJUmSJEljwKROkiRJknrMpE6SJEmSesykTpIkSZJ6zKROkiRJknpsztEvNTeHLJckSZK0Umyp05zWb9ho4ipJkiSNKVvqJEmSpEXyArhWki11kiTAVnlJkvrKpE6SJEmSesykTpIkSZJ6zKROkiRJknrMpE6SJEmSesykTpIkSZJ6zKROkiRJknrM36mTJEmSNG/TfwbnrCMfuUI1kS11kiRJktRjJnWSJEmS1GMmdRra9CZ2SZIkSSvPe+oWwORGkiRJ0rgwqZOkJdLnC0BTdfemd0nasj7Hek0OkzrNiyd60uTzBEWSZmeMnJ3niSvHe+okSZIkqcdsqZMkzWrwirRXXiVJGk+21EmSJElSj5nUSZIkSVKPmdRpQdZv2OiNwpIkSdIY8J66eTCJkSRJkjRuTOokSZIkjcz0hhAH2lp6dr+UJA3F3gqSJI0nkzqNhPfYSauDn3VJksaPSZ0kad5M7CRJGh/eU6dF8cRO2pyfCUmaTMZ3jTOTuiH4IZYkSZIWZupcemrAlOnPtXgmdVtgMjd/fkglSdIk8Dxw9HxNl86SJHVJHg68BdgK+PeqOnIp9iNJ42I1flF5EUeSpPEw8oFSkmwFvBV4BHBn4ClJ7jzq/Wi8zTVCniPoSZPDz7KkSeC5yfLzNR+dpWipuzdwRlWdCZDkQ8CBwA+WYF8j4T/T0vHHJ7UaGEO2/Br4uZc0jmbrbWBMVx8tRVK3O3DOwPNNwH2WYD/qoemB0u5b0uTzcy5pnJnEaRKs2EApSQ4DDmtPf5vk+ytVlxHZBfjlSldiBFbkOPKGkW5uEt6LSTiGO6x0BRZiAmMTjMn/0yI/52NxDIvkMYwP49N4mIT/p0k4Bljh4xjReeAkvBcLjk2pqlFWhCT3BY6oqoe1538HUFWv38I6J1fVviOtyDKbhGOAyTgOj2E8eAzjYxKOw2MYD5NwDDAZx+ExjIdJOAaYjONY7ccw8oFSgG8Ceye5dZKbAU8GTliC/UiSJEnSqjfy7pdVdW2SFwCfoftJg3dW1Wmj3o8kSZIkaYnuqauqTwKfnMcqRy9FPZbZJBwDTMZxeAzjwWMYH5NwHB7DeJiEY4DJOA6PYTxMwjHAZBzHqj6Gkd9TJ0mSJElaPktxT50kSZIkaZksa1KX5OFJfpTkjCQbZijfOsmHW/nXk6xfzvoNY4hjeGGSHyQ5Ncnnk9xqJeq5JXMdw8Byj09SScZuJKFhjiHJQe29OC3JB5a7jsMY4v9pryRfTPKd9j91wErUczZJ3pnkwtmG1U7nqHZ8pya553LXcRjGpvFhfBoPfY9NYHwaJ5MQn4xN46Pv8WnJYlNVLcuDbtCUnwK3AW4GfBe487Rlnge8vU0/GfjwctVvhMfwYOAP2/Rf9vEY2nLbA18CTgL2Xel6L+B92Bv4DrBje36Lla73Ao/jaOAv2/SdgbNWut7T6vcA4J7A92cpPwD4FBBgP+DrK13nBb4PxqYxOY62nPFp5Y9hrGNTq5fxaQwekxCfjE3j85iE+LRUsWk5W+ruDZxRVWdW1e+ADwEHTlvmQODYNv1RYP8kWcY6zmXOY6iqL1bVVe3pScAey1zHuQzzPgC8BngDcPVyVm5IwxzDc4C3VtWvAKrqwmWu4zCGOY4Cbt6mdwB+sYz1m1NVfQm4ZAuLHAi8pzonAWuT7LY8tRuasWl8GJ/GQ+9jExiflrGOc5mE+GRsGh+9j09LFZuWM6nbHThn4PmmNm/GZarqWuAyYOdlqd1whjmGQYfSZdrjZM5jaM28e1bVxuWs2DwM8z7cHrh9kq8mOSnJw5etdsMb5jiOAJ6eZBPdiLJ/tTxVG5n5fmZWgrFpfBifxsNqiE1gfFoukxCfjE3jYzXEpwXFpiX5SQNBkqcD+wIPXOm6zEeSmwBvAg5Z4aos1hq6bgQPorvi96Ukd6uqS1eyUgvwFODdVfVPSe4LvDfJXavqupWumPqpr7EJjE9jxtikketrfDI2jZ1VGZ+Ws6XuXGDPged7tHkzLpNkDV2T6cXLUrvhDHMMJHko8HLgz6vqt8tUt2HNdQzbA3cFTkxyFl1f3hPG7IbfYd6HTcAJVXVNVf0M+DFdoBonwxzHocBxAFX1/4BtgF2WpXajMdRnZoUZm8aH8Wk8rIbYBMan5TIJ8cnYND5WQ3xaWGxa6psBB276WwOcCdyaG25svMu0ZZ7P5jf7Hrdc9RvhMdyD7gbOvVe6vgs9hmnLn8j43ew7zPvwcODYNr0LXTP2zitd9wUcx6eAQ9r0nej6hWel6z6tjuuZ/WbfR7L5zb7fWOn6LvB9MDaNyXFMW974tHLHMPaxqdXN+NSPYxjr+GRsWvn6z/M4xj4+LUVsWu4DOIAu6/8p8PI279V0V2Wgy6Q/ApwBfAO4zUq/6As4hv8DXACc0h4nrHSd53sM05Ydu8A05PsQuq4QPwC+Bzx5peu8wOO4M/DVFrROAf5spes8rf4fBM4DrqG7wncocDhw+MD78NZ2fN8bx/+lId8HY9OYHMe0ZY1PK3cMYx2bWh2NT2PymIT4ZGwan0ff49NSxaa0lSVJkiRJPbSsPz4uSZIkSRotkzpJkiRJ6jGTOkmSJEnqMZM6SZIkSeoxkzpJkiRJ6jGTOkmSJEnqMZM6SZIkSeoxkzpJkiRJ6rH/D6ME9R7tnvLZAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "# Example Dirichlet distributions imagining a prior of 4 goals, 2 assists, 7 neither; then a\n", + "# posterior with a player continuing at the same ratios to give 20 goals, 10 assists, 35 neither total.\n", + "\n", + "from scipy.stats import dirichlet\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "\n", + "def plot_dirichlet(a, n=10000, bins=50):\n", + " dist = dirichlet(a)\n", + " sample = dist.rvs(n)\n", + "\n", + " fig, ax = plt.subplots(1, 3, figsize=(15, 5), sharex=True, sharey=True)\n", + " fig.suptitle(f\"Dirichlet({a})\")\n", + "\n", + " for i, name in enumerate((\"goals\", \"assists\", \"neither\")):\n", + " ax[i].hist(sample[:, i], bins=bins)\n", + " ax[i].set_title(\n", + " f\"{name} (95%: \"\n", + " f\"{np.quantile(sample[:, i], 0.025):.2f} - \"\n", + " f\"{np.quantile(sample[:, i], 0.975):.2f})\"\n", + " )\n", + " ax[i].set_xlim((0, 1))\n", + "\n", + "plot_dirichlet([4, 2, 7])\n", + "plot_dirichlet([20, 10, 35])" + ] + }, + { + "cell_type": "markdown", + "id": "5b99c4a3", + "metadata": {}, + "source": [ + "### Choice of $\\alpha$ (Prior) and taking into account minutes - Previous Implementation\n", + "\n", + "Previous AIrsenal prior (from `get_empirical_bayes_estimate`):\n", + "$$\n", + "\\alpha_g = M \\frac{N_g}{T_g} \\frac{T_{mins}}{P_{mins}} \\\\\n", + "\\alpha_a = M \\frac{N_a}{T_g} \\frac{T_{mins}}{P_{mins}} \\\\\n", + "\\alpha_0 = M \\left(\\frac{N_0}{T_g} - \\frac{T_{mins} - P_{mins}}{T_{mins}}\\right) \\frac{T_{mins}}{P_{mins}}\n", + "$$\n", + "\n", + "where $M$ is the average number of matches played by players in a certain position (FWD/MID/DEF), $T_g$ is the total number of goals scored by the player's teams, $P_{mins}$ is the total number of minutes played by the players, and $T_{mins}$ is the total number of minutes played by the teams (90 * no. of matches), and the player and team stats are sums across all players in that position ($N_g$ rather than $n_g$ to indicate multiple players).\n", + "\n", + "In words, $\\alpha_g$ is: (no. matches played) * (fraction of goals scored) / (fraction of minutes played) across players in this position. So, effectively, estimated fraction of goals scored if players played full 90 mins in all matches, multiplied by no. matches.\n", + "\n", + "- Fraction goals if playing full 90 mins is what we want to estimate (i.e. this is the $p_g$ term in $\\theta$)\n", + " - But I think it's more natural to use numbers of goals in the prior and posterior updating (as in sections above)\n", + "\n", + "- Multiplication by no. of matches define strength of prior\n", + " - But is using avg. no. matches a sensible choice? Is it too strong? Maybe something like having the prior equivalent to around 10 matches of data would make more sense?\n", + "\n", + "When fitting the model the minutes are taken into account by scaling the goal probabilities:\n", + "\n", + "$$\n", + "p_g = p_g \\frac{m}{90} \\\\\n", + "p_a = p_a \\frac{m}{90} \\\\\n", + "p_0 = p_0 \\frac{m}{90} + \\frac{90 - m}{90}\n", + "$$\n", + "\n", + "where the $p_g, p_a, p_0$ values on the right are the original sampled probabilities sampled from the Dirichlet distribution and $m$ is the no. minutes played by the player." + ] + }, + { + "cell_type": "markdown", + "id": "1b0b934e", + "metadata": {}, + "source": [ + "### Choice of $\\alpha$ (Prior) and taking into account minutes - New Thoughts\n", + "\n", + "For each player include only matches where:\n", + "- Player played at least 1 minute\n", + " - player shouldn't be penalised for not being involved in goals when they weren't on the pitch\n", + "- Player's team scored at least 1 goal\n", + " - matches without goals give no data on the probability of a player being involved in a goal their team scores\n", + "\n", + "Limitation: We only know how many minutes a player played, how many goals they scored/assisted in the match, and how many goals their team scored/assisted in the match. We don't know _when_ goals were scored within the match, and critically we don't know how many goals the team scored when the player was on the pitch (if player played less than 90 mins). There's likely a data source where we could get this though (time goals scored and time subs came on/off)\n", + "\n", + "To try to take this into account we can scale down the number of goals a player wasn't involved in by the fraction of the minutes they played:\n", + "\n", + "$$\n", + "n_g = n_g \\\\\n", + "n_a = n_a \\\\\n", + "n_0 = T_g \\frac{P_{mins}}{T_{mins}} - n_g - n_a\n", + "$$\n", + "\n", + "where $T_g$ is the total number of goals scored by the player's team, $P_{mins}$ is the total number of minutes played by the player, and $T_{mins}$ is the total number of minutes played by the team (90 * no. of matches meeting the criteria above).\n", + "\n", + "It's possible for $n_0$ to be negative (also true for $\\alpha_0$ in the old implementation) for players that were involved in an unusually large number of goals for the number of minutes they played. These should be set to zero?\n", + "\n", + "**Prior**\n", + "- Use $N_g$, $N_a$, $N_0$ as defined above but summed across all players in the position ($N_g = \\sum n_g$ etc.)\n", + "- Pick a number of goals equivalent for the prior to sum to: $G = \\alpha_g + \\alpha_a + \\alpha_0$\n", + " - Suggest 13 goals, which is roughly average no. of goals scored by teams in 10 matches (2020/21 season).\n", + " - Idea being that after 10 matches we should have a pretty good idea of their goal threat.\n", + "\n", + "$$\n", + "\\alpha_g = \\frac{G N_g}{N_g + N_a + N_0} \\\\\n", + "\\alpha_a = \\frac{G N_a}{N_g + N_a + N_0} \\\\\n", + "\\alpha_0 = \\frac{G N_0}{N_g + N_a + N_0}\n", + "$$\n", + "\n", + "Note these have units of goals (which is not the case for our original prior).\n", + "\n", + "**Posterior**\n", + "- As in the conjugate model:\n", + "\n", + "$$\n", + "(p_g, p_a, p_0) \\sim \\textrm{Dirichlet}(\\alpha_g +n_g, \\alpha_a + n_a, \\alpha_0 + n_0)\n", + "$$\n", + "\n", + "Don't need to sample to get the means, can compute them directly e.g.:\n", + "$$\n", + "\\textrm{E}[p_g] = \\frac{\\alpha_g +n_g}{\\alpha_g +n_g + \\alpha_a + n_a + \\alpha_0 + n_0}\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "d9da2d98", + "metadata": {}, + "source": [ + "### Implementation" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "c583fc11", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Filling history dataframe for Harry Kane: 0/75 done\n", + "Filling history dataframe for Romelu Lukaku: 1/75 done\n", + "Filling history dataframe for Jamie Vardy: 2/75 done\n", + "Filling history dataframe for Pierre-Emerick Aubameyang: 3/75 done\n", + "Filling history dataframe for Roberto Firmino: 4/75 done\n", + "Filling history dataframe for Timo Werner: 5/75 done\n", + "Filling history dataframe for Gabriel Fernando de Jesus: 6/75 done\n", + "Filling history dataframe for Edinson Cavani: 7/75 done\n", + "Filling history dataframe for Alexandre Lacazette: 8/75 done\n", + "Filling history dataframe for Danny Ings: 9/75 done\n", + "Filling history dataframe for Dominic Calvert-Lewin: 10/75 done\n", + "Filling history dataframe for Patrick Bamford: 11/75 done\n", + "Filling history dataframe for Anthony Martial: 12/75 done\n", + "Filling history dataframe for Richarlison de Andrade: 13/75 done\n", + "Filling history dataframe for Michail Antonio: 14/75 done\n", + "Filling history dataframe for Ollie Watkins: 15/75 done\n", + "Filling history dataframe for Callum Wilson: 16/75 done\n", + "Filling history dataframe for Raúl Jiménez: 17/75 done\n", + "Filling history dataframe for Kelechi Iheanacho: 18/75 done\n", + "Filling history dataframe for Patson Daka: 19/75 done\n", + "Filling history dataframe for Chris Wood: 20/75 done\n", + "Filling history dataframe for Che Adams: 21/75 done\n", + "Filling history dataframe for Ivan Toney: 22/75 done\n", + "Filling history dataframe for Neal Maupay: 23/75 done\n", + "Filling history dataframe for Olivier Giroud: 24/75 done\n", + "Filling history dataframe for Tammy Abraham: 25/75 done\n", + "Filling history dataframe for Christian Benteke: 26/75 done\n", + "Filling history dataframe for Rodrigo Moreno: 27/75 done\n", + "Filling history dataframe for Allan Saint-Maximin: 28/75 done\n", + "Filling history dataframe for Danny Welbeck: 29/75 done\n", + "Filling history dataframe for Jordan Ayew: 30/75 done\n", + "Filling history dataframe for Joelinton Cássio Apolinário de Lira: 31/75 done\n", + "Filling history dataframe for Teemu Pukki: 32/75 done\n", + "Filling history dataframe for Adam Armstrong: 33/75 done\n", + "Filling history dataframe for Fabio Silva: 34/75 done\n", + "Filling history dataframe for Edward Nketiah: 35/75 done\n", + "Filling history dataframe for Wesley Moraes: 36/75 done\n", + "Filling history dataframe for Mbwana Ally Samatta: 37/75 done\n", + "Filling history dataframe for Marcus Forss: 38/75 done\n", + "Filling history dataframe for Halil Dervişoğlu: 39/75 done\n", + "Filling history dataframe for Aaron Connolly: 40/75 done\n", + "Filling history dataframe for Jay Rodriguez: 41/75 done\n", + "Filling history dataframe for Ashley Barnes: 42/75 done\n", + "Filling history dataframe for Matej Vydra: 43/75 done\n", + "Filling history dataframe for Michy Batshuayi: 44/75 done\n", + "Filling history dataframe for Jean-Philippe Mateta: 45/75 done\n", + "Filling history dataframe for Dwight Gayle: 46/75 done\n", + "Filling history dataframe for Jordan Hugill: 47/75 done\n", + "Filling history dataframe for Joshua Sargent: 48/75 done\n", + "Filling history dataframe for Shane Long: 49/75 done\n", + "Filling history dataframe for Troy Deeney: 50/75 done\n", + "Filling history dataframe for Andre Gray: 51/75 done\n", + "Filling history dataframe for João Pedro Junqueira de Jesus: 52/75 done\n", + "Filling history dataframe for Joshua King: 53/75 done\n", + "Filling history dataframe for Folarin Balogun: 54/75 done\n", + "Filling history dataframe for Florin Andone: 55/75 done\n", + "Filling history dataframe for Divock Origi: 56/75 done\n", + "Filling history dataframe for Adam Idah: 57/75 done\n", + "Filling history dataframe for Armando Broja: 58/75 done\n", + "Filling history dataframe for Isaac Success Ajayi: 59/75 done\n", + "Filling history dataframe for Ashley Fletcher: 60/75 done\n", + "Filling history dataframe for Emmanuel Dennis: 61/75 done\n", + "Filling history dataframe for Juan Camilo Hernández Suárez: 62/75 done\n", + "Filling history dataframe for Patrick Cutrone: 63/75 done\n", + "Filling history dataframe for Keinan Davis: 64/75 done\n", + "Filling history dataframe for Andi Zeqiri: 65/75 done\n", + "Filling history dataframe for Lewis Richardson: 66/75 done\n", + "Filling history dataframe for Robert Street: 67/75 done\n", + "Filling history dataframe for Nathan Broadhead: 68/75 done\n", + "Filling history dataframe for Sam Greenwood: 69/75 done\n", + "Filling history dataframe for Daniel N'Lundulu: 70/75 done\n", + "Filling history dataframe for Michael Obafemi: 71/75 done\n", + "Filling history dataframe for Dane Scarlett: 72/75 done\n", + "Filling history dataframe for Stipe Perica: 73/75 done\n", + "Filling history dataframe for Adedapo Awokoya-Mebude: 74/75 done\n", + "Alpha is [19.30121916 9.36931379 37.59613372]\n", + "Filling history dataframe for Trent Alexander-Arnold: 0/190 done\n", + "Filling history dataframe for Andrew Robertson: 1/190 done\n", + "Filling history dataframe for Virgil van Dijk: 2/190 done\n", + "Filling history dataframe for César Azpilicueta: 3/190 done\n", + "Filling history dataframe for Benjamin Chilwell: 4/190 done\n", + "Filling history dataframe for João Pedro Cavaco Cancelo: 5/190 done\n", + "Filling history dataframe for Rúben Santos Gato Alves Dias: 6/190 done\n", + "Filling history dataframe for Marcos Alonso: 7/190 done\n", + "Filling history dataframe for Thiago Emiliano da Silva: 8/190 done\n", + "Filling history dataframe for Antonio Rüdiger: 9/190 done\n", + "Filling history dataframe for Kurt Zouma: 10/190 done\n", + "Filling history dataframe for Reece James: 11/190 done\n", + "Filling history dataframe for Lucas Digne: 12/190 done\n", + "Filling history dataframe for Jonny Evans: 13/190 done\n", + "Filling history dataframe for Ricardo Domingos Barbosa Pereira: 14/190 done\n", + "Filling history dataframe for Timothy Castagne: 15/190 done\n", + "Filling history dataframe for Kyle Walker: 16/190 done\n", + "Filling history dataframe for John Stones: 17/190 done\n", + "Filling history dataframe for Benjamin Mendy: 18/190 done\n", + "Filling history dataframe for Aymeric Laporte: 19/190 done\n", + "Filling history dataframe for Oleksandr Zinchenko: 20/190 done\n", + "Filling history dataframe for Harry Maguire: 21/190 done\n", + "Filling history dataframe for Luke Shaw: 22/190 done\n", + "Filling history dataframe for Aaron Wan-Bissaka: 23/190 done\n", + "Filling history dataframe for Aaron Cresswell: 24/190 done\n", + "Filling history dataframe for Raphaël Varane: 25/190 done\n", + "Filling history dataframe for Ibrahima Konaté: 26/190 done\n", + "Filling history dataframe for Kieran Tierney: 27/190 done\n", + "Filling history dataframe for Gabriel Magalhães: 28/190 done\n", + "Filling history dataframe for Tyrone Mings: 29/190 done\n", + "Filling history dataframe for Matt Targett: 30/190 done\n", + "Filling history dataframe for Matthew Cash: 31/190 done\n", + "Filling history dataframe for Ezri Konsa Ngoyo: 32/190 done\n", + "Filling history dataframe for Ashley Young: 33/190 done\n", + "Filling history dataframe for Lewis Dunk: 34/190 done\n", + "Filling history dataframe for James Tarkowski: 35/190 done\n", + "Filling history dataframe for Ben Mee: 36/190 done\n", + "Filling history dataframe for Andreas Christensen: 37/190 done\n", + "Filling history dataframe for Malang Sarr: 38/190 done\n", + "Filling history dataframe for Trevoh Chalobah: 39/190 done\n", + "Filling history dataframe for Seamus Coleman: 40/190 done\n", + "Filling history dataframe for Michael Keane: 41/190 done\n", + "Filling history dataframe for Yerry Mina: 42/190 done\n", + "Filling history dataframe for Ben Godfrey: 43/190 done\n", + "Filling history dataframe for Çaglar Söyüncü: 44/190 done\n", + "Filling history dataframe for James Justin: 45/190 done\n", + "Filling history dataframe for Jannik Vestergaard: 46/190 done\n", + "Filling history dataframe for Ryan Bertrand: 47/190 done\n", + "Filling history dataframe for Héctor Junior Firpo Adames: 48/190 done\n", + "Filling history dataframe for Joel Matip: 49/190 done\n", + "Filling history dataframe for Joseph Gomez: 50/190 done\n", + "Filling history dataframe for Nathan Aké: 51/190 done\n", + "Filling history dataframe for Alex Nicolao Telles: 52/190 done\n", + "Filling history dataframe for Victor Lindelöf: 53/190 done\n", + "Filling history dataframe for Eric Bailly: 54/190 done\n", + "Filling history dataframe for Matt Ritchie: 55/190 done\n", + "Filling history dataframe for Kyle Walker-Peters: 56/190 done\n", + "Filling history dataframe for Romain Perraud: 57/190 done\n", + "Filling history dataframe for Toby Alderweireld: 58/190 done\n", + "Filling history dataframe for Serge Aurier: 59/190 done\n", + "Filling history dataframe for Matt Doherty: 60/190 done\n", + "Filling history dataframe for Sergio Reguilón: 61/190 done\n", + "Filling history dataframe for Cristian Romero: 62/190 done\n", + "Filling history dataframe for Angelo Ogbonna: 63/190 done\n", + "Filling history dataframe for Craig Dawson: 64/190 done\n", + "Filling history dataframe for Vladimir Coufal: 65/190 done\n", + "Filling history dataframe for Willy Boly: 66/190 done\n", + "Filling history dataframe for Romain Saïss: 67/190 done\n", + "Filling history dataframe for Nélson Cabral Semedo: 68/190 done\n", + "Filling history dataframe for Héctor Bellerín: 69/190 done\n", + "Filling history dataframe for Cédric Soares: 70/190 done\n", + "Filling history dataframe for Pablo Marí: 71/190 done\n", + "Filling history dataframe for Calum Chambers: 72/190 done\n", + "Filling history dataframe for Sead Kolasinac: 73/190 done\n", + "Filling history dataframe for Konstantinos Mavropanos: 74/190 done\n", + "Filling history dataframe for William Saliba: 75/190 done\n", + "Filling history dataframe for Ben White: 76/190 done\n", + "Filling history dataframe for Nuno Varela Tavares: 77/190 done\n", + "Filling history dataframe for Björn Engels: 78/190 done\n", + "Filling history dataframe for Kortney Hause: 79/190 done\n", + "Filling history dataframe for Frédéric Guilbert: 80/190 done\n", + "Filling history dataframe for Axel Tuanzebe: 81/190 done\n", + "Filling history dataframe for Pontus Jansson: 82/190 done\n", + "Filling history dataframe for Rico Henry: 83/190 done\n", + "Filling history dataframe for Mads Roerslev Rasmussen: 84/190 done\n", + "Filling history dataframe for Mads Bech Sørensen: 85/190 done\n", + "Filling history dataframe for Ethan Pinnock: 86/190 done\n", + "Filling history dataframe for Kristoffer Ajer: 87/190 done\n", + "Filling history dataframe for Dominic Thompson: 88/190 done\n", + "Filling history dataframe for Dan Burn: 89/190 done\n", + "Filling history dataframe for Adam Webster: 90/190 done\n", + "Filling history dataframe for Joël Veltman: 91/190 done\n", + "Filling history dataframe for Tariq Lamptey: 92/190 done\n", + "Filling history dataframe for Erik Pieters: 93/190 done\n", + "Filling history dataframe for Matthew Lowton: 94/190 done\n", + "Filling history dataframe for Charlie Taylor: 95/190 done\n", + "Filling history dataframe for Nathan Collins: 96/190 done\n", + "Filling history dataframe for Ethan Ampadu: 97/190 done\n", + "Filling history dataframe for Emerson Palmieri dos Santos: 98/190 done\n", + "Filling history dataframe for James Tomkins: 99/190 done\n", + "Filling history dataframe for Cheikhou Kouyaté: 100/190 done\n", + "Filling history dataframe for Jarosław Jach: 101/190 done\n", + "Filling history dataframe for Nathan Ferguson: 102/190 done\n", + "Filling history dataframe for Tyrick Mitchell: 103/190 done\n", + "Filling history dataframe for Joel Ward: 104/190 done\n", + "Filling history dataframe for Marc Guéhi: 105/190 done\n", + "Filling history dataframe for Joachim Andersen: 106/190 done\n", + "Filling history dataframe for Nathaniel Clyne: 107/190 done\n", + "Filling history dataframe for Mason Holgate: 108/190 done\n", + "Filling history dataframe for Jonjoe Kenny: 109/190 done\n", + "Filling history dataframe for Luke Thomas: 110/190 done\n", + "Filling history dataframe for Wesley Fofana: 111/190 done\n", + "Filling history dataframe for Liam Cooper: 112/190 done\n", + "Filling history dataframe for Luke Ayling: 113/190 done\n", + "Filling history dataframe for Diego Llorente: 114/190 done\n", + "Filling history dataframe for Robin Koch: 115/190 done\n", + "Filling history dataframe for Pascal Struijk: 116/190 done\n", + "Filling history dataframe for Nathaniel Phillips: 117/190 done\n", + "Filling history dataframe for Rhys Williams: 118/190 done\n", + "Filling history dataframe for José Diogo Dalot Teixeira: 119/190 done\n", + "Filling history dataframe for Ciaran Clark: 120/190 done\n", + "Filling history dataframe for Jamaal Lascelles: 121/190 done\n", + "Filling history dataframe for Paul Dummett: 122/190 done\n", + "Filling history dataframe for Emil Krafth: 123/190 done\n", + "Filling history dataframe for Fabian Schär: 124/190 done\n", + "Filling history dataframe for Jamal Lewis: 125/190 done\n", + "Filling history dataframe for Federico Fernández: 126/190 done\n", + "Filling history dataframe for Grant Hanley: 127/190 done\n", + "Filling history dataframe for Sam Byram: 128/190 done\n", + "Filling history dataframe for Christoph Zimmermann: 129/190 done\n", + "Filling history dataframe for Max Aarons: 130/190 done\n", + "Filling history dataframe for Jacob Sørensen: 131/190 done\n", + "Filling history dataframe for Ben Gibson: 132/190 done\n", + "Filling history dataframe for Dimitris Giannoulis: 133/190 done\n", + "Filling history dataframe for Jack Stephens: 134/190 done\n", + "Filling history dataframe for Jan Bednarek: 135/190 done\n", + "Filling history dataframe for Mohammed Salisu: 136/190 done\n", + "Filling history dataframe for Eric Dier: 137/190 done\n", + "Filling history dataframe for Ben Davies: 138/190 done\n", + "Filling history dataframe for Davinson Sánchez: 139/190 done\n", + "Filling history dataframe for Ryan Sessegnon: 140/190 done\n", + "Filling history dataframe for Japhet Tanganga: 141/190 done\n", + "Filling history dataframe for Joe Rodon: 142/190 done\n", + "Filling history dataframe for Danny Rose: 143/190 done\n", + "Filling history dataframe for Craig Cathcart: 144/190 done\n", + "Filling history dataframe for Francisco Femenía Far: 145/190 done\n", + "Filling history dataframe for Christian Kabasele: 146/190 done\n", + "Filling history dataframe for William Troost-Ekong: 147/190 done\n", + "Filling history dataframe for Adam Masina: 148/190 done\n", + "Filling history dataframe for Francisco Sierralta: 149/190 done\n", + "Filling history dataframe for Jeremy Ngakia: 150/190 done\n", + "Filling history dataframe for Ben Wilmot: 151/190 done\n", + "Filling history dataframe for Ryan Fredericks: 152/190 done\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Filling history dataframe for Arthur Masuaku: 153/190 done\n", + "Filling history dataframe for Issa Diop: 154/190 done\n", + "Filling history dataframe for Conor Coady: 155/190 done\n", + "Filling history dataframe for Fernando Marçal: 156/190 done\n", + "Filling history dataframe for Jonathan Castro Otto: 157/190 done\n", + "Filling history dataframe for Max Kilman: 158/190 done\n", + "Filling history dataframe for Yerson Mosquera Valdelamar: 159/190 done\n", + "Filling history dataframe for Rayan Ait Nouri: 160/190 done\n", + "Filling history dataframe for Rob Holding: 161/190 done\n", + "Filling history dataframe for Konstantinos Tsimikas: 162/190 done\n", + "Filling history dataframe for Charlie Goode: 163/190 done\n", + "Filling history dataframe for Shane Duffy: 164/190 done\n", + "Filling history dataframe for Bernardo Fernandes Da Silva Junior: 165/190 done\n", + "Filling history dataframe for Michal Karbownik: 166/190 done\n", + "Filling history dataframe for Phil Bardsley: 167/190 done\n", + "Filling history dataframe for Kevin Long: 168/190 done\n", + "Filling history dataframe for Bobby Thomas: 169/190 done\n", + "Filling history dataframe for Martin Kelly: 170/190 done\n", + "Filling history dataframe for Reece Hannam: 171/190 done\n", + "Filling history dataframe for Jarrad Branthwaite: 172/190 done\n", + "Filling history dataframe for Daniel Amartey: 173/190 done\n", + "Filling history dataframe for Neco Williams: 174/190 done\n", + "Filling history dataframe for Ben Davies: 175/190 done\n", + "Filling history dataframe for Brandon Williams: 176/190 done\n", + "Filling history dataframe for Javier Manquillo: 177/190 done\n", + "Filling history dataframe for Andrew Omobamidele: 178/190 done\n", + "Filling history dataframe for Bali Mumba: 179/190 done\n", + "Filling history dataframe for Tino Livramento: 180/190 done\n", + "Filling history dataframe for Yan Valery: 181/190 done\n", + "Filling history dataframe for Marc Navarro: 182/190 done\n", + "Filling history dataframe for Matthew Pollock: 183/190 done\n", + "Filling history dataframe for Winston Reid: 184/190 done\n", + "Filling history dataframe for Ben Johnson: 185/190 done\n", + "Filling history dataframe for Frederik Alves: 186/190 done\n", + "Filling history dataframe for Jamal Baptiste: 187/190 done\n", + "Filling history dataframe for Ki-Jana Hoever: 188/190 done\n", + "Filling history dataframe for Christian Marques: 189/190 done\n", + "Alpha is [ 2.20695308 3.80735945 66.82079385]\n", + "Filling history dataframe for Mohamed Salah: 0/235 done\n", + "Filling history dataframe for Bruno Miguel Borges Fernandes: 1/235 done\n", + "Filling history dataframe for Sadio Mané: 2/235 done\n", + "Filling history dataframe for Kevin De Bruyne: 3/235 done\n", + "Filling history dataframe for Raheem Sterling: 4/235 done\n", + "Filling history dataframe for Heung-Min Son: 5/235 done\n", + "Filling history dataframe for Marcus Rashford: 6/235 done\n", + "Filling history dataframe for Jadon Sancho: 7/235 done\n", + "Filling history dataframe for Riyad Mahrez: 8/235 done\n", + "Filling history dataframe for Kai Havertz: 9/235 done\n", + "Filling history dataframe for Christian Pulisic: 10/235 done\n", + "Filling history dataframe for Jack Grealish: 11/235 done\n", + "Filling history dataframe for Phil Foden: 12/235 done\n", + "Filling history dataframe for Paul Pogba: 13/235 done\n", + "Filling history dataframe for Mason Mount: 14/235 done\n", + "Filling history dataframe for Diogo Jota: 15/235 done\n", + "Filling history dataframe for Ilkay Gündogan: 16/235 done\n", + "Filling history dataframe for Mason Greenwood: 17/235 done\n", + "Filling history dataframe for Nicolas Pépé: 18/235 done\n", + "Filling history dataframe for Hakim Ziyech: 19/235 done\n", + "Filling history dataframe for Wilfried Zaha: 20/235 done\n", + "Filling history dataframe for Gylfi Sigurdsson: 21/235 done\n", + "Filling history dataframe for James Rodríguez: 22/235 done\n", + "Filling history dataframe for James Maddison: 23/235 done\n", + "Filling history dataframe for Harvey Barnes: 24/235 done\n", + "Filling history dataframe for Bernardo Mota Veiga de Carvalho e Silva: 25/235 done\n", + "Filling history dataframe for Ferran Torres: 26/235 done\n", + "Filling history dataframe for Jesse Lingard: 27/235 done\n", + "Filling history dataframe for Emiliano Buendía Stati: 28/235 done\n", + "Filling history dataframe for Leon Bailey: 29/235 done\n", + "Filling history dataframe for Leandro Trossard: 30/235 done\n", + "Filling history dataframe for Youri Tielemans: 31/235 done\n", + "Filling history dataframe for Raphael Dias Belloli: 32/235 done\n", + "Filling history dataframe for James Ward-Prowse: 33/235 done\n", + "Filling history dataframe for Lucas Rodrigues Moura da Silva: 34/235 done\n", + "Filling history dataframe for Bamidele Alli: 35/235 done\n", + "Filling history dataframe for Jarrod Bowen: 36/235 done\n", + "Filling history dataframe for Pedro Lomba Neto: 37/235 done\n", + "Filling history dataframe for Willian Borges Da Silva: 38/235 done\n", + "Filling history dataframe for Bukayo Saka: 39/235 done\n", + "Filling history dataframe for Saïd Benrahma: 40/235 done\n", + "Filling history dataframe for Bertrand Traoré: 41/235 done\n", + "Filling history dataframe for John McGinn: 42/235 done\n", + "Filling history dataframe for Anwar El Ghazi: 43/235 done\n", + "Filling history dataframe for Yoane Wissa: 44/235 done\n", + "Filling history dataframe for Pascal Groß: 45/235 done\n", + "Filling history dataframe for Enock Mwepu: 46/235 done\n", + "Filling history dataframe for Dwight McNeil: 47/235 done\n", + "Filling history dataframe for Jorge Luiz Frello Filho: 48/235 done\n", + "Filling history dataframe for Eberechi Eze: 49/235 done\n", + "Filling history dataframe for Alex Iwobi: 50/235 done\n", + "Filling history dataframe for Ayoze Pérez: 51/235 done\n", + "Filling history dataframe for Jack Harrison: 52/235 done\n", + "Filling history dataframe for Xherdan Shaqiri: 53/235 done\n", + "Filling history dataframe for Alex Oxlade-Chamberlain: 54/235 done\n", + "Filling history dataframe for Daniel James: 55/235 done\n", + "Filling history dataframe for Joseph Willock: 56/235 done\n", + "Filling history dataframe for Theo Walcott: 57/235 done\n", + "Filling history dataframe for Nathan Redmond: 58/235 done\n", + "Filling history dataframe for Stuart Armstrong: 59/235 done\n", + "Filling history dataframe for Erik Lamela: 60/235 done\n", + "Filling history dataframe for Steven Bergwijn: 61/235 done\n", + "Filling history dataframe for Giovani Lo Celso: 62/235 done\n", + "Filling history dataframe for Tanguy Ndombele: 63/235 done\n", + "Filling history dataframe for Bryan Gil Salvatierra: 64/235 done\n", + "Filling history dataframe for Ismaila Sarr: 65/235 done\n", + "Filling history dataframe for Tomas Soucek: 66/235 done\n", + "Filling history dataframe for Pablo Fornals: 67/235 done\n", + "Filling history dataframe for Adama Traoré: 68/235 done\n", + "Filling history dataframe for Francisco Machado Mota de Castro Trincão: 69/235 done\n", + "Filling history dataframe for Donny van de Beek: 70/235 done\n", + "Filling history dataframe for Manuel Lanzini: 71/235 done\n", + "Filling history dataframe for Ainsley Maitland-Niles: 72/235 done\n", + "Filling history dataframe for Emile Smith Rowe: 73/235 done\n", + "Filling history dataframe for Gabriel Teodoro Martinelli Silva: 74/235 done\n", + "Filling history dataframe for Mahmoud Ahmed Ibrahim Hassan: 75/235 done\n", + "Filling history dataframe for Sergi Canós: 76/235 done\n", + "Filling history dataframe for Pelenda Joshua Dasilva: 77/235 done\n", + "Filling history dataframe for Saman Ghoddos: 78/235 done\n", + "Filling history dataframe for Bryan Mbeumo: 79/235 done\n", + "Filling history dataframe for Adam Lallana: 80/235 done\n", + "Filling history dataframe for Solomon March: 81/235 done\n", + "Filling history dataframe for Alireza Jahanbakhsh: 82/235 done\n", + "Filling history dataframe for Alexis Mac Allister: 83/235 done\n", + "Filling history dataframe for Ashley Westwood: 84/235 done\n", + "Filling history dataframe for Johann Berg Gudmundsson: 85/235 done\n", + "Filling history dataframe for Ross Barkley: 86/235 done\n", + "Filling history dataframe for Ruben Loftus-Cheek: 87/235 done\n", + "Filling history dataframe for Callum Hudson-Odoi: 88/235 done\n", + "Filling history dataframe for Conor Gallagher: 89/235 done\n", + "Filling history dataframe for Luka Milivojevic: 90/235 done\n", + "Filling history dataframe for Jeffrey Schlupp: 91/235 done\n", + "Filling history dataframe for Michael Olise: 92/235 done\n", + "Filling history dataframe for Bernard Anício Caldeira Duarte: 93/235 done\n", + "Filling history dataframe for Abdoulaye Doucouré: 94/235 done\n", + "Filling history dataframe for Andros Townsend: 95/235 done\n", + "Filling history dataframe for Demarai Gray: 96/235 done\n", + "Filling history dataframe for Marc Albrighton: 97/235 done\n", + "Filling history dataframe for Pablo Hernández Domínguez: 98/235 done\n", + "Filling history dataframe for Mateusz Klich: 99/235 done\n", + "Filling history dataframe for Stuart Dallas: 100/235 done\n", + "Filling history dataframe for Hélder Wander Sousa de Azevedo e Costa: 101/235 done\n", + "Filling history dataframe for Thiago Alcántara do Nascimento: 102/235 done\n", + "Filling history dataframe for Fabio Henrique Tavares: 103/235 done\n", + "Filling history dataframe for Harvey Elliott: 104/235 done\n", + "Filling history dataframe for Rodrigo Hernandez: 105/235 done\n", + "Filling history dataframe for Scott McTominay: 106/235 done\n", + "Filling history dataframe for Jonjo Shelvey: 107/235 done\n", + "Filling history dataframe for Ryan Fraser: 108/235 done\n", + "Filling history dataframe for Miguel Almirón: 109/235 done\n", + "Filling history dataframe for Kieran Dowell: 110/235 done\n", + "Filling history dataframe for Todd Cantwell: 111/235 done\n", + "Filling history dataframe for Milot Rashica: 112/235 done\n", + "Filling history dataframe for Moussa Djenepo: 113/235 done\n", + "Filling history dataframe for Mohamed Elyounoussi: 114/235 done\n", + "Filling history dataframe for Ken Sema: 115/235 done\n", + "Filling history dataframe for Philip Zinckernagel: 116/235 done\n", + "Filling history dataframe for Imrân Louza: 117/235 done\n", + "Filling history dataframe for Juraj Kucka: 118/235 done\n", + "Filling history dataframe for Andriy Yarmolenko: 119/235 done\n", + "Filling history dataframe for Rúben Diogo da Silva Neves: 120/235 done\n", + "Filling history dataframe for Daniel Castelo Podence: 121/235 done\n", + "Filling history dataframe for Martin Ødegaard: 122/235 done\n", + "Filling history dataframe for Tariqe Fosu-Henry: 123/235 done\n", + "Filling history dataframe for Takumi Minamino: 124/235 done\n", + "Filling history dataframe for Granit Xhaka: 125/235 done\n", + "Filling history dataframe for Thomas Partey: 126/235 done\n", + "Filling history dataframe for Albert Sambi Lokonga: 127/235 done\n", + "Filling history dataframe for Reiss Nelson: 128/235 done\n", + "Filling history dataframe for Conor Hourihane: 129/235 done\n", + "Filling history dataframe for Morgan Sanson: 130/235 done\n", + "Filling history dataframe for Jaden Philogene-Bidace: 131/235 done\n", + "Filling history dataframe for Christian Nørgaard: 132/235 done\n", + "Filling history dataframe for Vitaly Janelt: 133/235 done\n", + "Filling history dataframe for Mathias Jensen: 134/235 done\n", + "Filling history dataframe for Frank Onyeka: 135/235 done\n", + "Filling history dataframe for Shandon Baptiste: 136/235 done\n", + "Filling history dataframe for Steven Alzate: 137/235 done\n", + "Filling history dataframe for Mateo Kovacic: 138/235 done\n", + "Filling history dataframe for N'Golo Kanté: 139/235 done\n", + "Filling history dataframe for Jairo Riedewald: 140/235 done\n", + "Filling history dataframe for André Filipe Tavares Gomes: 141/235 done\n", + "Filling history dataframe for Tom Davies: 142/235 done\n", + "Filling history dataframe for Dennis Praet: 143/235 done\n", + "Filling history dataframe for Wilfred Ndidi: 144/235 done\n", + "Filling history dataframe for Boubakary Soumaré: 145/235 done\n", + "Filling history dataframe for Kalvin Phillips: 146/235 done\n", + "Filling history dataframe for Tyler Roberts: 147/235 done\n", + "Filling history dataframe for James Milner: 148/235 done\n", + "Filling history dataframe for Jordan Henderson: 149/235 done\n", + "Filling history dataframe for Naby Keita: 150/235 done\n", + "Filling history dataframe for Curtis Jones: 151/235 done\n", + "Filling history dataframe for Fernando Luiz Rosa: 152/235 done\n", + "Filling history dataframe for Samuel Edozie: 153/235 done\n", + "Filling history dataframe for Frederico Rodrigues de Paula Santos: 154/235 done\n", + "Filling history dataframe for Juan Mata: 155/235 done\n", + "Filling history dataframe for Andreas Pereira: 156/235 done\n", + "Filling history dataframe for Anthony Elanga: 157/235 done\n", + "Filling history dataframe for Jeff Hendrick: 158/235 done\n", + "Filling history dataframe for Jacob Murphy: 159/235 done\n", + "Filling history dataframe for Marco Stiepermann: 160/235 done\n", + "Filling history dataframe for Kenny McLean: 161/235 done\n", + "Filling history dataframe for Onel Hernández: 162/235 done\n", + "Filling history dataframe for Przemyslaw Placheta: 163/235 done\n", + "Filling history dataframe for Josh Martin: 164/235 done\n", + "Filling history dataframe for Pierre Lees-Melou: 165/235 done\n", + "Filling history dataframe for Christos Tzolis: 166/235 done\n", + "Filling history dataframe for Nathan Tella: 167/235 done\n", + "Filling history dataframe for Pierre-Emile Højbjerg: 168/235 done\n", + "Filling history dataframe for Dan Gosling: 169/235 done\n", + "Filling history dataframe for Tom Cleverley: 170/235 done\n", + "Filling history dataframe for Nathaniel Chalobah: 171/235 done\n", + "Filling history dataframe for Will Hughes: 172/235 done\n", + "Filling history dataframe for Declan Rice: 173/235 done\n", + "Filling history dataframe for João Filipe Iria Santos Moutinho: 174/235 done\n", + "Filling history dataframe for Leander Dendoncker: 175/235 done\n", + "Filling history dataframe for Ozan Tufan: 176/235 done\n", + "Filling history dataframe for Mohamed Naser El Sayed Elneny: 177/235 done\n", + "Filling history dataframe for Lucas Torreira: 178/235 done\n", + "Filling history dataframe for Mattéo Guendouzi: 179/235 done\n", + "Filling history dataframe for Marvelous Nakamba: 180/235 done\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Filling history dataframe for Douglas Luiz Soares de Paulo: 181/235 done\n", + "Filling history dataframe for Jacob Ramsey: 182/235 done\n", + "Filling history dataframe for Aaron Ramsey: 183/235 done\n", + "Filling history dataframe for Carney Chukwuemeka: 184/235 done\n", + "Filling history dataframe for Jan Zamburek: 185/235 done\n", + "Filling history dataframe for Mads Bidstrup: 186/235 done\n", + "Filling history dataframe for Davy Pröpper: 187/235 done\n", + "Filling history dataframe for Yves Bissouma: 188/235 done\n", + "Filling history dataframe for Jakub Moder: 189/235 done\n", + "Filling history dataframe for Taylor Richards: 190/235 done\n", + "Filling history dataframe for Moisés Caicedo: 191/235 done\n", + "Filling history dataframe for Jack Cork: 192/235 done\n", + "Filling history dataframe for Dale Stephens: 193/235 done\n", + "Filling history dataframe for Josh Brownhill: 194/235 done\n", + "Filling history dataframe for Josh Benson: 195/235 done\n", + "Filling history dataframe for James McArthur: 196/235 done\n", + "Filling history dataframe for Jesurun Rak-Sakyi: 197/235 done\n", + "Filling history dataframe for Scott Banks: 198/235 done\n", + "Filling history dataframe for Fabian Delph: 199/235 done\n", + "Filling history dataframe for Allan Marques Loureiro: 200/235 done\n", + "Filling history dataframe for Anthony Gordon: 201/235 done\n", + "Filling history dataframe for Jean-Philippe Gbamin: 202/235 done\n", + "Filling history dataframe for Nampalys Mendy: 203/235 done\n", + "Filling history dataframe for Hamza Choudhury: 204/235 done\n", + "Filling history dataframe for Kiernan Dewsbury-Hall: 205/235 done\n", + "Filling history dataframe for Ian Carlo Poveda-Ocampo: 206/235 done\n", + "Filling history dataframe for Jamie Shackleton: 207/235 done\n", + "Filling history dataframe for Crysencio Summerville: 208/235 done\n", + "Filling history dataframe for Adam Forshaw: 209/235 done\n", + "Filling history dataframe for Ben Woodburn: 210/235 done\n", + "Filling history dataframe for Cole Palmer: 211/235 done\n", + "Filling history dataframe for Nemanja Matic: 212/235 done\n", + "Filling history dataframe for Isaac Hayden: 213/235 done\n", + "Filling history dataframe for Sean Longstaff: 214/235 done\n", + "Filling history dataframe for Matthew Longstaff: 215/235 done\n", + "Filling history dataframe for Billy Gilmour: 216/235 done\n", + "Filling history dataframe for Lukas Rupp: 217/235 done\n", + "Filling history dataframe for Oriol Romeu Vidal: 218/235 done\n", + "Filling history dataframe for William Smallbone: 219/235 done\n", + "Filling history dataframe for Ibrahima Diallo: 220/235 done\n", + "Filling history dataframe for Moussa Sissoko: 221/235 done\n", + "Filling history dataframe for Harry Winks: 222/235 done\n", + "Filling history dataframe for Oliver Skipp: 223/235 done\n", + "Filling history dataframe for Ayotomiwa Dele-Bashiru: 224/235 done\n", + "Filling history dataframe for Domingos Quina: 225/235 done\n", + "Filling history dataframe for Joseph Hungbo: 226/235 done\n", + "Filling history dataframe for Kwadwo Baah: 227/235 done\n", + "Filling history dataframe for Oghenekaro Peter Etebo: 228/235 done\n", + "Filling history dataframe for Mark Noble: 229/235 done\n", + "Filling history dataframe for Conor Coventry: 230/235 done\n", + "Filling history dataframe for Morgan Gibbs-White: 231/235 done\n", + "Filling history dataframe for Owen Otasowie: 232/235 done\n", + "Filling history dataframe for Luke Cundle: 233/235 done\n", + "Filling history dataframe for Chem Campbell: 234/235 done\n", + "Alpha is [ 7.54817451 7.47175218 54.43733826]\n" + ] + } + ], + "source": [ + "from airsenal.framework.prediction_utils import process_player_data\n", + "from airsenal.framework.player_model import scale_goals_by_minutes\n", + "from airsenal.framework.utils import get_player\n", + "from airsenal.framework.player_model import ConjugatePlayerModel\n", + "import pandas as pd\n", + "\n", + "\n", + "def fit_model(pos, n_goals_prior=13):\n", + " data = process_player_data(pos)\n", + " model = ConjugatePlayerModel().fit(data, n_goals_prior=n_goals_prior)\n", + " return model\n", + "\n", + "def display_model(model, n_display=10):\n", + " df = pd.DataFrame(model.get_probs())\n", + " df[\"player_name\"] = df[\"player_id\"].apply(lambda x: get_player(x).name)\n", + " for c in (\"prob_score\", \"prob_assist\", \"prob_neither\"):\n", + " display(df.sort_values(by=c, ascending=False).head(n_display))\n", + " return df\n", + "\n", + "model_fwd = fit_model(\"FWD\")\n", + "model_def = fit_model(\"DEF\")\n", + "model_mid = fit_model(\"MID\")" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "5f8cf441", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
player_idprob_scoreprob_assistprob_neitherplayer_name
7560.4142220.0978010.487977Danny Ings
423620.3837310.1250980.491171Teemu Pukki
171230.3689550.0816880.549356Chris Wood
141110.3682780.0856140.546108Florin Andone
040.3658430.1064650.527692Pierre-Emerick Aubameyang
514150.3503190.1350950.514586Harry Kane
282140.3498780.1602140.489908Jamie Vardy
261980.3356240.1166040.547772Dominic Calvert-Lewin
7311880.3340050.1274610.538534Adam Armstrong
624730.3340050.1274610.538534Juan Camilo Hernández Suárez
\n", + "
" + ], + "text/plain": [ + " player_id prob_score prob_assist prob_neither \\\n", + "7 56 0.414222 0.097801 0.487977 \n", + "42 362 0.383731 0.125098 0.491171 \n", + "17 123 0.368955 0.081688 0.549356 \n", + "14 111 0.368278 0.085614 0.546108 \n", + "0 4 0.365843 0.106465 0.527692 \n", + "51 415 0.350319 0.135095 0.514586 \n", + "28 214 0.349878 0.160214 0.489908 \n", + "26 198 0.335624 0.116604 0.547772 \n", + "73 1188 0.334005 0.127461 0.538534 \n", + "62 473 0.334005 0.127461 0.538534 \n", + "\n", + " player_name \n", + "7 Danny Ings \n", + "42 Teemu Pukki \n", + "17 Chris Wood \n", + "14 Florin Andone \n", + "0 Pierre-Emerick Aubameyang \n", + "51 Harry Kane \n", + "28 Jamie Vardy \n", + "26 Dominic Calvert-Lewin \n", + "73 Adam Armstrong \n", + "62 Juan Camilo Hernández Suárez " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
player_idprob_scoreprob_assistprob_neitherplayer_name
211500.1494840.2129540.637562Timo Werner
6510.2539500.2055280.540522Keinan Davis
383390.3043860.2029270.492686Callum Wilson
403500.1494400.1974470.653114Allan Saint-Maximin
473980.2361790.1952260.568596Che Adams
160.3195100.1915360.488954Alexandre Lacazette
634820.2776450.1881170.534238Michail Antonio
292220.3165360.1866910.496773Kelechi Iheanacho
322410.3000730.1855420.514385Patrick Bamford
594680.3083120.1835910.508097Emmanuel Dennis
\n", + "
" + ], + "text/plain": [ + " player_id prob_score prob_assist prob_neither player_name\n", + "21 150 0.149484 0.212954 0.637562 Timo Werner\n", + "6 51 0.253950 0.205528 0.540522 Keinan Davis\n", + "38 339 0.304386 0.202927 0.492686 Callum Wilson\n", + "40 350 0.149440 0.197447 0.653114 Allan Saint-Maximin\n", + "47 398 0.236179 0.195226 0.568596 Che Adams\n", + "1 6 0.319510 0.191536 0.488954 Alexandre Lacazette\n", + "63 482 0.277645 0.188117 0.534238 Michail Antonio\n", + "29 222 0.316536 0.186691 0.496773 Kelechi Iheanacho\n", + "32 241 0.300073 0.185542 0.514385 Patrick Bamford\n", + "59 468 0.308312 0.183591 0.508097 Emmanuel Dennis" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
player_idprob_scoreprob_assistprob_neitherplayer_name
413530.1391150.0831640.777721Joelinton Cássio Apolinário de Lira
564550.1746370.1039910.721373Isaac Success Ajayi
332620.1622910.1253560.712353Roberto Firmino
4490.2218640.0712040.706931Wesley Moraes
241690.1698470.1363830.693770Jordan Ayew
504090.1940460.1233130.682641Shane Long
675530.2263660.1098840.663751Andi Zeqiri
352990.2256040.1191430.655253Gabriel Fernando de Jesus
403500.1494400.1974470.653114Allan Saint-Maximin
211500.1494840.2129540.637562Timo Werner
\n", + "
" + ], + "text/plain": [ + " player_id prob_score prob_assist prob_neither \\\n", + "41 353 0.139115 0.083164 0.777721 \n", + "56 455 0.174637 0.103991 0.721373 \n", + "33 262 0.162291 0.125356 0.712353 \n", + "4 49 0.221864 0.071204 0.706931 \n", + "24 169 0.169847 0.136383 0.693770 \n", + "50 409 0.194046 0.123313 0.682641 \n", + "67 553 0.226366 0.109884 0.663751 \n", + "35 299 0.225604 0.119143 0.655253 \n", + "40 350 0.149440 0.197447 0.653114 \n", + "21 150 0.149484 0.212954 0.637562 \n", + "\n", + " player_name \n", + "41 Joelinton Cássio Apolinário de Lira \n", + "56 Isaac Success Ajayi \n", + "33 Roberto Firmino \n", + "4 Wesley Moraes \n", + "24 Jordan Ayew \n", + "50 Shane Long \n", + "67 Andi Zeqiri \n", + "35 Gabriel Fernando de Jesus \n", + "40 Allan Saint-Maximin \n", + "21 Timo Werner " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df_fwd = display_model(model_fwd);" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "1d789c41", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
player_idprob_scoreprob_assistprob_neitherplayer_name
1152670.2801150.1344710.585414Mohamed Salah
1373150.2735020.2104350.516062Bruno Miguel Borges Fernandes
1784170.2667150.2100360.523249Heung-Min Son
1182740.2633820.1191580.617460Diogo Jota
1132640.2409320.1167670.642300Sadio Mané
19440.2378980.0988180.663284Anwar El Ghazi
1423260.2369870.0537560.709258Mason Greenwood
2034810.2345150.1226960.642789Andriy Yarmolenko
1383190.2282390.1586760.613085Marcus Rashford
1252910.2247600.1457800.629459Raheem Sterling
\n", + "
" + ], + "text/plain": [ + " player_id prob_score prob_assist prob_neither \\\n", + "115 267 0.280115 0.134471 0.585414 \n", + "137 315 0.273502 0.210435 0.516062 \n", + "178 417 0.266715 0.210036 0.523249 \n", + "118 274 0.263382 0.119158 0.617460 \n", + "113 264 0.240932 0.116767 0.642300 \n", + "19 44 0.237898 0.098818 0.663284 \n", + "142 326 0.236987 0.053756 0.709258 \n", + "203 481 0.234515 0.122696 0.642789 \n", + "138 319 0.228239 0.158676 0.613085 \n", + "125 291 0.224760 0.145780 0.629459 \n", + "\n", + " player_name \n", + "115 Mohamed Salah \n", + "137 Bruno Miguel Borges Fernandes \n", + "178 Heung-Min Son \n", + "118 Diogo Jota \n", + "113 Sadio Mané \n", + "19 Anwar El Ghazi \n", + "142 Mason Greenwood \n", + "203 Andriy Yarmolenko \n", + "138 Marcus Rashford \n", + "125 Raheem Sterling " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
player_idprob_scoreprob_assistprob_neitherplayer_name
1493410.0981830.2543880.647429Ryan Fraser
1232870.1300340.2285520.641414Kevin De Bruyne
2175130.1683430.2217020.609955Pedro Lomba Neto
1212840.1669890.2209830.612028Jack Grealish
721760.1260940.2188310.655075Eberechi Eze
39880.1104120.2157420.673845Pascal Groß
1373150.2735020.2104350.516062Bruno Miguel Borges Fernandes
1784170.2667150.2100360.523249Heung-Min Son
2054880.0834560.2051440.711400Saïd Benrahma
982340.0657670.2041190.730115Pablo Hernández Domínguez
\n", + "
" + ], + "text/plain": [ + " player_id prob_score prob_assist prob_neither \\\n", + "149 341 0.098183 0.254388 0.647429 \n", + "123 287 0.130034 0.228552 0.641414 \n", + "217 513 0.168343 0.221702 0.609955 \n", + "121 284 0.166989 0.220983 0.612028 \n", + "72 176 0.126094 0.218831 0.655075 \n", + "39 88 0.110412 0.215742 0.673845 \n", + "137 315 0.273502 0.210435 0.516062 \n", + "178 417 0.266715 0.210036 0.523249 \n", + "205 488 0.083456 0.205144 0.711400 \n", + "98 234 0.065767 0.204119 0.730115 \n", + "\n", + " player_name \n", + "149 Ryan Fraser \n", + "123 Kevin De Bruyne \n", + "217 Pedro Lomba Neto \n", + "121 Jack Grealish \n", + "72 Eberechi Eze \n", + "39 Pascal Groß \n", + "137 Bruno Miguel Borges Fernandes \n", + "178 Heung-Min Son \n", + "205 Saïd Benrahma \n", + "98 Pablo Hernández Domínguez " + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
player_idprob_scoreprob_assistprob_neitherplayer_name
1824240.0221120.0128400.965048Harry Winks
491150.0229300.0322720.944798Jack Cork
1303040.0136370.0417390.944624Fernando Luiz Rosa
1333090.0201900.0367620.943048Nemanja Matic
1673890.0355910.0250330.939376Oriol Romeu Vidal
882120.0182050.0436740.938121Nampalys Mendy
1353120.0349690.0269430.938088Frederico Rodrigues de Paula Santos
441020.0457250.0187870.935488Yves Bissouma
781920.0337870.0334450.932768Allan Marques Loureiro
1764120.0261940.0414050.932401Moussa Sissoko
\n", + "
" + ], + "text/plain": [ + " player_id prob_score prob_assist prob_neither \\\n", + "182 424 0.022112 0.012840 0.965048 \n", + "49 115 0.022930 0.032272 0.944798 \n", + "130 304 0.013637 0.041739 0.944624 \n", + "133 309 0.020190 0.036762 0.943048 \n", + "167 389 0.035591 0.025033 0.939376 \n", + "88 212 0.018205 0.043674 0.938121 \n", + "135 312 0.034969 0.026943 0.938088 \n", + "44 102 0.045725 0.018787 0.935488 \n", + "78 192 0.033787 0.033445 0.932768 \n", + "176 412 0.026194 0.041405 0.932401 \n", + "\n", + " player_name \n", + "182 Harry Winks \n", + "49 Jack Cork \n", + "130 Fernando Luiz Rosa \n", + "133 Nemanja Matic \n", + "167 Oriol Romeu Vidal \n", + "88 Nampalys Mendy \n", + "135 Frederico Rodrigues de Paula Santos \n", + "44 Yves Bissouma \n", + "78 Allan Marques Loureiro \n", + "176 Moussa Sissoko " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df_mid = display_model(model_mid);" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "ae0d5536", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
player_idprob_scoreprob_assistprob_neitherplayer_name
1143360.1097590.0116610.878580Ciaran Clark
29890.1062180.0445100.849272Shane Duffy
1193480.1040410.0377010.858258Fabian Schär
1283810.0995530.0485200.851927Ben Gibson
31920.0872270.0392700.873504Lewis Dunk
18811860.0871090.0424550.870436Trevoh Chalobah
461380.0757720.1103400.813889Marcos Alonso
1725030.0737680.0267310.899501Romain Saïss
1634830.0686290.0086430.922728Craig Dawson
1404180.0667730.1406400.792588Matt Doherty
\n", + "
" + ], + "text/plain": [ + " player_id prob_score prob_assist prob_neither player_name\n", + "114 336 0.109759 0.011661 0.878580 Ciaran Clark\n", + "29 89 0.106218 0.044510 0.849272 Shane Duffy\n", + "119 348 0.104041 0.037701 0.858258 Fabian Schär\n", + "128 381 0.099553 0.048520 0.851927 Ben Gibson\n", + "31 92 0.087227 0.039270 0.873504 Lewis Dunk\n", + "188 1186 0.087109 0.042455 0.870436 Trevoh Chalobah\n", + "46 138 0.075772 0.110340 0.813889 Marcos Alonso\n", + "172 503 0.073768 0.026731 0.899501 Romain Saïss\n", + "163 483 0.068629 0.008643 0.922728 Craig Dawson\n", + "140 418 0.066773 0.140640 0.792588 Matt Doherty" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
player_idprob_scoreprob_assistprob_neitherplayer_name
1133350.0507750.1811940.768031Matt Ritchie
1444260.0549100.1761560.768934Ryan Sessegnon
381140.0079110.1743730.817716Erik Pieters
651890.0320790.1655840.802336Lucas Digne
892710.0329590.1635050.803536Trent Alexander-Arnold
351030.0447670.1502980.804935Tariq Lamptey
1404180.0667730.1406400.792588Matt Doherty
882680.0140850.1356240.850292Andrew Robertson
1664870.0053310.1310410.863628Vladimir Coufal
4110.0048550.1193420.875803Sead Kolasinac
\n", + "
" + ], + "text/plain": [ + " player_id prob_score prob_assist prob_neither player_name\n", + "113 335 0.050775 0.181194 0.768031 Matt Ritchie\n", + "144 426 0.054910 0.176156 0.768934 Ryan Sessegnon\n", + "38 114 0.007911 0.174373 0.817716 Erik Pieters\n", + "65 189 0.032079 0.165584 0.802336 Lucas Digne\n", + "89 271 0.032959 0.163505 0.803536 Trent Alexander-Arnold\n", + "35 103 0.044767 0.150298 0.804935 Tariq Lamptey\n", + "140 418 0.066773 0.140640 0.792588 Matt Doherty\n", + "88 268 0.014085 0.135624 0.850292 Andrew Robertson\n", + "166 487 0.005331 0.131041 0.863628 Vladimir Coufal\n", + "4 11 0.004855 0.119342 0.875803 Sead Kolasinac" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
player_idprob_scoreprob_assistprob_neitherplayer_name
902720.0037700.0065040.989726Joseph Gomez
491490.0043520.0075090.988139Andreas Christensen
1715010.0095790.0046680.985753Conor Coady
10280.0075290.0129880.979483Ben White
1093230.0078620.0135640.978574Eric Bailly
5140.0046730.0199300.975397Rob Holding
1825730.0099150.0171050.972979Emerson Palmieri dos Santos
812370.0183390.0089380.972723Luke Ayling
1163440.0197860.0096430.970570Paul Dummett
30910.0204060.0099450.969649Dan Burn
\n", + "
" + ], + "text/plain": [ + " player_id prob_score prob_assist prob_neither \\\n", + "90 272 0.003770 0.006504 0.989726 \n", + "49 149 0.004352 0.007509 0.988139 \n", + "171 501 0.009579 0.004668 0.985753 \n", + "10 28 0.007529 0.012988 0.979483 \n", + "109 323 0.007862 0.013564 0.978574 \n", + "5 14 0.004673 0.019930 0.975397 \n", + "182 573 0.009915 0.017105 0.972979 \n", + "81 237 0.018339 0.008938 0.972723 \n", + "116 344 0.019786 0.009643 0.970570 \n", + "30 91 0.020406 0.009945 0.969649 \n", + "\n", + " player_name \n", + "90 Joseph Gomez \n", + "49 Andreas Christensen \n", + "171 Conor Coady \n", + "10 Ben White \n", + "109 Eric Bailly \n", + "5 Rob Holding \n", + "182 Emerson Palmieri dos Santos \n", + "81 Luke Ayling \n", + "116 Paul Dummett \n", + "30 Dan Burn " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "df_def = display_model(model_def)" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "e80ef019", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ADAM ARMSTRONG\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "print(\"ADAM ARMSTRONG\")\n", + "aa_id = get_player(\"Adam Armstrong\").player_id\n", + "plot_dirichlet(model_fwd.posterior[model_fwd.player_ids == aa_id].reshape(3))" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "de26f36f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "JAMIE VARDY\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "print(\"JAMIE VARDY\")\n", + "jv_id = get_player(\"Jamie Vardy\").player_id\n", + "plot_dirichlet(model_fwd.posterior[model_fwd.player_ids == jv_id].reshape(3))" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6290fba6", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.10" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 4fe1db1724c368752becc6599e7edbebffdfe5d5 Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Mon, 23 Aug 2021 21:51:12 +0100 Subject: [PATCH 31/43] Update conjugate_player_model.ipynb --- notebooks/conjugate_player_model.ipynb | 545 ++++++++++++------------- 1 file changed, 264 insertions(+), 281 deletions(-) diff --git a/notebooks/conjugate_player_model.ipynb b/notebooks/conjugate_player_model.ipynb index 12433b66..9b9d25a5 100644 --- a/notebooks/conjugate_player_model.ipynb +++ b/notebooks/conjugate_player_model.ipynb @@ -183,7 +183,7 @@ }, { "cell_type": "markdown", - "id": "d9da2d98", + "id": "28d1883d", "metadata": {}, "source": [ "### Implementation" @@ -191,8 +191,8 @@ }, { "cell_type": "code", - "execution_count": 13, - "id": "c583fc11", + "execution_count": 35, + "id": "c625ec6f", "metadata": { "scrolled": true }, @@ -350,7 +350,13 @@ "Filling history dataframe for Cédric Soares: 70/190 done\n", "Filling history dataframe for Pablo Marí: 71/190 done\n", "Filling history dataframe for Calum Chambers: 72/190 done\n", - "Filling history dataframe for Sead Kolasinac: 73/190 done\n", + "Filling history dataframe for Sead Kolasinac: 73/190 done\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Filling history dataframe for Konstantinos Mavropanos: 74/190 done\n", "Filling history dataframe for William Saliba: 75/190 done\n", "Filling history dataframe for Ben White: 76/190 done\n", @@ -429,13 +435,7 @@ "Filling history dataframe for Francisco Sierralta: 149/190 done\n", "Filling history dataframe for Jeremy Ngakia: 150/190 done\n", "Filling history dataframe for Ben Wilmot: 151/190 done\n", - "Filling history dataframe for Ryan Fredericks: 152/190 done\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "Filling history dataframe for Ryan Fredericks: 152/190 done\n", "Filling history dataframe for Arthur Masuaku: 153/190 done\n", "Filling history dataframe for Issa Diop: 154/190 done\n", "Filling history dataframe for Conor Coady: 155/190 done\n", @@ -519,7 +519,13 @@ "Filling history dataframe for John McGinn: 42/235 done\n", "Filling history dataframe for Anwar El Ghazi: 43/235 done\n", "Filling history dataframe for Yoane Wissa: 44/235 done\n", - "Filling history dataframe for Pascal Groß: 45/235 done\n", + "Filling history dataframe for Pascal Groß: 45/235 done\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Filling history dataframe for Enock Mwepu: 46/235 done\n", "Filling history dataframe for Dwight McNeil: 47/235 done\n", "Filling history dataframe for Jorge Luiz Frello Filho: 48/235 done\n", @@ -654,13 +660,7 @@ "Filling history dataframe for Mohamed Naser El Sayed Elneny: 177/235 done\n", "Filling history dataframe for Lucas Torreira: 178/235 done\n", "Filling history dataframe for Mattéo Guendouzi: 179/235 done\n", - "Filling history dataframe for Marvelous Nakamba: 180/235 done\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "Filling history dataframe for Marvelous Nakamba: 180/235 done\n", "Filling history dataframe for Douglas Luiz Soares de Paulo: 181/235 done\n", "Filling history dataframe for Jacob Ramsey: 182/235 done\n", "Filling history dataframe for Aaron Ramsey: 183/235 done\n", @@ -714,7 +714,13 @@ "Filling history dataframe for Morgan Gibbs-White: 231/235 done\n", "Filling history dataframe for Owen Otasowie: 232/235 done\n", "Filling history dataframe for Luke Cundle: 233/235 done\n", - "Filling history dataframe for Chem Campbell: 234/235 done\n", + "Filling history dataframe for Chem Campbell: 234/235 done\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Alpha is [ 7.54817451 7.47175218 54.43733826]\n" ] } @@ -736,7 +742,8 @@ " df = pd.DataFrame(model.get_probs())\n", " df[\"player_name\"] = df[\"player_id\"].apply(lambda x: get_player(x).name)\n", " for c in (\"prob_score\", \"prob_assist\", \"prob_neither\"):\n", - " display(df.sort_values(by=c, ascending=False).head(n_display))\n", + " sort_ascending = True if c == \"prob_neither\" else False\n", + " display(df.sort_values(by=c, ascending=sort_ascending).head(n_display))\n", " return df\n", "\n", "model_fwd = fit_model(\"FWD\")\n", @@ -746,8 +753,8 @@ }, { "cell_type": "code", - "execution_count": 18, - "id": "5f8cf441", + "execution_count": 36, + "id": "a6b1c170", "metadata": {}, "outputs": [ { @@ -1052,113 +1059,101 @@ " \n", " \n", " \n", - " 41\n", - " 353\n", - " 0.139115\n", - " 0.083164\n", - " 0.777721\n", - " Joelinton Cássio Apolinário de Lira\n", + " 7\n", + " 56\n", + " 0.414222\n", + " 0.097801\n", + " 0.487977\n", + " Danny Ings\n", " \n", " \n", - " 56\n", - " 455\n", - " 0.174637\n", - " 0.103991\n", - " 0.721373\n", - " Isaac Success Ajayi\n", + " 1\n", + " 6\n", + " 0.319510\n", + " 0.191536\n", + " 0.488954\n", + " Alexandre Lacazette\n", " \n", " \n", - " 33\n", - " 262\n", - " 0.162291\n", - " 0.125356\n", - " 0.712353\n", - " Roberto Firmino\n", + " 28\n", + " 214\n", + " 0.349878\n", + " 0.160214\n", + " 0.489908\n", + " Jamie Vardy\n", " \n", " \n", - " 4\n", - " 49\n", - " 0.221864\n", - " 0.071204\n", - " 0.706931\n", - " Wesley Moraes\n", + " 42\n", + " 362\n", + " 0.383731\n", + " 0.125098\n", + " 0.491171\n", + " Teemu Pukki\n", " \n", " \n", - " 24\n", - " 169\n", - " 0.169847\n", - " 0.136383\n", - " 0.693770\n", - " Jordan Ayew\n", + " 38\n", + " 339\n", + " 0.304386\n", + " 0.202927\n", + " 0.492686\n", + " Callum Wilson\n", " \n", " \n", - " 50\n", - " 409\n", - " 0.194046\n", - " 0.123313\n", - " 0.682641\n", - " Shane Long\n", + " 29\n", + " 222\n", + " 0.316536\n", + " 0.186691\n", + " 0.496773\n", + " Kelechi Iheanacho\n", " \n", " \n", - " 67\n", - " 553\n", - " 0.226366\n", - " 0.109884\n", - " 0.663751\n", - " Andi Zeqiri\n", + " 64\n", + " 502\n", + " 0.324376\n", + " 0.170336\n", + " 0.505288\n", + " Raúl Jiménez\n", " \n", " \n", - " 35\n", - " 299\n", - " 0.225604\n", - " 0.119143\n", - " 0.655253\n", - " Gabriel Fernando de Jesus\n", + " 59\n", + " 468\n", + " 0.308312\n", + " 0.183591\n", + " 0.508097\n", + " Emmanuel Dennis\n", " \n", " \n", - " 40\n", - " 350\n", - " 0.149440\n", - " 0.197447\n", - " 0.653114\n", - " Allan Saint-Maximin\n", + " 32\n", + " 241\n", + " 0.300073\n", + " 0.185542\n", + " 0.514385\n", + " Patrick Bamford\n", " \n", " \n", - " 21\n", - " 150\n", - " 0.149484\n", - " 0.212954\n", - " 0.637562\n", - " Timo Werner\n", + " 51\n", + " 415\n", + " 0.350319\n", + " 0.135095\n", + " 0.514586\n", + " Harry Kane\n", " \n", " \n", "\n", "" ], "text/plain": [ - " player_id prob_score prob_assist prob_neither \\\n", - "41 353 0.139115 0.083164 0.777721 \n", - "56 455 0.174637 0.103991 0.721373 \n", - "33 262 0.162291 0.125356 0.712353 \n", - "4 49 0.221864 0.071204 0.706931 \n", - "24 169 0.169847 0.136383 0.693770 \n", - "50 409 0.194046 0.123313 0.682641 \n", - "67 553 0.226366 0.109884 0.663751 \n", - "35 299 0.225604 0.119143 0.655253 \n", - "40 350 0.149440 0.197447 0.653114 \n", - "21 150 0.149484 0.212954 0.637562 \n", - "\n", - " player_name \n", - "41 Joelinton Cássio Apolinário de Lira \n", - "56 Isaac Success Ajayi \n", - "33 Roberto Firmino \n", - "4 Wesley Moraes \n", - "24 Jordan Ayew \n", - "50 Shane Long \n", - "67 Andi Zeqiri \n", - "35 Gabriel Fernando de Jesus \n", - "40 Allan Saint-Maximin \n", - "21 Timo Werner " + " player_id prob_score prob_assist prob_neither player_name\n", + "7 56 0.414222 0.097801 0.487977 Danny Ings\n", + "1 6 0.319510 0.191536 0.488954 Alexandre Lacazette\n", + "28 214 0.349878 0.160214 0.489908 Jamie Vardy\n", + "42 362 0.383731 0.125098 0.491171 Teemu Pukki\n", + "38 339 0.304386 0.202927 0.492686 Callum Wilson\n", + "29 222 0.316536 0.186691 0.496773 Kelechi Iheanacho\n", + "64 502 0.324376 0.170336 0.505288 Raúl Jiménez\n", + "59 468 0.308312 0.183591 0.508097 Emmanuel Dennis\n", + "32 241 0.300073 0.185542 0.514385 Patrick Bamford\n", + "51 415 0.350319 0.135095 0.514586 Harry Kane" ] }, "metadata": {}, @@ -1171,8 +1166,8 @@ }, { "cell_type": "code", - "execution_count": 17, - "id": "1d789c41", + "execution_count": 37, + "id": "591a612d", "metadata": {}, "outputs": [ { @@ -1489,84 +1484,84 @@ " \n", " \n", " \n", - " 182\n", - " 424\n", - " 0.022112\n", - " 0.012840\n", - " 0.965048\n", - " Harry Winks\n", + " 137\n", + " 315\n", + " 0.273502\n", + " 0.210435\n", + " 0.516062\n", + " Bruno Miguel Borges Fernandes\n", " \n", " \n", - " 49\n", - " 115\n", - " 0.022930\n", - " 0.032272\n", - " 0.944798\n", - " Jack Cork\n", + " 178\n", + " 417\n", + " 0.266715\n", + " 0.210036\n", + " 0.523249\n", + " Heung-Min Son\n", " \n", " \n", - " 130\n", - " 304\n", - " 0.013637\n", - " 0.041739\n", - " 0.944624\n", - " Fernando Luiz Rosa\n", + " 115\n", + " 267\n", + " 0.280115\n", + " 0.134471\n", + " 0.585414\n", + " Mohamed Salah\n", " \n", " \n", - " 133\n", - " 309\n", - " 0.020190\n", - " 0.036762\n", - " 0.943048\n", - " Nemanja Matic\n", + " 217\n", + " 513\n", + " 0.168343\n", + " 0.221702\n", + " 0.609955\n", + " Pedro Lomba Neto\n", " \n", " \n", - " 167\n", - " 389\n", - " 0.035591\n", - " 0.025033\n", - " 0.939376\n", - " Oriol Romeu Vidal\n", + " 121\n", + " 284\n", + " 0.166989\n", + " 0.220983\n", + " 0.612028\n", + " Jack Grealish\n", " \n", " \n", - " 88\n", - " 212\n", - " 0.018205\n", - " 0.043674\n", - " 0.938121\n", - " Nampalys Mendy\n", + " 138\n", + " 319\n", + " 0.228239\n", + " 0.158676\n", + " 0.613085\n", + " Marcus Rashford\n", " \n", " \n", - " 135\n", - " 312\n", - " 0.034969\n", - " 0.026943\n", - " 0.938088\n", - " Frederico Rodrigues de Paula Santos\n", + " 118\n", + " 274\n", + " 0.263382\n", + " 0.119158\n", + " 0.617460\n", + " Diogo Jota\n", " \n", " \n", - " 44\n", - " 102\n", - " 0.045725\n", - " 0.018787\n", - " 0.935488\n", - " Yves Bissouma\n", + " 69\n", + " 170\n", + " 0.204926\n", + " 0.173788\n", + " 0.621286\n", + " Wilfried Zaha\n", " \n", " \n", - " 78\n", - " 192\n", - " 0.033787\n", - " 0.033445\n", - " 0.932768\n", - " Allan Marques Loureiro\n", + " 125\n", + " 291\n", + " 0.224760\n", + " 0.145780\n", + " 0.629459\n", + " Raheem Sterling\n", " \n", " \n", - " 176\n", - " 412\n", - " 0.026194\n", - " 0.041405\n", - " 0.932401\n", - " Moussa Sissoko\n", + " 62\n", + " 153\n", + " 0.203911\n", + " 0.164048\n", + " 0.632041\n", + " Christian Pulisic\n", " \n", " \n", "\n", @@ -1574,28 +1569,28 @@ ], "text/plain": [ " player_id prob_score prob_assist prob_neither \\\n", - "182 424 0.022112 0.012840 0.965048 \n", - "49 115 0.022930 0.032272 0.944798 \n", - "130 304 0.013637 0.041739 0.944624 \n", - "133 309 0.020190 0.036762 0.943048 \n", - "167 389 0.035591 0.025033 0.939376 \n", - "88 212 0.018205 0.043674 0.938121 \n", - "135 312 0.034969 0.026943 0.938088 \n", - "44 102 0.045725 0.018787 0.935488 \n", - "78 192 0.033787 0.033445 0.932768 \n", - "176 412 0.026194 0.041405 0.932401 \n", + "137 315 0.273502 0.210435 0.516062 \n", + "178 417 0.266715 0.210036 0.523249 \n", + "115 267 0.280115 0.134471 0.585414 \n", + "217 513 0.168343 0.221702 0.609955 \n", + "121 284 0.166989 0.220983 0.612028 \n", + "138 319 0.228239 0.158676 0.613085 \n", + "118 274 0.263382 0.119158 0.617460 \n", + "69 170 0.204926 0.173788 0.621286 \n", + "125 291 0.224760 0.145780 0.629459 \n", + "62 153 0.203911 0.164048 0.632041 \n", "\n", - " player_name \n", - "182 Harry Winks \n", - "49 Jack Cork \n", - "130 Fernando Luiz Rosa \n", - "133 Nemanja Matic \n", - "167 Oriol Romeu Vidal \n", - "88 Nampalys Mendy \n", - "135 Frederico Rodrigues de Paula Santos \n", - "44 Yves Bissouma \n", - "78 Allan Marques Loureiro \n", - "176 Moussa Sissoko " + " player_name \n", + "137 Bruno Miguel Borges Fernandes \n", + "178 Heung-Min Son \n", + "115 Mohamed Salah \n", + "217 Pedro Lomba Neto \n", + "121 Jack Grealish \n", + "138 Marcus Rashford \n", + "118 Diogo Jota \n", + "69 Wilfried Zaha \n", + "125 Raheem Sterling \n", + "62 Christian Pulisic " ] }, "metadata": {}, @@ -1608,8 +1603,8 @@ }, { "cell_type": "code", - "execution_count": 16, - "id": "ae0d5536", + "execution_count": 38, + "id": "60300456", "metadata": {}, "outputs": [ { @@ -1902,113 +1897,101 @@ " \n", " \n", " \n", - " 90\n", - " 272\n", - " 0.003770\n", - " 0.006504\n", - " 0.989726\n", - " Joseph Gomez\n", + " 113\n", + " 335\n", + " 0.050775\n", + " 0.181194\n", + " 0.768031\n", + " Matt Ritchie\n", " \n", " \n", - " 49\n", - " 149\n", - " 0.004352\n", - " 0.007509\n", - " 0.988139\n", - " Andreas Christensen\n", + " 144\n", + " 426\n", + " 0.054910\n", + " 0.176156\n", + " 0.768934\n", + " Ryan Sessegnon\n", " \n", " \n", - " 171\n", - " 501\n", - " 0.009579\n", - " 0.004668\n", - " 0.985753\n", - " Conor Coady\n", + " 140\n", + " 418\n", + " 0.066773\n", + " 0.140640\n", + " 0.792588\n", + " Matt Doherty\n", " \n", " \n", - " 10\n", - " 28\n", - " 0.007529\n", - " 0.012988\n", - " 0.979483\n", - " Ben White\n", + " 65\n", + " 189\n", + " 0.032079\n", + " 0.165584\n", + " 0.802336\n", + " Lucas Digne\n", " \n", " \n", - " 109\n", - " 323\n", - " 0.007862\n", - " 0.013564\n", - " 0.978574\n", - " Eric Bailly\n", + " 89\n", + " 271\n", + " 0.032959\n", + " 0.163505\n", + " 0.803536\n", + " Trent Alexander-Arnold\n", " \n", " \n", - " 5\n", - " 14\n", - " 0.004673\n", - " 0.019930\n", - " 0.975397\n", - " Rob Holding\n", + " 35\n", + " 103\n", + " 0.044767\n", + " 0.150298\n", + " 0.804935\n", + " Tariq Lamptey\n", " \n", " \n", - " 182\n", - " 573\n", - " 0.009915\n", - " 0.017105\n", - " 0.972979\n", - " Emerson Palmieri dos Santos\n", + " 46\n", + " 138\n", + " 0.075772\n", + " 0.110340\n", + " 0.813889\n", + " Marcos Alonso\n", " \n", " \n", - " 81\n", - " 237\n", - " 0.018339\n", - " 0.008938\n", - " 0.972723\n", - " Luke Ayling\n", + " 38\n", + " 114\n", + " 0.007911\n", + " 0.174373\n", + " 0.817716\n", + " Erik Pieters\n", " \n", " \n", - " 116\n", - " 344\n", - " 0.019786\n", - " 0.009643\n", - " 0.970570\n", - " Paul Dummett\n", + " 29\n", + " 89\n", + " 0.106218\n", + " 0.044510\n", + " 0.849272\n", + " Shane Duffy\n", " \n", " \n", - " 30\n", - " 91\n", - " 0.020406\n", - " 0.009945\n", - " 0.969649\n", - " Dan Burn\n", + " 88\n", + " 268\n", + " 0.014085\n", + " 0.135624\n", + " 0.850292\n", + " Andrew Robertson\n", " \n", " \n", "\n", "" ], "text/plain": [ - " player_id prob_score prob_assist prob_neither \\\n", - "90 272 0.003770 0.006504 0.989726 \n", - "49 149 0.004352 0.007509 0.988139 \n", - "171 501 0.009579 0.004668 0.985753 \n", - "10 28 0.007529 0.012988 0.979483 \n", - "109 323 0.007862 0.013564 0.978574 \n", - "5 14 0.004673 0.019930 0.975397 \n", - "182 573 0.009915 0.017105 0.972979 \n", - "81 237 0.018339 0.008938 0.972723 \n", - "116 344 0.019786 0.009643 0.970570 \n", - "30 91 0.020406 0.009945 0.969649 \n", - "\n", - " player_name \n", - "90 Joseph Gomez \n", - "49 Andreas Christensen \n", - "171 Conor Coady \n", - "10 Ben White \n", - "109 Eric Bailly \n", - "5 Rob Holding \n", - "182 Emerson Palmieri dos Santos \n", - "81 Luke Ayling \n", - "116 Paul Dummett \n", - "30 Dan Burn " + " player_id prob_score prob_assist prob_neither player_name\n", + "113 335 0.050775 0.181194 0.768031 Matt Ritchie\n", + "144 426 0.054910 0.176156 0.768934 Ryan Sessegnon\n", + "140 418 0.066773 0.140640 0.792588 Matt Doherty\n", + "65 189 0.032079 0.165584 0.802336 Lucas Digne\n", + "89 271 0.032959 0.163505 0.803536 Trent Alexander-Arnold\n", + "35 103 0.044767 0.150298 0.804935 Tariq Lamptey\n", + "46 138 0.075772 0.110340 0.813889 Marcos Alonso\n", + "38 114 0.007911 0.174373 0.817716 Erik Pieters\n", + "29 89 0.106218 0.044510 0.849272 Shane Duffy\n", + "88 268 0.014085 0.135624 0.850292 Andrew Robertson" ] }, "metadata": {}, @@ -2021,8 +2004,8 @@ }, { "cell_type": "code", - "execution_count": 27, - "id": "e80ef019", + "execution_count": 39, + "id": "30c3c910", "metadata": {}, "outputs": [ { @@ -2034,7 +2017,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -2053,8 +2036,8 @@ }, { "cell_type": "code", - "execution_count": 28, - "id": "de26f36f", + "execution_count": 40, + "id": "844cf552", "metadata": {}, "outputs": [ { @@ -2066,7 +2049,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -2086,7 +2069,7 @@ { "cell_type": "code", "execution_count": null, - "id": "6290fba6", + "id": "dbd3277b", "metadata": {}, "outputs": [], "source": [] From 0acccd24c47a0326c10df6263974f0250f5a65ed Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Mon, 23 Aug 2021 22:43:27 +0100 Subject: [PATCH 32/43] add tests for conjugate prior and scaled goals calculations --- airsenal/tests/test_score_predictions.py | 36 ++++++++++- notebooks/conjugate_player_model.ipynb | 77 +++++++++++------------- 2 files changed, 68 insertions(+), 45 deletions(-) diff --git a/airsenal/tests/test_score_predictions.py b/airsenal/tests/test_score_predictions.py index 54b292fe..46fde1b4 100644 --- a/airsenal/tests/test_score_predictions.py +++ b/airsenal/tests/test_score_predictions.py @@ -21,7 +21,11 @@ get_player_scores, mean_group_min_count, ) -from airsenal.framework.player_model import ConjugatePlayerModel, PlayerModel +from airsenal.framework.player_model import ( + ConjugatePlayerModel, + PlayerModel, + scale_goals_by_minutes, +) from airsenal.framework.bpl_interface import ( get_result_dict, @@ -214,7 +218,34 @@ def test_get_player_history_df(): assert fixture.gameweek < 12 -def test_conjugate_player_model(): +def test_scale_goals_by_minutes(): + """Test scaling goal involvements by minutes played works as expected. Neither + goals should be reduced by fraction of minutes played.""" + goals = np.zeros((2, 2, 3)) + goals[0, :, :] = np.array([[0, 0, 0], [1, 2, 3]]) + goals[1, :, :] = np.array([[0, 1, 2], [1, 0, 2]]) + minutes = np.array([[90, 90], [45, 45]]) + scaled_goals = scale_goals_by_minutes(goals, minutes) + assert (scaled_goals == np.array([[1, 2, 3], [1, 1, 1]])).all() + + +def test_get_conjugate_prior(): + pm = ConjugatePlayerModel() + goals = np.zeros((2, 2, 3)) + goals[0, :, :] = np.array([[0, 0, 0], [2, 2, 5]]) + goals[1, :, :] = np.array([[0, 1, 2], [1, 0, 2]]) + + minutes = np.array([[90, 90], [90, 90]]) + scaled_goals = scale_goals_by_minutes(goals, minutes) + assert (pm.get_prior(scaled_goals, n_goals_prior=15) == np.array([3, 3, 9])).all() + + minutes = np.array([[90, 90], [45, 45]]) + scaled_goals = scale_goals_by_minutes(goals, minutes) + assert (pm.get_prior(scaled_goals, n_goals_prior=4) == np.array([1, 1, 2])).all() + + +def test_fit_conjugate_player_model(): + """Test results of fitting ConjugatePlayerModel""" pm = ConjugatePlayerModel() y = np.zeros((2, 2, 3)) y[0, :, :] = np.array([[0, 0, 0], [1, 2, 3]]) # all y add to 4 @@ -224,6 +255,7 @@ def test_conjugate_player_model(): "player_ids": [0, 1], "minutes": 90 * np.ones((2, 2)), } + pm = pm.fit(data, n_goals_prior=0) assert (pm.posterior == np.array([[1, 2, 3], [3, 2, 1]])).all() diff --git a/notebooks/conjugate_player_model.ipynb b/notebooks/conjugate_player_model.ipynb index 9b9d25a5..989c5086 100644 --- a/notebooks/conjugate_player_model.ipynb +++ b/notebooks/conjugate_player_model.ipynb @@ -41,7 +41,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA3UAAAFTCAYAAACeZCUiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAshUlEQVR4nO3debhsVXnv++9PEDCCIEII0rghooktereIsSNiEhANSVTsImAwhERPkqNHRXMTiU1Ez7HjxogkKI0N2B6IYheVoCaAYIMiNlsE2UgnnTSiou/9Y46FtYu19qrV16z1/TxPPatqdjVG1aq35jtHU6kqJEmSJEn9dJeVLoAkSZIkaf5M6iRJkiSpx0zqJEmSJKnHTOokSZIkqcdM6iRJkiSpx0zqJEmSJKnHTOokSRuV5Ngkf7+R9Y9N8u0RjnNoki9sZP2ZSZ6/gHJunuSbSXYcON5tSc6a7zGXS5LPtrJ+oT3eIclFSTZf6bJJksafSZ0krWJJLknykyQ3JbkhyX8lOSLJHd8PVXVEVb16pmNU1eer6v7LU+JOkkpy36HFhwNnVdUVA8teWFWPm2b/PVoS9e45POf/SfLd9lp9K8nBc9j32CQ3D9x+muSmqfVV9QTgiIHHVwGfa3WSJGmjTOokSU+pqq2A+wBHAy8Djh9lxySbLmXB5ugI4OQRt30b8KU5Hv8W4CnA1sAhwFuT/M4oO7bEeMupG/A+4AOz7PYe4C/mWEZJ0ipkUidJAqCqbqyq04FnAIckeRBAkhOSvKbd3yfJ+iQvS3Il8K6pZVPHSbJLkg8nuSbJtUn+efB5WovX9Um+n2T/mcqT5M9aF8Trk3wyyX3a8qnulF9rrV7PSLIrsDtwzmz1TPJM4AbgM3N4eaiqV1bVt6rql1V1DvB54FFzOUZ7/rsDTwVOnGXTc4Ddp+otSdJMTOokSRuoqnOB9cBjZ9jkN4Bt6Vr2NugemGQT4KPApcAaYCfglIFNHgl8G9gOeANwfJIMP0GSA4FXAH8CbE+XQL2vlW+qO+VDW8vXqcCDgYur6vaN1S3JPYBXAS/a2HazSXI34BHAhfPY/anANcBGx/q1uqwDHjqP55AkrSImdZKk6fyQLnGbzi+BV1bVT6vqJ0Pr9gLuDbykqm6pqtuqanBylEur6l+r6hd0LVU7AjtM8xxHAK+rqotacvNPwJ4babXaBrhphnWDXg0cX1XrZ91y444FvgZ8ch77HgKcVFU1wrY30dVNkqQZmdRJkqazE3DdDOuuqarbZli3C13iNlOL2ZVTd6rq1nZ3y2m2uw/dmLUbktzQypJWrulcD2w1wzoAkuwJPBF488a2m02S/w08CDhoxMRscN9dgX2Ak0bcZSu6rqKSJM1onAa4S5LGQJJH0CVPM/38wMYSmcuAXZNsOltXyFlcBry2qt4z4vYXALvN8rz70HUJ/UHr8bklsEmSB1TVw0d5kiT/COwPPL6qfjxi2QY9F/hiVV08wnNtCtyXrkVQkqQZ2VInSQK68WZJnkw3Bu7dVfX1eRzmXOAK4Ogkd0+yRZJHz+M4xwIvT/LAVratkzx9YP1VdBOjANC6U66j6/45k+OA3wT2bLdjgY8Bf9CeY037qYQ10+2c5OXAs4EnVtW106y/JMmhs9TrYOCEWbaZshdwSVVdOuL2kqRVyqROkvTv7TfTLgP+DngT8Lz5HKiNlXsKXQvTD+gmXHnGPI7zEeD1wClJfgx8g66FbMpRwImte+ZBbdk76FrCZjrmrVV15dQNuBm4raquaZvsQjfBy+UzHOKfgF2BdQO/N/cKgCSbAfcCzp7p+ZM8CtiZ2X/KYMpz6BJPSZI2KnMcDiBJ0lhKsjnwFWDfqroiyafofnLgvKr63RH2/3/pxgu+Yx7P/RjgBVX1rLnu2/b/NLA3cG5V7Zvk14H/BB62kfGLkiQBJnWSJEmS1Gt2v5QkSZKkHjOpkyRJkqQeM6mTJEmSpB4zqZMkSZKkHjOpkyRJkqQeM6mTJEmSpB4zqZMkSZKkHjOpkyRJkqQeM6nrkSRHJXn3PPd9XZK/XeQiaYGSbJ7kW0m2X+mySLNJcmySv1+G5zFejakkH0qy/0qXQ6tTkguT7LOR9Wcmef4Sl8H4NKaSvDHJX650OVaKSd0q0BKGg4F3DCx7fpJ1SW5O8okk9x5Yd1SSn7d1U7fd27qtk3wyyQ1J3pNkk4H9jkvyJ3Ms27ZJPpLkliSXJnn2Rrb93SSfS3JjkkumWb+mrb+1JUpPnEtZpjnes1uZbknyf5Nsu5Ftq2039Xr928C6jw+9lj9L8nWAqvop8E7gyIWUVVoOVXVEVb16tu2SXDLfz98ExaskeX2Sa9vt9UnS1t0vyWlJrklyXSvj/edSlmmeb6R4lWS7JF9sZbohyX8nefRQuV+T5PIWa89M8sCBQ7weeM1CyirNV1U9sKrOhIVd6J6vCYpPL0nyjSQ3Jfl+kpcMrd8zyedbDFifBV7Ma8c7v52fnZ9kz41se/PQ7RdJ/r+B9TO+3sD/AV6RZLOFlLevTOpWh0OBM6rqJwDprnL9E3AgsC3wfeB9Q/ucWlVbDtwubsv/AvgKsAOwBvjjdsxHAfeuqg/PsWxvA37Wjvcc4O1DJxCDbqFLgF4yw/r3tbLdC/g74IOZZwtYK8M7gOe2st0K/Mssuz104PW640phVe0/+FoC/wV8YGC/9wKHJNl8PmWVJsyhTEa8Ohz4I+ChwEOAp7TyAGwDnA7cvx3rXOC0OZblDnOMVzcDfwZsD9yTLkn79ySbtvVPb+sfS/d6/zdw8tTOVXUucI8ka+dbXmnctYsb050jH8pkxKfQJaf3BPYDXpjkmQPr3wuc1er0eOCvkvzhHMvTPVGXYJ0GvLs934nAaTMlXkPnS78B/IR2zjTb611VVwDfAuZV1r4zqVsCSR6e5CvtCsgHkpya5DUD6/+8XWW4LsnpQ1d13prksiQ/blczHjvDc2yR5N0DV1u/lGSHGYq0P/CfA4+fDHygqi6sqp8BrwYel+Q3R6jebsDnWgvT54Hd29WlNwN/PcL+g3W4O/BU4O+r6uaq+gLdic5zp9u+qs6tqpOBi4fXJbkf8HDglVX1k6r6EPD1dvz5eA7w71V1VlXdDPw98CdJtprn8abKuYbuZOmkqWVVtR64Hth7IceWhiU5Msn3Wiz6ZpI/Hlh33yT/2a7E/ijJqW15krw5ydUtDn09yYPauhOmYlm6Fp+PtvhzXbuqe5ckJwO70iUKNyd56WqMV8AhwBuran1VXQ68ke6EcCqWHV9V11XVz1t57p/kXnMp04CR41VV3VZV366qX9Kd2P2C7kRrqmVvN+ALVXVxVf2C7kTsAUOHORM4YJ5l1SqXriX/fyW5oMWfU5NsMbD+yUm+2mLFfyV5yNC+T0yyH/AK4Bktznxt4Cnuk641+qYkn0qy3cD+e7dj3pDkaxnoypmuVfq1Sb5Id2Fk92mKPxHxqareUFVfrqrbq+rbdEnXowc2WQO8p6p+UVXfA74AzJQgzmYfYFPgLVX106o6hi72PGGEfZ8KXE33+sBor/eZrNL4ZFK3yNqVh48AJ9B9Sb6PdvWlrX8C8DrgIGBH4FLglIFDfAnYs+37XuADg8FuwCHA1sAudC1TR9BdzZjOg4FvDxd1mvsPGlj2lHaidmE27J/8DeCJSe5Gl5xcSBd8Pj5w9elXB+5OKj86Q7nuB9xeVd8ZWPY15hc4HghcXFU3LcKxpo53x5dEC2o/oyvzTM5KcmWSD7fkbToHA5+vqkuGll9Ed0VfWkzfo/ucbg38I/DuJDu2da8GPkV3Qr8zMNW95feBx9H9r29NF6uunebYLwbW07X47EB3glVV9VzgB8BT2tXWN7A649UGMWSWbR8HXFlV073Oo5hzvEpyAXAb3Ynfv1XV1W3VKcBvpusiele69+4TQ7sbr7RQB9G1EO1G15J9KECSh9H1yPkLuljxDuD0DPVkqapP0LXYTLWCDf4/Pht4HvDrwGbA/2rH3gn4GF334W3b8g9lwx49z6VrZd+K7vxs2KTEp8HjZuD5p7wFODjJXdN1DX8U8B+zHWsGDwQuqKoaWHbBKGWjiz8nDe072+u9auOTSd3i25vuisQxVfXz1nx+7sD65wDvbFdIfgq8HHjUVBJQVe+uqmvb1ZM3ApvTddEZ9nO6gHffdiXl/Kr68Qxl2gYYTHY+ARyU5CEtmPwDUMCvtfXvB36b7mTtz4F/SPKstu54upOzc+iunHyNLgi+Jd0kCmdloFWyqo6uqifPUK4tgeEy30gXTOdqy7bvYhxrPsd7PN2Vrd8Cfgh8NL/qzjToYLqEf9hNdO+TtGiq6gNV9cOq+mVVnQp8F9irrf45cB+6bj63tSu7U8u3ovtfTlVd1Lq0DPs53YWp+7RY9/mhL97hbVdbvBqOITcCW7YTqDsk2Zmu29SLZjjOKOYc/6rqIcA96E6AvzCw6or2+Nt0iffTgf85tLvxSgt1TItN1wH/TncxG7qE6h1VdU6LFScCP2VuPVneVVXfaV0k3z9w7D+l6zp5RouJnwbOA540sO8JrRXo9taKPmwbJiM+DTqKLh9418CyjwJPo4sB3wKOr6ovjXCsmco25/OzJPehO7c6cWDxbK83rOL4ZFK3+O4NXD50cnPZ0Po7rv60rjLXAjsBtC4JF7UuCTfQfeC3485OBj4JnJLkh0ne0K6qTud6Bj48VfUfwCuBDwGXtNtNdFfdqapvtmD7i6r6L+CtdB/uqa47h1fVQ6rqSLpuAq+gS1bvQvcBfGTrGjGbm+lOKgbdgw0D5qhGPlaSXTMwCHcxyta6Pf2sqm4A/obu6uNvDz3vY+j6h39wmkNsBdwwQ1mkeUly8EA3phvormZOxZOX0l3lPLddQf4zgKr6LPDPdInG1ekG7A9/FgD+N7AO+FSSi5NsbLKf1Rivhre/B3Dz4HdDayH4FPAvVTU8Dmdqm0WPV1Pa6/M+4MgkU1e2/wF4BF2r6hZ0LbyfTTJ40mS80kJdOXD/VroTf+guNL14Kma1uLUL3bnTYhz76UPHfgzdxakpg+dr05mU+ARAkhfSXWw+oDU0kG6SpU8Ar6KLAbsAf5Dkr2Y4xoUDMWq6IUPzPdd7Ll1X8O9PLZjt9W5WbXwyqVt8VwA7DV2N3WXg/g/pAgtwRz/oewGXtw/DS+m6Jdyzqrahu5qxwZVdgHZl/B+r6gHA79D1Mz54hjJdwFA3nKp6W1XtUVU70H04NqXrCjCdmq4MLdCkdYN4MHBeO2E5j647xWy+A2yaZI+BZQ9lwy4Ao7qQrj/64JWfaY9VVT+oDQfiznS8O5rv081WtXkr8yime80OAT7cEvlhv82GXbWkBWlXOf8VeCFwrxZPvkH7v6yqK6vqz6vq3nRdnf4lyX3bumOq6v+hG0t1P6aZnKiqbqqqF1fV7nSD0l+UZN+p1UPbrsZ4tUEMGd42yT3pErrTq+q1Mz3pMsWru/Kr8UN70nVpW99aK06g66I7OK7OeKWlchnw2qraZuD2azNc9JipZ8DGjn3y0LHvXlVHz+GYkxKfaBfyjgT2rW5s/5TdgV9U1UktBqyn65b9pOmOU92MpFMx6vPTbHIh8JCh8+KHbKxszcFs2Eo39Xyzvd6rNj6Z1C2+/6YbeP7CJJsmOZBfdXeCbozd89JN77o5XZ/wc6obY7UVcDtwDd2H8x+489UN4I7p/R+cblDtj+m6N/1yhjKdQXfFZ2rfLZI8KJ1dgeOAt1bV9W39gUnu2dbvRdfHe4OZ2dKN8zsa+Nu26PvAPunGFD6aaSYzGVZVtwAfBl6V5O7pptU+kIGZ1oae8y7tee/aPcwW7fmorh/5V4FXtuV/TBc0PjRbOWbwHrp+8I9tifer6BKy6Vr+Htjez02SbEk3IcLldP26p7a5G12yfsI0++9E17//7HmWVZrO3elOIK4BSPI8BsYdJHl66/oH3dXnAn6Z5BFJHtla0m6hG3d1p9iSbjKD+7Yv6hvp4t7UdlcxMMnAaoxXdJMhvSjJTukmw3ox7fPfWj4/CXyxXaFfqLnEq72TPCbJZknuluRldGMiz2mbfImuNWOHFnOfSxdz1w0c5vHAxxeh3NKwfwWOaDEo7bN2QKafpOwqYE2mn6VyOu+m+5z8Qfu+3iLJPgNxcBQTEZ+SPIfu/PP36s7j977TbZJntxjwG8Az6BLa+TiT7vvhr9P9Nu8L2/LPzrRDkt+h68H2gaHlG329m9Ubn6rK2yLfgLV0CcbNdP+QH6abkWhq/RF0ExhcR9dveee2fBO6AcI/pmvxeyld0/IT2/qjgHe3+8+iG/NwC11gOwbYdIbybEfXNH239ngbug/nLXTdFF4HbDKw/fvouoTeTNeX+q+nOeargJcMPN6a7qrzjXQTvGzSlr+CbtDvTK/VtsD/bWX5AfDsgXWPpeuuNPV4H7oTz8HbmQPr19AFj5+01+aJC3wfn93KdAtdEN52YN3HgVe0+08YeC+ubvXZY+hYz6LrdptpnuclwJtW+v/W2+TdgNe2OPMj4E10s7Y9v617A93Fh5tbPDq8Ld+3xYeb237vAbZs604AXtPu/88Wn25p8WUwxh3YPjs30E1GsBrjVdprfF27vWHq80/Xal/tODcP3HZdwHs9arx6PN1V7Jtauf4TeNzAtlvQdb29gu676MvAfgPrHwF8eaX/t73198bAeU17fBTt3KY93o/u4sIN7f/wA8BWw/vS9XL6At1FqS+3ZWfSYlx7fChdF76px49s//PX0V3w+tjU52543xnKPinx6ft0F9cG48+xA+uf0N6DG1u9/hX4tQW85w8Dzqc7P/sy8LCBdXeqF90EOSdPc5zZXu8d2/uz2Ur/n6/EbeoLRksoyTl0H5Z3rWAZ/gm4uqreslJl0J2la639Gt1J1dWzbS+tBsar8ZXkQ3STJpyx0mWRVoLxaXwleSPwvaqa7XeFJ5JJ3RJI8ni6q9I/ohvweiywe00/g5wkSZIkzdt0U65r4e5PN43t3en6Qj/NhE6SJEnSUrClTpIkSZJ6zNkvJUmSJKnHTOokSZIkqcfGYkzddtttV2vWrFnpYkhaROeff/6Pqmr7lS7HQhibpMlkfJI0jhYSm8YiqVuzZg3nnXfeShdD0iJKculKl2GhjE3SZDI+SRpHC4lNdr+UJEmSpB4zqZMkSZKkHjOpkyRJkqQeM6mTJEmSpB4zqZMkSZKkHjOpkyRJkqQeM6mTJEmSpB4zqZMkSZKkHjOpkyRJkqQeM6mTJEmSpB4zqZMkSZKkHtt0pQsgSavFmiM/dsf9S44+YAVLIkmSJoktdZIkSZLUYyZ1kiRJktRjJnWSJEmS1GMmdZIkSZLUYyZ1kiRJktRjIyV1SbZJ8sEk30pyUZJHJdk2yaeTfLf9vWfbNkmOSbIuyQVJHr60VZAkSZKk1WvUlrq3Ap+oqt8CHgpcBBwJfKaq9gA+0x4D7A/s0W6HA29f1BJLkiRJku4wa1KXZGvgccDxAFX1s6q6ATgQOLFtdiLwR+3+gcBJ1Tkb2CbJjotcbkmSJEkSo7XU7QZcA7wryVeS/FuSuwM7VNUVbZsrgR3a/Z2Aywb2X9+WbSDJ4UnOS3LeNddcM/8aSNIiMjZJGlfGJ0kzGSWp2xR4OPD2qnoYcAu/6moJQFUVUHN54qo6rqrWVtXa7bfffi67StKSMTZJGlfGJ0kz2XSEbdYD66vqnPb4g3RJ3VVJdqyqK1r3yqvb+suBXQb237ktkyQ1a4782AaPLzn6gBUqiSRJ6rtZW+qq6krgsiT3b4v2Bb4JnA4c0pYdApzW7p8OHNxmwdwbuHGgm6YkSZIkaRGN0lIH8D+A9yTZDLgYeB5dQvj+JIcBlwIHtW3PAJ4ErANubdtKkiRJkpbASEldVX0VWDvNqn2n2baAFyysWJK0ugx2x7QrpiRJmotRf6dOkiRJkjSGTOokSZIkqcdM6iRJkiSpx0zqJEmSJKnHTOokSZIkqcdM6iRJkiSpx0zqJEmSJKnHTOokSZIkqcdM6iRJkiSpx0zqJEmSJKnHTOokSZIkqcc2XekCSNIkW3Pkx1a6CJIkacLZUidJkiRJPWZSJ0mSJEk9ZlInSZIkST1mUidJkiRJPeZEKZK0yJwcRZIkLSeTOkkaM4NJ4SVHH7CCJZEkSX1g90tJkiRJ6jFb6iRpjNlqJ0mSZmNLnSRJkiT1mEmdJEmSJPWYSZ0kSZIk9ZhJnSRJkiT1mEmdJEmSJPWYSZ0kSZIk9ZhJnSRJkiT1mL9TJ0mLYPD35CRJkpaTLXWSJEmS1GMmdZIkSZLUY3a/lKSeGOziecnRB6xgSSRJ0jixpU6SJEmSemykpC7JJUm+nuSrSc5ry7ZN8ukk321/79mWJ8kxSdYluSDJw5eyApIkSZK0ms2lpe53q2rPqlrbHh8JfKaq9gA+0x4D7A/s0W6HA29frMJKkiRJkja0kO6XBwIntvsnAn80sPyk6pwNbJNkxwU8jyRJkiRpBqMmdQV8Ksn5SQ5vy3aoqiva/SuBHdr9nYDLBvZd35ZJkiRJkhbZqLNfPqaqLk/y68Cnk3xrcGVVVZKayxO35PBwgF133XUuu0rSkjE2SRpXxidJMxkpqauqy9vfq5N8BNgLuCrJjlV1ReteeXXb/HJgl4Hdd27Lho95HHAcwNq1a+eUEE6qwenKwSnLpZVgbJI0roxPkmYya/fLJHdPstXUfeD3gW8ApwOHtM0OAU5r908HDm6zYO4N3DjQTVOSJEmStIhGaanbAfhIkqnt31tVn0jyJeD9SQ4DLgUOatufATwJWAfcCjxv0UstSZIkCbC3l0ZI6qrqYuCh0yy/Fth3muUFvGBRSidJkiRJ2qiF/KSBJEmSJGmFmdRJkiRJUo+N+pMGWgLD/Z8lSZIkaa5M6sbYxpI+B8BKkiRJArtfSpIkSVKvmdRJkiRJUo+Z1EmSJElSjzmmTpIkSZpg/jj55DOpk6Qe8gtakiRNMalbYp54SZIkSVpKjqmTJEmSpB6zpU6SJEkaI0vd08ueZJPHpE6SJsDgF7RfzpIkrS4mdZIkSdIKGm45k+bKMXWSJEmS1GO21PWUfaElSZIkgUndsrN5XZIkSdJisvulJEmSJPWYSZ0kSZIk9ZhJnSRJkiT1mGPqJEmSpFXMCfj6z5Y6SZIkSeoxW+okSZKkHnE2dQ0zqZMkSZImiEnf6mP3S0mSJEnqMZM6SZIkSeoxkzpJkiRJ6jHH1C2ycenD7NS0kiRJk2Fczi81vkzqJGnCDH75e0FHkqTJZ/dLSZIkSeoxW+okSZIkzchhPePPpE6SJEnSHRzD1z8mdZI0D37hSZKkcTHymLokmyT5SpKPtse7JTknybokpybZrC3fvD1e19avWaKyS5IkSdKqN5eWur8BLgLu0R6/HnhzVZ2S5FjgMODt7e/1VXXfJM9s2z1jEcusaczWauBseJIkSdJkGimpS7IzcADwWuBFSQI8AXh22+RE4Ci6pO7Adh/gg8A/J0lV1eIVW5IkSeonu/BrsY3a/fItwEuBX7bH9wJuqKrb2+P1wE7t/k7AZQBt/Y1te0mSJEnSIps1qUvyZODqqjp/MZ84yeFJzkty3jXXXLOYh5akeTM2SRpXxidJMxmlpe7RwB8muQQ4ha7b5VuBbZJMdd/cGbi83b8c2AWgrd8auHb4oFV1XFWtraq122+//YIqIUmLxdgkaVwZnyTNZNakrqpeXlU7V9Ua4JnAZ6vqOcDngKe1zQ4BTmv3T2+Paes/63g6SZIkSVoaC/mdupcBpyR5DfAV4Pi2/Hjg5CTrgOvoEsGJ4kySkiRJksbFnJK6qjoTOLPdvxjYa5ptbgOevghlkyRJkiTNYuQfH5ckSZIkjR+TOkmSJEnqMZM6SZIkSeqxhUyUIjacNEWSJEmSlptJnSRJkrSIhi/6O1u6lppJnSRNMH+CRZKkyeeYOkmSJEnqMVvqViG7BEiSJEmTw5Y6SZIkSeoxkzpJkiRJ6jG7X0qSJElLyJ/A0lKzpU6SJEmSesykTpIkSZJ6zKROkiRJknrMpE6SJEmSesykTpIkSZJ6zKROkiRJknrMpE6SJEmSesykTpIkSZJ6zKROkiRJknps05UuQB+sOfJjK10ESZIkSZqWLXWSJEmS1GMmdZIkSZLUYyZ1kiRJktRjjqnTncYMXnL0AStUEkmSJElzZUudJEmSJPWYLXWSJEmSRmYvr/FjS50kSZIk9ZhJnSRJkiT1mN0vdSc2qUuSJEn9YUudJEmSJPWYLXWSNKLhVmxJkqRxMGtLXZItkpyb5GtJLkzyj235bknOSbIuyalJNmvLN2+P17X1a5a4DpIkSZK0ao3S/fKnwBOq6qHAnsB+SfYGXg+8uaruC1wPHNa2Pwy4vi1/c9tOkiRJkrQEZu1+WVUF3Nwe3rXdCngC8Oy2/ETgKODtwIHtPsAHgX9OknacXrCLlSRJkqS+GGlMXZJNgPOB+wJvA74H3FBVt7dN1gM7tfs7AZcBVNXtSW4E7gX8aBHLLUmSJGkMOHP6yhspqauqXwB7JtkG+AjwWwt94iSHA4cD7Lrrrgs9nCQtikmOTYNfun7hSv0zyfFJ0sLM6ScNquoG4HPAo4BtkkwlhTsDl7f7lwO7ALT1WwPXTnOs46pqbVWt3X777edXeklaZMYmSePK+CRpJqPMfrl9a6Ejyd2A3wMuokvuntY2OwQ4rd0/vT2mrf9sn8bTSZIkSVKfjNL9ckfgxDau7i7A+6vqo0m+CZyS5DXAV4Dj2/bHAycnWQdcBzxzCcotSZIkSWK02S8vAB42zfKLgb2mWX4b8PRFKZ0kSZIkaaPmNKZOkiRJkjReRpr9UpIkSdL0/I1jrTRb6iRJkiSpx2ypk6RVyB+KlSRpcthSJ0mSJEk9ZlInSZIkST1mUidJkiRJPWZSJ0mSJEk9ZlInSZIkST3m7Jea1eAsec6QJ0mSJI0XW+okSZIkqcdsqZMkSZK0aPwt1OVnS50kSZIk9ZgtdZIkSdIcDLdESSvNljpJkiRJ6jFb6jQn9pGWJEmSxostdZIkSZLUYyZ1kiRJktRjJnWSJEmS1GMmdZIkSZLUYyZ1kiRJktRjzn4pSZIkack4e/rSs6VOkiRJknrMljpJkiRpgC1L6huTOknSBicwnrxI0oaGkzxp3Nj9UpIkSZJ6zKROkiRJknpsVXa/tJ+0JEmSpElhS50kSZIk9ZhJnSRJkiT1mEmdJEmSJPWYSZ0kSZIk9diqnChlmL89IkmSJKmvZm2pS7JLks8l+WaSC5P8TVu+bZJPJ/lu+3vPtjxJjkmyLskFSR6+1JWQJEmSpNVqlJa624EXV9WXk2wFnJ/k08ChwGeq6ugkRwJHAi8D9gf2aLdHAm9vfyVJPTPYk8Gff5EkLQZ/XmzxzdpSV1VXVNWX2/2bgIuAnYADgRPbZicCf9TuHwicVJ2zgW2S7LjYBZckSZIkzXFMXZI1wMOAc4AdquqKtupKYId2fyfgsoHd1rdlVyBJkiSNGedXUN+NPPtlki2BDwF/W1U/HlxXVQXUXJ44yeFJzkty3jXXXDOXXSVpyRibJI0r45OkmYzUUpfkrnQJ3Xuq6sNt8VVJdqyqK1r3yqvb8suBXQZ237kt20BVHQccB7B27do5JYSStFSMTV6xlsaV8UnSTEaZ/TLA8cBFVfWmgVWnA4e0+4cApw0sP7jNgrk3cONAN01JkiRJ0iIapaXu0cBzga8n+Wpb9grgaOD9SQ4DLgUOauvOAJ4ErANuBZ63mAWWJEmSJP3KrEldVX0ByAyr951m+wJesMByqSecklaSJElaWSNPlCJJkiRJGj8mdZIkSZLUY3P6nTpJ0upld2tJksaTLXWSJEmS1GMmdZIkSZLUYyZ1kiRJktRjjqnTonLMjSRJkubC88eFs6VOkiRJknrMpE6SJEmSesykTpIkSZJ6zDF1WlKDfaTtHy1JkiQtPlvqJEmSJKnHTOokSZIkqcdM6iRJkiSpx0zqJEmSJKnHnChFkjQvToQkSdJ4sKVOkiRJknrMpE6SJEmSeszul1o2g121wO5akiRJujPPGedu1SR1w/8ckiRJkjQJ7H4pSZIkST22alrqJElLx5kwJUlaOSZ1kiRJmmgOw9GkM6mTpI3wRECSJI07x9RJkiRJUo+Z1EmSJElSj9n9UpK0qJw0RZKk5WVLnSRJkiT1mEmdJEmSJPWYSZ0kSZIk9Zhj6rRihqeKd+yNJEmSNHcmdZIkSZLGlg0Bs5s1qUvyTuDJwNVV9aC2bFvgVGANcAlwUFVdnyTAW4EnAbcCh1bVl5em6JIkSdKdDScB0qQbZUzdCcB+Q8uOBD5TVXsAn2mPAfYH9mi3w4G3L04xJUmSJEnTmbWlrqrOSrJmaPGBwD7t/onAmcDL2vKTqqqAs5Nsk2THqrpi0UosSeoNf7NOkqSlN9/ZL3cYSNSuBHZo93cCLhvYbn1bJkmSJElaAgueKKWqKknNdb8kh9N10WTXXXddaDEkaVEMx6ascHkkaYrnTlLHiVPubL5J3VVT3SqT7Ahc3ZZfDuwysN3ObdmdVNVxwHEAa9eunXNSqMnjB1TjYDg2/WiFyyNJUzx3kjST+SZ1pwOHAEe3v6cNLH9hklOARwI3rtR4Omc9kiRJkrQajPKTBu+jmxRluyTrgVfSJXPvT3IYcClwUNv8DLqfM1hH95MGz1uCMkuSJEmSmlFmv3zWDKv2nWbbAl6w0EJJkiRJkkYz39kvJUmSJEljYMGzX0qSJEkrybkUtNrZUidJkiRJPWZLnSRpRQxeWfcnTCRJmj9b6iRJkiSpx2ypkyQtC8e8SJK0NCYmqfNkYfLYNUuSJEmand0vJUmSJKnHTOokSZIkqccmpvulJEmSpNVneBjWahy2Y0udJEmSJPWYSZ0kSZIk9ZhJnSRJkiT1mGPq1Av2lZYkSZKmZ1InSZKkXvH3iaUN2f1SkiRJknrMljr1kt0xpcky+Jn28yxJ0tz0Nqmz2V2SJpMJnqRBnvNJs7P7pSRJkiT1WG9b6qRBs13F82q/1E+22kmrjy1z0tzZUidJkiRJPWZLnSSpl2zFkySpY1InSeoFu2RJkuZjuu+PSbsYaFInSZIkaWKsxouAJnVadfyNO0mSJE0SkzqtCqvxio0kSX3gd7S0cM5+KUmSJEk9ZkudJEmSpFVl0objmNRJkiaWP3sgSVoNTOokSRPF8TnSePMzKi2+XiV1BgFJkiRJ2lCvkjppKUxan2pJo7FrprQ8vCivPuj7+eBYJ3UGAY0DT/yk8ef3hSRpNVuSpC7JfsBbgU2Af6uqo5fieaSl4MmhJEnS6ta3lrtFT+qSbAK8Dfg9YD3wpSSnV9U3F/u5JEka1WJcsLHlXpI0jpaipW4vYF1VXQyQ5BTgQMCkThOnb1dxJE1vpoTPz7R0Z/Zo0Wo07ud8S5HU7QRcNvB4PfDIJXgeadnN9YtsLtuPW3CQtPHP8EytdhvbZ5TPua2BkjT+ZjvHW+74napa3AMmTwP2q6rnt8fPBR5ZVS8c2u5w4PD28EHANxa1IMtvO+BHK12IRTAJ9bAO4+H+VbXVShdiriYwNsFk/D9Zh/EwCXUA49O4mIT/p0moA0xGPSahDvOOTUuR1D0KOKqq/qA9fjlAVb1uI/ucV1VrF7Ugy2wS6gCTUQ/rMB6sw/iYhHpYh/EwCXWAyaiHdRgPk1AHmIx6rPY63GWxCwN8CdgjyW5JNgOeCZy+BM8jSZIkSaveoo+pq6rbk7wQ+CTdTxq8s6ouXOznkSRJkiQt0e/UVdUZwBlz2OW4pSjHMpuEOsBk1MM6jAfrMD4moR7WYTxMQh1gMuphHcbDJNQBJqMeq7oOiz6mTpIkSZK0fJZiTJ0kSZIkaZksa1KXZL8k306yLsmR06zfPMmpbf05SdYsZ/lGMUIdXpTkm0kuSPKZJPdZiXJuzGx1GNjuqUkqydjNJDRKHZIc1N6LC5O8d7nLOIoR/p92TfK5JF9p/1NPWolyziTJO5NcnWTaabXTOabV74IkD1/uMo7C2DQ+jE/joe+xCYxP42QS4pOxaXz0PT4tWWyqqmW50U2a8j1gd2Az4GvAA4a2+Svg2Hb/mcCpy1W+RazD7wK/1u7/ZR/r0LbbCjgLOBtYu9Llnsf7sAfwFeCe7fGvr3S551mP44C/bPcfAFyy0uUeKt/jgIcD35hh/ZOAjwMB9gbOWekyz/N9MDaNST3adsanla/DWMemVi7j0xjcJiE+GZvG5zYJ8WmpYtNyttTtBayrqour6mfAKcCBQ9scCJzY7n8Q2DdJlrGMs5m1DlX1uaq6tT08G9h5mcs4m1HeB4BXA68HblvOwo1olDr8OfC2qroeoKquXuYyjmKUehRwj3Z/a+CHy1i+WVXVWcB1G9nkQOCk6pwNbJNkx+Up3ciMTePD+DQeeh+bwPi0jGWczSTEJ2PT+Oh9fFqq2LScSd1OwGUDj9e3ZdNuU1W3AzcC91qW0o1mlDoMOowu0x4ns9ahNfPuUlUfW86CzcEo78P9gPsl+WKSs5Pst2ylG90o9TgK+NMk6+lmlP0fy1O0RTPXz8xKMDaND+PTeFgNsQmMT8tlEuKTsWl8rIb4NK/YtCQ/aSBI8qfAWuDxK12WuUhyF+BNwKErXJSF2pSuG8E+dFf8zkry4Kq6YSULNQ/PAk6oqjcmeRRwcpIHVdUvV7pg6qe+xiYwPo0ZY5MWXV/jk7Fp7KzK+LScLXWXA7sMPN65LZt2mySb0jWZXrsspRvNKHUgyROBvwP+sKp+ukxlG9VsddgKeBBwZpJL6Prynj5mA35HeR/WA6dX1c+r6vvAd+gC1TgZpR6HAe8HqKr/BrYAtluW0i2OkT4zK8zYND6MT+NhNcQmMD4tl0mIT8am8bEa4tP8YtNSDwYcGPS3KXAxsBu/Gtj4wKFtXsCGg33fv1zlW8Q6PIxuAOceK13e+dZhaPszGb/BvqO8D/sBJ7b729E1Y99rpcs+j3p8HDi03f9tun7hWemyD5VxDTMP9j2ADQf7nrvS5Z3n+2BsGpN6DG1vfFq5Oox9bGplMz71ow5jHZ+MTStf/jnWY+zj01LEpuWuwJPosv7vAX/Xlr2K7qoMdJn0B4B1wLnA7iv9os+jDv8BXAV8td1OX+kyz7UOQ9uOXWAa8X0IXVeIbwJfB5650mWeZz0eAHyxBa2vAr+/0mUeKv/7gCuAn9Nd4TsMOAI4YuB9eFur39fH8X9pxPfB2DQm9Rja1vi0cnUY69jUymh8GpPbJMQnY9P43Poen5YqNqXtLEmSJEnqoWX98XFJkiRJ0uIyqZMkSZKkHjOpkyRJkqQeM6mTJEmSpB4zqZMkSZKkHjOpkyRJkqQeM6mTJEmSpB4zqZMkSZKkHvv/AeUJcbGCzekMAAAAAElFTkSuQmCC\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -53,7 +53,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -183,7 +183,7 @@ }, { "cell_type": "markdown", - "id": "28d1883d", + "id": "e3a17d9d", "metadata": {}, "source": [ "### Implementation" @@ -191,8 +191,8 @@ }, { "cell_type": "code", - "execution_count": 35, - "id": "c625ec6f", + "execution_count": 2, + "id": "bb66fd6c", "metadata": { "scrolled": true }, @@ -276,7 +276,6 @@ "Filling history dataframe for Dane Scarlett: 72/75 done\n", "Filling history dataframe for Stipe Perica: 73/75 done\n", "Filling history dataframe for Adedapo Awokoya-Mebude: 74/75 done\n", - "Alpha is [19.30121916 9.36931379 37.59613372]\n", "Filling history dataframe for Trent Alexander-Arnold: 0/190 done\n", "Filling history dataframe for Andrew Robertson: 1/190 done\n", "Filling history dataframe for Virgil van Dijk: 2/190 done\n", @@ -350,13 +349,7 @@ "Filling history dataframe for Cédric Soares: 70/190 done\n", "Filling history dataframe for Pablo Marí: 71/190 done\n", "Filling history dataframe for Calum Chambers: 72/190 done\n", - "Filling history dataframe for Sead Kolasinac: 73/190 done\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "Filling history dataframe for Sead Kolasinac: 73/190 done\n", "Filling history dataframe for Konstantinos Mavropanos: 74/190 done\n", "Filling history dataframe for William Saliba: 75/190 done\n", "Filling history dataframe for Ben White: 76/190 done\n", @@ -381,7 +374,13 @@ "Filling history dataframe for Charlie Taylor: 95/190 done\n", "Filling history dataframe for Nathan Collins: 96/190 done\n", "Filling history dataframe for Ethan Ampadu: 97/190 done\n", - "Filling history dataframe for Emerson Palmieri dos Santos: 98/190 done\n", + "Filling history dataframe for Emerson Palmieri dos Santos: 98/190 done\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Filling history dataframe for James Tomkins: 99/190 done\n", "Filling history dataframe for Cheikhou Kouyaté: 100/190 done\n", "Filling history dataframe for Jarosław Jach: 101/190 done\n", @@ -473,7 +472,6 @@ "Filling history dataframe for Jamal Baptiste: 187/190 done\n", "Filling history dataframe for Ki-Jana Hoever: 188/190 done\n", "Filling history dataframe for Christian Marques: 189/190 done\n", - "Alpha is [ 2.20695308 3.80735945 66.82079385]\n", "Filling history dataframe for Mohamed Salah: 0/235 done\n", "Filling history dataframe for Bruno Miguel Borges Fernandes: 1/235 done\n", "Filling history dataframe for Sadio Mané: 2/235 done\n", @@ -519,13 +517,7 @@ "Filling history dataframe for John McGinn: 42/235 done\n", "Filling history dataframe for Anwar El Ghazi: 43/235 done\n", "Filling history dataframe for Yoane Wissa: 44/235 done\n", - "Filling history dataframe for Pascal Groß: 45/235 done\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "Filling history dataframe for Pascal Groß: 45/235 done\n", "Filling history dataframe for Enock Mwepu: 46/235 done\n", "Filling history dataframe for Dwight McNeil: 47/235 done\n", "Filling history dataframe for Jorge Luiz Frello Filho: 48/235 done\n", @@ -534,7 +526,13 @@ "Filling history dataframe for Ayoze Pérez: 51/235 done\n", "Filling history dataframe for Jack Harrison: 52/235 done\n", "Filling history dataframe for Xherdan Shaqiri: 53/235 done\n", - "Filling history dataframe for Alex Oxlade-Chamberlain: 54/235 done\n", + "Filling history dataframe for Alex Oxlade-Chamberlain: 54/235 done\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Filling history dataframe for Daniel James: 55/235 done\n", "Filling history dataframe for Joseph Willock: 56/235 done\n", "Filling history dataframe for Theo Walcott: 57/235 done\n", @@ -716,13 +714,6 @@ "Filling history dataframe for Luke Cundle: 233/235 done\n", "Filling history dataframe for Chem Campbell: 234/235 done\n" ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Alpha is [ 7.54817451 7.47175218 54.43733826]\n" - ] } ], "source": [ @@ -753,8 +744,8 @@ }, { "cell_type": "code", - "execution_count": 36, - "id": "a6b1c170", + "execution_count": 3, + "id": "1e0ef8c0", "metadata": {}, "outputs": [ { @@ -1166,8 +1157,8 @@ }, { "cell_type": "code", - "execution_count": 37, - "id": "591a612d", + "execution_count": 4, + "id": "b683cefb", "metadata": {}, "outputs": [ { @@ -1603,8 +1594,8 @@ }, { "cell_type": "code", - "execution_count": 38, - "id": "60300456", + "execution_count": 5, + "id": "76d215c9", "metadata": {}, "outputs": [ { @@ -2004,8 +1995,8 @@ }, { "cell_type": "code", - "execution_count": 39, - "id": "30c3c910", + "execution_count": 6, + "id": "9af2d874", "metadata": {}, "outputs": [ { @@ -2017,7 +2008,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -2036,8 +2027,8 @@ }, { "cell_type": "code", - "execution_count": 40, - "id": "844cf552", + "execution_count": 7, + "id": "513a8340", "metadata": {}, "outputs": [ { @@ -2049,7 +2040,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -2069,7 +2060,7 @@ { "cell_type": "code", "execution_count": null, - "id": "dbd3277b", + "id": "f5ed2fca", "metadata": {}, "outputs": [], "source": [] From c9831e73c86e5a18f270fbd43b2767faec1074fd Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Tue, 24 Aug 2021 21:48:38 +0100 Subject: [PATCH 33/43] add numpyro comparisons and impact of n_prior_goals to notebook --- airsenal/framework/prediction_utils.py | 2 + notebooks/conjugate_player_model.ipynb | 3369 +++++++++++++++--------- 2 files changed, 2069 insertions(+), 1302 deletions(-) diff --git a/airsenal/framework/prediction_utils.py b/airsenal/framework/prediction_utils.py index 771956f0..8b019faa 100644 --- a/airsenal/framework/prediction_utils.py +++ b/airsenal/framework/prediction_utils.py @@ -16,6 +16,7 @@ from airsenal.framework.utils import ( NEXT_GAMEWEEK, + fastcopy, get_fixtures_for_player, get_recent_minutes_for_player, get_max_matches_per_player, @@ -514,6 +515,7 @@ def fit_player_data(position, season, gameweek, model=PlayerModel(), dbsession=s """ data = process_player_data(position, season, gameweek, dbsession) print("Fitting player model for", position, "...") + model = fastcopy(model) fitted_model = model.fit(data) df = pd.DataFrame(fitted_model.get_probs()) diff --git a/notebooks/conjugate_player_model.ipynb b/notebooks/conjugate_player_model.ipynb index 989c5086..16cb4f11 100644 --- a/notebooks/conjugate_player_model.ipynb +++ b/notebooks/conjugate_player_model.ipynb @@ -41,7 +41,7 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -53,7 +53,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -89,7 +89,7 @@ " ax[i].set_xlim((0, 1))\n", "\n", "plot_dirichlet([4, 2, 7])\n", - "plot_dirichlet([20, 10, 35])" + "plot_dirichlet([20, 10, 35])\n" ] }, { @@ -183,7 +183,7 @@ }, { "cell_type": "markdown", - "id": "e3a17d9d", + "id": "95c2acfb", "metadata": {}, "source": [ "### Implementation" @@ -192,7 +192,7 @@ { "cell_type": "code", "execution_count": 2, - "id": "bb66fd6c", + "id": "061c786d", "metadata": { "scrolled": true }, @@ -201,551 +201,564 @@ "name": "stdout", "output_type": "stream", "text": [ - "Filling history dataframe for Harry Kane: 0/75 done\n", - "Filling history dataframe for Romelu Lukaku: 1/75 done\n", - "Filling history dataframe for Jamie Vardy: 2/75 done\n", - "Filling history dataframe for Pierre-Emerick Aubameyang: 3/75 done\n", - "Filling history dataframe for Roberto Firmino: 4/75 done\n", - "Filling history dataframe for Timo Werner: 5/75 done\n", - "Filling history dataframe for Gabriel Fernando de Jesus: 6/75 done\n", - "Filling history dataframe for Edinson Cavani: 7/75 done\n", - "Filling history dataframe for Alexandre Lacazette: 8/75 done\n", - "Filling history dataframe for Danny Ings: 9/75 done\n", - "Filling history dataframe for Dominic Calvert-Lewin: 10/75 done\n", - "Filling history dataframe for Patrick Bamford: 11/75 done\n", - "Filling history dataframe for Anthony Martial: 12/75 done\n", - "Filling history dataframe for Richarlison de Andrade: 13/75 done\n", - "Filling history dataframe for Michail Antonio: 14/75 done\n", - "Filling history dataframe for Ollie Watkins: 15/75 done\n", - "Filling history dataframe for Callum Wilson: 16/75 done\n", - "Filling history dataframe for Raúl Jiménez: 17/75 done\n", - "Filling history dataframe for Kelechi Iheanacho: 18/75 done\n", - "Filling history dataframe for Patson Daka: 19/75 done\n", - "Filling history dataframe for Chris Wood: 20/75 done\n", - "Filling history dataframe for Che Adams: 21/75 done\n", - "Filling history dataframe for Ivan Toney: 22/75 done\n", - "Filling history dataframe for Neal Maupay: 23/75 done\n", - "Filling history dataframe for Olivier Giroud: 24/75 done\n", - "Filling history dataframe for Tammy Abraham: 25/75 done\n", - "Filling history dataframe for Christian Benteke: 26/75 done\n", - "Filling history dataframe for Rodrigo Moreno: 27/75 done\n", - "Filling history dataframe for Allan Saint-Maximin: 28/75 done\n", - "Filling history dataframe for Danny Welbeck: 29/75 done\n", - "Filling history dataframe for Jordan Ayew: 30/75 done\n", - "Filling history dataframe for Joelinton Cássio Apolinário de Lira: 31/75 done\n", - "Filling history dataframe for Teemu Pukki: 32/75 done\n", - "Filling history dataframe for Adam Armstrong: 33/75 done\n", - "Filling history dataframe for Fabio Silva: 34/75 done\n", - "Filling history dataframe for Edward Nketiah: 35/75 done\n", - "Filling history dataframe for Wesley Moraes: 36/75 done\n", - "Filling history dataframe for Mbwana Ally Samatta: 37/75 done\n", - "Filling history dataframe for Marcus Forss: 38/75 done\n", - "Filling history dataframe for Halil Dervişoğlu: 39/75 done\n", - "Filling history dataframe for Aaron Connolly: 40/75 done\n", - "Filling history dataframe for Jay Rodriguez: 41/75 done\n", - "Filling history dataframe for Ashley Barnes: 42/75 done\n", - "Filling history dataframe for Matej Vydra: 43/75 done\n", - "Filling history dataframe for Michy Batshuayi: 44/75 done\n", - "Filling history dataframe for Jean-Philippe Mateta: 45/75 done\n", - "Filling history dataframe for Dwight Gayle: 46/75 done\n", - "Filling history dataframe for Jordan Hugill: 47/75 done\n", - "Filling history dataframe for Joshua Sargent: 48/75 done\n", - "Filling history dataframe for Shane Long: 49/75 done\n", - "Filling history dataframe for Troy Deeney: 50/75 done\n", - "Filling history dataframe for Andre Gray: 51/75 done\n", - "Filling history dataframe for João Pedro Junqueira de Jesus: 52/75 done\n", - "Filling history dataframe for Joshua King: 53/75 done\n", - "Filling history dataframe for Folarin Balogun: 54/75 done\n", - "Filling history dataframe for Florin Andone: 55/75 done\n", - "Filling history dataframe for Divock Origi: 56/75 done\n", - "Filling history dataframe for Adam Idah: 57/75 done\n", - "Filling history dataframe for Armando Broja: 58/75 done\n", - "Filling history dataframe for Isaac Success Ajayi: 59/75 done\n", - "Filling history dataframe for Ashley Fletcher: 60/75 done\n", - "Filling history dataframe for Emmanuel Dennis: 61/75 done\n", - "Filling history dataframe for Juan Camilo Hernández Suárez: 62/75 done\n", - "Filling history dataframe for Patrick Cutrone: 63/75 done\n", - "Filling history dataframe for Keinan Davis: 64/75 done\n", - "Filling history dataframe for Andi Zeqiri: 65/75 done\n", - "Filling history dataframe for Lewis Richardson: 66/75 done\n", - "Filling history dataframe for Robert Street: 67/75 done\n", - "Filling history dataframe for Nathan Broadhead: 68/75 done\n", - "Filling history dataframe for Sam Greenwood: 69/75 done\n", - "Filling history dataframe for Daniel N'Lundulu: 70/75 done\n", - "Filling history dataframe for Michael Obafemi: 71/75 done\n", - "Filling history dataframe for Dane Scarlett: 72/75 done\n", - "Filling history dataframe for Stipe Perica: 73/75 done\n", - "Filling history dataframe for Adedapo Awokoya-Mebude: 74/75 done\n", - "Filling history dataframe for Trent Alexander-Arnold: 0/190 done\n", - "Filling history dataframe for Andrew Robertson: 1/190 done\n", - "Filling history dataframe for Virgil van Dijk: 2/190 done\n", - "Filling history dataframe for César Azpilicueta: 3/190 done\n", - "Filling history dataframe for Benjamin Chilwell: 4/190 done\n", - "Filling history dataframe for João Pedro Cavaco Cancelo: 5/190 done\n", - "Filling history dataframe for Rúben Santos Gato Alves Dias: 6/190 done\n", - "Filling history dataframe for Marcos Alonso: 7/190 done\n", - "Filling history dataframe for Thiago Emiliano da Silva: 8/190 done\n", - "Filling history dataframe for Antonio Rüdiger: 9/190 done\n", - "Filling history dataframe for Kurt Zouma: 10/190 done\n", - "Filling history dataframe for Reece James: 11/190 done\n", - "Filling history dataframe for Lucas Digne: 12/190 done\n", - "Filling history dataframe for Jonny Evans: 13/190 done\n", - "Filling history dataframe for Ricardo Domingos Barbosa Pereira: 14/190 done\n", - "Filling history dataframe for Timothy Castagne: 15/190 done\n", - "Filling history dataframe for Kyle Walker: 16/190 done\n", - "Filling history dataframe for John Stones: 17/190 done\n", - "Filling history dataframe for Benjamin Mendy: 18/190 done\n", - "Filling history dataframe for Aymeric Laporte: 19/190 done\n", - "Filling history dataframe for Oleksandr Zinchenko: 20/190 done\n", - "Filling history dataframe for Harry Maguire: 21/190 done\n", - "Filling history dataframe for Luke Shaw: 22/190 done\n", - "Filling history dataframe for Aaron Wan-Bissaka: 23/190 done\n", - "Filling history dataframe for Aaron Cresswell: 24/190 done\n", - "Filling history dataframe for Raphaël Varane: 25/190 done\n", - "Filling history dataframe for Ibrahima Konaté: 26/190 done\n", - "Filling history dataframe for Kieran Tierney: 27/190 done\n", - "Filling history dataframe for Gabriel Magalhães: 28/190 done\n", - "Filling history dataframe for Tyrone Mings: 29/190 done\n", - "Filling history dataframe for Matt Targett: 30/190 done\n", - "Filling history dataframe for Matthew Cash: 31/190 done\n", - "Filling history dataframe for Ezri Konsa Ngoyo: 32/190 done\n", - "Filling history dataframe for Ashley Young: 33/190 done\n", - "Filling history dataframe for Lewis Dunk: 34/190 done\n", - "Filling history dataframe for James Tarkowski: 35/190 done\n", - "Filling history dataframe for Ben Mee: 36/190 done\n", - "Filling history dataframe for Andreas Christensen: 37/190 done\n", - "Filling history dataframe for Malang Sarr: 38/190 done\n", - "Filling history dataframe for Trevoh Chalobah: 39/190 done\n", - "Filling history dataframe for Seamus Coleman: 40/190 done\n", - "Filling history dataframe for Michael Keane: 41/190 done\n", - "Filling history dataframe for Yerry Mina: 42/190 done\n", - "Filling history dataframe for Ben Godfrey: 43/190 done\n", - "Filling history dataframe for Çaglar Söyüncü: 44/190 done\n", - "Filling history dataframe for James Justin: 45/190 done\n", - "Filling history dataframe for Jannik Vestergaard: 46/190 done\n", - "Filling history dataframe for Ryan Bertrand: 47/190 done\n", - "Filling history dataframe for Héctor Junior Firpo Adames: 48/190 done\n", - "Filling history dataframe for Joel Matip: 49/190 done\n", - "Filling history dataframe for Joseph Gomez: 50/190 done\n", - "Filling history dataframe for Nathan Aké: 51/190 done\n", - "Filling history dataframe for Alex Nicolao Telles: 52/190 done\n", - "Filling history dataframe for Victor Lindelöf: 53/190 done\n", - "Filling history dataframe for Eric Bailly: 54/190 done\n", - "Filling history dataframe for Matt Ritchie: 55/190 done\n", - "Filling history dataframe for Kyle Walker-Peters: 56/190 done\n", - "Filling history dataframe for Romain Perraud: 57/190 done\n", - "Filling history dataframe for Toby Alderweireld: 58/190 done\n", - "Filling history dataframe for Serge Aurier: 59/190 done\n", - "Filling history dataframe for Matt Doherty: 60/190 done\n", - "Filling history dataframe for Sergio Reguilón: 61/190 done\n", - "Filling history dataframe for Cristian Romero: 62/190 done\n", - "Filling history dataframe for Angelo Ogbonna: 63/190 done\n", - "Filling history dataframe for Craig Dawson: 64/190 done\n", - "Filling history dataframe for Vladimir Coufal: 65/190 done\n", - "Filling history dataframe for Willy Boly: 66/190 done\n", - "Filling history dataframe for Romain Saïss: 67/190 done\n", - "Filling history dataframe for Nélson Cabral Semedo: 68/190 done\n", - "Filling history dataframe for Héctor Bellerín: 69/190 done\n", - "Filling history dataframe for Cédric Soares: 70/190 done\n", - "Filling history dataframe for Pablo Marí: 71/190 done\n", - "Filling history dataframe for Calum Chambers: 72/190 done\n", - "Filling history dataframe for Sead Kolasinac: 73/190 done\n", - "Filling history dataframe for Konstantinos Mavropanos: 74/190 done\n", - "Filling history dataframe for William Saliba: 75/190 done\n", - "Filling history dataframe for Ben White: 76/190 done\n", - "Filling history dataframe for Nuno Varela Tavares: 77/190 done\n", - "Filling history dataframe for Björn Engels: 78/190 done\n", - "Filling history dataframe for Kortney Hause: 79/190 done\n", - "Filling history dataframe for Frédéric Guilbert: 80/190 done\n", - "Filling history dataframe for Axel Tuanzebe: 81/190 done\n", - "Filling history dataframe for Pontus Jansson: 82/190 done\n", - "Filling history dataframe for Rico Henry: 83/190 done\n", - "Filling history dataframe for Mads Roerslev Rasmussen: 84/190 done\n", - "Filling history dataframe for Mads Bech Sørensen: 85/190 done\n", - "Filling history dataframe for Ethan Pinnock: 86/190 done\n", - "Filling history dataframe for Kristoffer Ajer: 87/190 done\n", - "Filling history dataframe for Dominic Thompson: 88/190 done\n", - "Filling history dataframe for Dan Burn: 89/190 done\n", - "Filling history dataframe for Adam Webster: 90/190 done\n", - "Filling history dataframe for Joël Veltman: 91/190 done\n", - "Filling history dataframe for Tariq Lamptey: 92/190 done\n", - "Filling history dataframe for Erik Pieters: 93/190 done\n", - "Filling history dataframe for Matthew Lowton: 94/190 done\n", - "Filling history dataframe for Charlie Taylor: 95/190 done\n", - "Filling history dataframe for Nathan Collins: 96/190 done\n", - "Filling history dataframe for Ethan Ampadu: 97/190 done\n", - "Filling history dataframe for Emerson Palmieri dos Santos: 98/190 done\n" + "Filling history dataframe for Harry Kane: 0/76 done\n", + "Filling history dataframe for Romelu Lukaku: 1/76 done\n", + "Filling history dataframe for Jamie Vardy: 2/76 done\n", + "Filling history dataframe for Pierre-Emerick Aubameyang: 3/76 done\n", + "Filling history dataframe for Roberto Firmino: 4/76 done\n", + "Filling history dataframe for Timo Werner: 5/76 done\n", + "Filling history dataframe for Gabriel Fernando de Jesus: 6/76 done\n", + "Filling history dataframe for Edinson Cavani: 7/76 done\n", + "Filling history dataframe for Alexandre Lacazette: 8/76 done\n", + "Filling history dataframe for Danny Ings: 9/76 done\n", + "Filling history dataframe for Dominic Calvert-Lewin: 10/76 done\n", + "Filling history dataframe for Patrick Bamford: 11/76 done\n", + "Filling history dataframe for Anthony Martial: 12/76 done\n", + "Filling history dataframe for Michail Antonio: 13/76 done\n", + "Filling history dataframe for Richarlison de Andrade: 14/76 done\n", + "Filling history dataframe for Callum Wilson: 15/76 done\n", + "Filling history dataframe for Raúl Jiménez: 16/76 done\n", + "Filling history dataframe for Ollie Watkins: 17/76 done\n", + "Filling history dataframe for Kelechi Iheanacho: 18/76 done\n", + "Filling history dataframe for Patson Daka: 19/76 done\n", + "Filling history dataframe for Che Adams: 20/76 done\n", + "Filling history dataframe for Chris Wood: 21/76 done\n", + "Filling history dataframe for Ivan Toney: 22/76 done\n", + "Filling history dataframe for Neal Maupay: 23/76 done\n", + "Filling history dataframe for Olivier Giroud: 24/76 done\n", + "Filling history dataframe for Tammy Abraham: 25/76 done\n", + "Filling history dataframe for Christian Benteke: 26/76 done\n", + "Filling history dataframe for Allan Saint-Maximin: 27/76 done\n", + "Filling history dataframe for Rodrigo Moreno: 28/76 done\n", + "Filling history dataframe for Danny Welbeck: 29/76 done\n", + "Filling history dataframe for Jordan Ayew: 30/76 done\n", + "Filling history dataframe for Moise Kean: 31/76 done\n", + "Filling history dataframe for Teemu Pukki: 32/76 done\n", + "Filling history dataframe for Adam Armstrong: 33/76 done\n", + "Filling history dataframe for Fabio Silva: 34/76 done\n", + "Filling history dataframe for Joelinton Cássio Apolinário de Lira: 35/76 done\n", + "Filling history dataframe for Edward Nketiah: 36/76 done\n", + "Filling history dataframe for Wesley Moraes: 37/76 done\n", + "Filling history dataframe for Mbwana Ally Samatta: 38/76 done\n", + "Filling history dataframe for Marcus Forss: 39/76 done\n", + "Filling history dataframe for Halil Dervişoğlu: 40/76 done\n", + "Filling history dataframe for Aaron Connolly: 41/76 done\n", + "Filling history dataframe for Jay Rodriguez: 42/76 done\n", + "Filling history dataframe for Ashley Barnes: 43/76 done\n", + "Filling history dataframe for Matej Vydra: 44/76 done\n", + "Filling history dataframe for Michy Batshuayi: 45/76 done\n", + "Filling history dataframe for Jean-Philippe Mateta: 46/76 done\n", + "Filling history dataframe for Dwight Gayle: 47/76 done\n", + "Filling history dataframe for Joshua Sargent: 48/76 done\n", + "Filling history dataframe for Shane Long: 49/76 done\n", + "Filling history dataframe for Troy Deeney: 50/76 done\n", + "Filling history dataframe for Joshua King: 51/76 done\n", + "Filling history dataframe for Jordan Hugill: 52/76 done\n", + "Filling history dataframe for Andre Gray: 53/76 done\n", + "Filling history dataframe for João Pedro Junqueira de Jesus: 54/76 done\n", + "Filling history dataframe for Emmanuel Dennis: 55/76 done\n", + "Filling history dataframe for Folarin Balogun: 56/76 done\n", + "Filling history dataframe for Florin Andone: 57/76 done\n", + "Filling history dataframe for Divock Origi: 58/76 done\n", + "Filling history dataframe for Adam Idah: 59/76 done\n", + "Filling history dataframe for Armando Broja: 60/76 done\n", + "Filling history dataframe for Isaac Success Ajayi: 61/76 done\n", + "Filling history dataframe for Ashley Fletcher: 62/76 done\n", + "Filling history dataframe for Juan Camilo Hernández Suárez: 63/76 done\n", + "Filling history dataframe for Patrick Cutrone: 64/76 done\n", + "Filling history dataframe for Keinan Davis: 65/76 done\n", + "Filling history dataframe for Andi Zeqiri: 66/76 done\n", + "Filling history dataframe for Lewis Richardson: 67/76 done\n", + "Filling history dataframe for Robert Street: 68/76 done\n", + "Filling history dataframe for Nathan Broadhead: 69/76 done\n", + "Filling history dataframe for Sam Greenwood: 70/76 done\n", + "Filling history dataframe for Daniel N'Lundulu: 71/76 done\n", + "Filling history dataframe for Michael Obafemi: 72/76 done\n", + "Filling history dataframe for Dane Scarlett: 73/76 done\n", + "Filling history dataframe for Stipe Perica: 74/76 done\n", + "Filling history dataframe for Adedapo Awokoya-Mebude: 75/76 done\n", + "Filling history dataframe for Mohamed Salah: 0/236 done\n", + "Filling history dataframe for Bruno Miguel Borges Fernandes: 1/236 done\n", + "Filling history dataframe for Kevin De Bruyne: 2/236 done\n", + "Filling history dataframe for Sadio Mané: 3/236 done\n", + "Filling history dataframe for Raheem Sterling: 4/236 done\n", + "Filling history dataframe for Heung-Min Son: 5/236 done\n", + "Filling history dataframe for Marcus Rashford: 6/236 done\n", + "Filling history dataframe for Jadon Sancho: 7/236 done\n", + "Filling history dataframe for Riyad Mahrez: 8/236 done\n", + "Filling history dataframe for Kai Havertz: 9/236 done\n", + "Filling history dataframe for Christian Pulisic: 10/236 done\n", + "Filling history dataframe for Jack Grealish: 11/236 done\n", + "Filling history dataframe for Phil Foden: 12/236 done\n", + "Filling history dataframe for Paul Pogba: 13/236 done\n", + "Filling history dataframe for Diogo Jota: 14/236 done\n", + "Filling history dataframe for Mason Greenwood: 15/236 done\n", + "Filling history dataframe for Mason Mount: 16/236 done\n", + "Filling history dataframe for Hakim Ziyech: 17/236 done\n", + "Filling history dataframe for Ilkay Gündogan: 18/236 done\n", + "Filling history dataframe for Nicolas Pépé: 19/236 done\n", + "Filling history dataframe for Wilfried Zaha: 20/236 done\n", + "Filling history dataframe for Harvey Barnes: 21/236 done\n", + "Filling history dataframe for Bernardo Mota Veiga de Carvalho e Silva: 22/236 done\n", + "Filling history dataframe for Ferran Torres: 23/236 done\n", + "Filling history dataframe for Jesse Lingard: 24/236 done\n", + "Filling history dataframe for Gylfi Sigurdsson: 25/236 done\n", + "Filling history dataframe for James Rodríguez: 26/236 done\n", + "Filling history dataframe for James Maddison: 27/236 done\n", + "Filling history dataframe for Leon Bailey: 28/236 done\n", + "Filling history dataframe for Youri Tielemans: 29/236 done\n", + "Filling history dataframe for Raphael Dias Belloli: 30/236 done\n", + "Filling history dataframe for James Ward-Prowse: 31/236 done\n", + "Filling history dataframe for Lucas Rodrigues Moura da Silva: 32/236 done\n", + "Filling history dataframe for Bamidele Alli: 33/236 done\n", + "Filling history dataframe for Jarrod Bowen: 34/236 done\n", + "Filling history dataframe for Pedro Lomba Neto: 35/236 done\n", + "Filling history dataframe for Willian Borges Da Silva: 36/236 done\n", + "Filling history dataframe for Bukayo Saka: 37/236 done\n", + "Filling history dataframe for Emiliano Buendía Stati: 38/236 done\n", + "Filling history dataframe for Leandro Trossard: 39/236 done\n", + "Filling history dataframe for Saïd Benrahma: 40/236 done\n", + "Filling history dataframe for John McGinn: 41/236 done\n", + "Filling history dataframe for Anwar El Ghazi: 42/236 done\n", + "Filling history dataframe for Yoane Wissa: 43/236 done\n", + "Filling history dataframe for Pascal Groß: 44/236 done\n", + "Filling history dataframe for Jorge Luiz Frello Filho: 45/236 done\n", + "Filling history dataframe for Eberechi Eze: 46/236 done\n", + "Filling history dataframe for Alex Iwobi: 47/236 done\n", + "Filling history dataframe for Ayoze Pérez: 48/236 done\n", + "Filling history dataframe for Jack Harrison: 49/236 done\n", + "Filling history dataframe for Alex Oxlade-Chamberlain: 50/236 done\n", + "Filling history dataframe for Daniel James: 51/236 done\n", + "Filling history dataframe for Joseph Willock: 52/236 done\n", + "Filling history dataframe for Theo Walcott: 53/236 done\n", + "Filling history dataframe for Erik Lamela: 54/236 done\n", + "Filling history dataframe for Steven Bergwijn: 55/236 done\n", + "Filling history dataframe for Giovani Lo Celso: 56/236 done\n", + "Filling history dataframe for Ismaila Sarr: 57/236 done\n", + "Filling history dataframe for Tomas Soucek: 58/236 done\n", + "Filling history dataframe for Pablo Fornals: 59/236 done\n", + "Filling history dataframe for Adama Traoré: 60/236 done\n", + "Filling history dataframe for Bertrand Traoré: 61/236 done\n", + "Filling history dataframe for Enock Mwepu: 62/236 done\n", + "Filling history dataframe for Dwight McNeil: 63/236 done\n", + "Filling history dataframe for Xherdan Shaqiri: 64/236 done\n", + "Filling history dataframe for Donny van de Beek: 65/236 done\n", + "Filling history dataframe for Nathan Redmond: 66/236 done\n", + "Filling history dataframe for Stuart Armstrong: 67/236 done\n", + "Filling history dataframe for Tanguy Ndombele: 68/236 done\n", + "Filling history dataframe for Bryan Gil Salvatierra: 69/236 done\n", + "Filling history dataframe for Manuel Lanzini: 70/236 done\n", + "Filling history dataframe for Francisco Machado Mota de Castro Trincão: 71/236 done\n", + "Filling history dataframe for Emile Smith Rowe: 72/236 done\n", + "Filling history dataframe for Gabriel Teodoro Martinelli Silva: 73/236 done\n", + "Filling history dataframe for Martin Ødegaard: 74/236 done\n", + "Filling history dataframe for Mahmoud Ahmed Ibrahim Hassan: 75/236 done\n", + "Filling history dataframe for Sergi Canós: 76/236 done\n", + "Filling history dataframe for Bryan Mbeumo: 77/236 done\n", + "Filling history dataframe for Adam Lallana: 78/236 done\n", + "Filling history dataframe for Solomon March: 79/236 done\n", + "Filling history dataframe for Alireza Jahanbakhsh: 80/236 done\n", + "Filling history dataframe for Alexis Mac Allister: 81/236 done\n", + "Filling history dataframe for Ashley Westwood: 82/236 done\n", + "Filling history dataframe for Johann Berg Gudmundsson: 83/236 done\n", + "Filling history dataframe for Conor Gallagher: 84/236 done\n", + "Filling history dataframe for Jeffrey Schlupp: 85/236 done\n", + "Filling history dataframe for Michael Olise: 86/236 done\n", + "Filling history dataframe for Bernard Anício Caldeira Duarte: 87/236 done\n", + "Filling history dataframe for Abdoulaye Doucouré: 88/236 done\n", + "Filling history dataframe for Andros Townsend: 89/236 done\n", + "Filling history dataframe for Demarai Gray: 90/236 done\n", + "Filling history dataframe for Marc Albrighton: 91/236 done\n", + "Filling history dataframe for Pablo Hernández Domínguez: 92/236 done\n", + "Filling history dataframe for Mateusz Klich: 93/236 done\n", + "Filling history dataframe for Stuart Dallas: 94/236 done\n", + "Filling history dataframe for Hélder Wander Sousa de Azevedo e Costa: 95/236 done\n", + "Filling history dataframe for Fabio Henrique Tavares: 96/236 done\n", + "Filling history dataframe for Harvey Elliott: 97/236 done\n", + "Filling history dataframe for Rodrigo Hernandez: 98/236 done\n", + "Filling history dataframe for Scott McTominay: 99/236 done\n", + "Filling history dataframe for Jonjo Shelvey: 100/236 done\n", + "Filling history dataframe for Miguel Almirón: 101/236 done\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Filling history dataframe for James Tomkins: 99/190 done\n", - "Filling history dataframe for Cheikhou Kouyaté: 100/190 done\n", - "Filling history dataframe for Jarosław Jach: 101/190 done\n", - "Filling history dataframe for Nathan Ferguson: 102/190 done\n", - "Filling history dataframe for Tyrick Mitchell: 103/190 done\n", - "Filling history dataframe for Joel Ward: 104/190 done\n", - "Filling history dataframe for Marc Guéhi: 105/190 done\n", - "Filling history dataframe for Joachim Andersen: 106/190 done\n", - "Filling history dataframe for Nathaniel Clyne: 107/190 done\n", - "Filling history dataframe for Mason Holgate: 108/190 done\n", - "Filling history dataframe for Jonjoe Kenny: 109/190 done\n", - "Filling history dataframe for Luke Thomas: 110/190 done\n", - "Filling history dataframe for Wesley Fofana: 111/190 done\n", - "Filling history dataframe for Liam Cooper: 112/190 done\n", - "Filling history dataframe for Luke Ayling: 113/190 done\n", - "Filling history dataframe for Diego Llorente: 114/190 done\n", - "Filling history dataframe for Robin Koch: 115/190 done\n", - "Filling history dataframe for Pascal Struijk: 116/190 done\n", - "Filling history dataframe for Nathaniel Phillips: 117/190 done\n", - "Filling history dataframe for Rhys Williams: 118/190 done\n", - "Filling history dataframe for José Diogo Dalot Teixeira: 119/190 done\n", - "Filling history dataframe for Ciaran Clark: 120/190 done\n", - "Filling history dataframe for Jamaal Lascelles: 121/190 done\n", - "Filling history dataframe for Paul Dummett: 122/190 done\n", - "Filling history dataframe for Emil Krafth: 123/190 done\n", - "Filling history dataframe for Fabian Schär: 124/190 done\n", - "Filling history dataframe for Jamal Lewis: 125/190 done\n", - "Filling history dataframe for Federico Fernández: 126/190 done\n", - "Filling history dataframe for Grant Hanley: 127/190 done\n", - "Filling history dataframe for Sam Byram: 128/190 done\n", - "Filling history dataframe for Christoph Zimmermann: 129/190 done\n", - "Filling history dataframe for Max Aarons: 130/190 done\n", - "Filling history dataframe for Jacob Sørensen: 131/190 done\n", - "Filling history dataframe for Ben Gibson: 132/190 done\n", - "Filling history dataframe for Dimitris Giannoulis: 133/190 done\n", - "Filling history dataframe for Jack Stephens: 134/190 done\n", - "Filling history dataframe for Jan Bednarek: 135/190 done\n", - "Filling history dataframe for Mohammed Salisu: 136/190 done\n", - "Filling history dataframe for Eric Dier: 137/190 done\n", - "Filling history dataframe for Ben Davies: 138/190 done\n", - "Filling history dataframe for Davinson Sánchez: 139/190 done\n", - "Filling history dataframe for Ryan Sessegnon: 140/190 done\n", - "Filling history dataframe for Japhet Tanganga: 141/190 done\n", - "Filling history dataframe for Joe Rodon: 142/190 done\n", - "Filling history dataframe for Danny Rose: 143/190 done\n", - "Filling history dataframe for Craig Cathcart: 144/190 done\n", - "Filling history dataframe for Francisco Femenía Far: 145/190 done\n", - "Filling history dataframe for Christian Kabasele: 146/190 done\n", - "Filling history dataframe for William Troost-Ekong: 147/190 done\n", - "Filling history dataframe for Adam Masina: 148/190 done\n", - "Filling history dataframe for Francisco Sierralta: 149/190 done\n", - "Filling history dataframe for Jeremy Ngakia: 150/190 done\n", - "Filling history dataframe for Ben Wilmot: 151/190 done\n", - "Filling history dataframe for Ryan Fredericks: 152/190 done\n", - "Filling history dataframe for Arthur Masuaku: 153/190 done\n", - "Filling history dataframe for Issa Diop: 154/190 done\n", - "Filling history dataframe for Conor Coady: 155/190 done\n", - "Filling history dataframe for Fernando Marçal: 156/190 done\n", - "Filling history dataframe for Jonathan Castro Otto: 157/190 done\n", - "Filling history dataframe for Max Kilman: 158/190 done\n", - "Filling history dataframe for Yerson Mosquera Valdelamar: 159/190 done\n", - "Filling history dataframe for Rayan Ait Nouri: 160/190 done\n", - "Filling history dataframe for Rob Holding: 161/190 done\n", - "Filling history dataframe for Konstantinos Tsimikas: 162/190 done\n", - "Filling history dataframe for Charlie Goode: 163/190 done\n", - "Filling history dataframe for Shane Duffy: 164/190 done\n", - "Filling history dataframe for Bernardo Fernandes Da Silva Junior: 165/190 done\n", - "Filling history dataframe for Michal Karbownik: 166/190 done\n", - "Filling history dataframe for Phil Bardsley: 167/190 done\n", - "Filling history dataframe for Kevin Long: 168/190 done\n", - "Filling history dataframe for Bobby Thomas: 169/190 done\n", - "Filling history dataframe for Martin Kelly: 170/190 done\n", - "Filling history dataframe for Reece Hannam: 171/190 done\n", - "Filling history dataframe for Jarrad Branthwaite: 172/190 done\n", - "Filling history dataframe for Daniel Amartey: 173/190 done\n", - "Filling history dataframe for Neco Williams: 174/190 done\n", - "Filling history dataframe for Ben Davies: 175/190 done\n", - "Filling history dataframe for Brandon Williams: 176/190 done\n", - "Filling history dataframe for Javier Manquillo: 177/190 done\n", - "Filling history dataframe for Andrew Omobamidele: 178/190 done\n", - "Filling history dataframe for Bali Mumba: 179/190 done\n", - "Filling history dataframe for Tino Livramento: 180/190 done\n", - "Filling history dataframe for Yan Valery: 181/190 done\n", - "Filling history dataframe for Marc Navarro: 182/190 done\n", - "Filling history dataframe for Matthew Pollock: 183/190 done\n", - "Filling history dataframe for Winston Reid: 184/190 done\n", - "Filling history dataframe for Ben Johnson: 185/190 done\n", - "Filling history dataframe for Frederik Alves: 186/190 done\n", - "Filling history dataframe for Jamal Baptiste: 187/190 done\n", - "Filling history dataframe for Ki-Jana Hoever: 188/190 done\n", - "Filling history dataframe for Christian Marques: 189/190 done\n", - "Filling history dataframe for Mohamed Salah: 0/235 done\n", - "Filling history dataframe for Bruno Miguel Borges Fernandes: 1/235 done\n", - "Filling history dataframe for Sadio Mané: 2/235 done\n", - "Filling history dataframe for Kevin De Bruyne: 3/235 done\n", - "Filling history dataframe for Raheem Sterling: 4/235 done\n", - "Filling history dataframe for Heung-Min Son: 5/235 done\n", - "Filling history dataframe for Marcus Rashford: 6/235 done\n", - "Filling history dataframe for Jadon Sancho: 7/235 done\n", - "Filling history dataframe for Riyad Mahrez: 8/235 done\n", - "Filling history dataframe for Kai Havertz: 9/235 done\n", - "Filling history dataframe for Christian Pulisic: 10/235 done\n", - "Filling history dataframe for Jack Grealish: 11/235 done\n", - "Filling history dataframe for Phil Foden: 12/235 done\n", - "Filling history dataframe for Paul Pogba: 13/235 done\n", - "Filling history dataframe for Mason Mount: 14/235 done\n", - "Filling history dataframe for Diogo Jota: 15/235 done\n", - "Filling history dataframe for Ilkay Gündogan: 16/235 done\n", - "Filling history dataframe for Mason Greenwood: 17/235 done\n", - "Filling history dataframe for Nicolas Pépé: 18/235 done\n", - "Filling history dataframe for Hakim Ziyech: 19/235 done\n", - "Filling history dataframe for Wilfried Zaha: 20/235 done\n", - "Filling history dataframe for Gylfi Sigurdsson: 21/235 done\n", - "Filling history dataframe for James Rodríguez: 22/235 done\n", - "Filling history dataframe for James Maddison: 23/235 done\n", - "Filling history dataframe for Harvey Barnes: 24/235 done\n", - "Filling history dataframe for Bernardo Mota Veiga de Carvalho e Silva: 25/235 done\n", - "Filling history dataframe for Ferran Torres: 26/235 done\n", - "Filling history dataframe for Jesse Lingard: 27/235 done\n", - "Filling history dataframe for Emiliano Buendía Stati: 28/235 done\n", - "Filling history dataframe for Leon Bailey: 29/235 done\n", - "Filling history dataframe for Leandro Trossard: 30/235 done\n", - "Filling history dataframe for Youri Tielemans: 31/235 done\n", - "Filling history dataframe for Raphael Dias Belloli: 32/235 done\n", - "Filling history dataframe for James Ward-Prowse: 33/235 done\n", - "Filling history dataframe for Lucas Rodrigues Moura da Silva: 34/235 done\n", - "Filling history dataframe for Bamidele Alli: 35/235 done\n", - "Filling history dataframe for Jarrod Bowen: 36/235 done\n", - "Filling history dataframe for Pedro Lomba Neto: 37/235 done\n", - "Filling history dataframe for Willian Borges Da Silva: 38/235 done\n", - "Filling history dataframe for Bukayo Saka: 39/235 done\n", - "Filling history dataframe for Saïd Benrahma: 40/235 done\n", - "Filling history dataframe for Bertrand Traoré: 41/235 done\n", - "Filling history dataframe for John McGinn: 42/235 done\n", - "Filling history dataframe for Anwar El Ghazi: 43/235 done\n", - "Filling history dataframe for Yoane Wissa: 44/235 done\n", - "Filling history dataframe for Pascal Groß: 45/235 done\n", - "Filling history dataframe for Enock Mwepu: 46/235 done\n", - "Filling history dataframe for Dwight McNeil: 47/235 done\n", - "Filling history dataframe for Jorge Luiz Frello Filho: 48/235 done\n", - "Filling history dataframe for Eberechi Eze: 49/235 done\n", - "Filling history dataframe for Alex Iwobi: 50/235 done\n", - "Filling history dataframe for Ayoze Pérez: 51/235 done\n", - "Filling history dataframe for Jack Harrison: 52/235 done\n", - "Filling history dataframe for Xherdan Shaqiri: 53/235 done\n", - "Filling history dataframe for Alex Oxlade-Chamberlain: 54/235 done\n" + "Filling history dataframe for Todd Cantwell: 102/236 done\n", + "Filling history dataframe for Milot Rashica: 103/236 done\n", + "Filling history dataframe for Moussa Djenepo: 104/236 done\n", + "Filling history dataframe for Mohamed Elyounoussi: 105/236 done\n", + "Filling history dataframe for Ken Sema: 106/236 done\n", + "Filling history dataframe for Philip Zinckernagel: 107/236 done\n", + "Filling history dataframe for Juraj Kucka: 108/236 done\n", + "Filling history dataframe for Rúben Diogo da Silva Neves: 109/236 done\n", + "Filling history dataframe for Daniel Castelo Podence: 110/236 done\n", + "Filling history dataframe for Ainsley Maitland-Niles: 111/236 done\n", + "Filling history dataframe for Tariqe Fosu-Henry: 112/236 done\n", + "Filling history dataframe for Pelenda Joshua Dasilva: 113/236 done\n", + "Filling history dataframe for Saman Ghoddos: 114/236 done\n", + "Filling history dataframe for Ross Barkley: 115/236 done\n", + "Filling history dataframe for Ruben Loftus-Cheek: 116/236 done\n", + "Filling history dataframe for Callum Hudson-Odoi: 117/236 done\n", + "Filling history dataframe for Luka Milivojevic: 118/236 done\n", + "Filling history dataframe for Thiago Alcántara do Nascimento: 119/236 done\n", + "Filling history dataframe for Takumi Minamino: 120/236 done\n", + "Filling history dataframe for Ryan Fraser: 121/236 done\n", + "Filling history dataframe for Kieran Dowell: 122/236 done\n", + "Filling history dataframe for Imrân Louza: 123/236 done\n", + "Filling history dataframe for Andriy Yarmolenko: 124/236 done\n", + "Filling history dataframe for Granit Xhaka: 125/236 done\n", + "Filling history dataframe for Thomas Partey: 126/236 done\n", + "Filling history dataframe for Albert Sambi Lokonga: 127/236 done\n", + "Filling history dataframe for Reiss Nelson: 128/236 done\n", + "Filling history dataframe for Conor Hourihane: 129/236 done\n", + "Filling history dataframe for Morgan Sanson: 130/236 done\n", + "Filling history dataframe for Jaden Philogene-Bidace: 131/236 done\n", + "Filling history dataframe for Christian Nørgaard: 132/236 done\n", + "Filling history dataframe for Vitaly Janelt: 133/236 done\n", + "Filling history dataframe for Frank Onyeka: 134/236 done\n", + "Filling history dataframe for Shandon Baptiste: 135/236 done\n", + "Filling history dataframe for Steven Alzate: 136/236 done\n", + "Filling history dataframe for Mateo Kovacic: 137/236 done\n", + "Filling history dataframe for Jairo Riedewald: 138/236 done\n", + "Filling history dataframe for André Filipe Tavares Gomes: 139/236 done\n", + "Filling history dataframe for Tom Davies: 140/236 done\n", + "Filling history dataframe for Dennis Praet: 141/236 done\n", + "Filling history dataframe for Wilfred Ndidi: 142/236 done\n", + "Filling history dataframe for Boubakary Soumaré: 143/236 done\n", + "Filling history dataframe for Kalvin Phillips: 144/236 done\n", + "Filling history dataframe for Tyler Roberts: 145/236 done\n", + "Filling history dataframe for James Milner: 146/236 done\n", + "Filling history dataframe for Jordan Henderson: 147/236 done\n", + "Filling history dataframe for Naby Keita: 148/236 done\n", + "Filling history dataframe for Curtis Jones: 149/236 done\n", + "Filling history dataframe for Fernando Luiz Rosa: 150/236 done\n", + "Filling history dataframe for Samuel Edozie: 151/236 done\n", + "Filling history dataframe for Frederico Rodrigues de Paula Santos: 152/236 done\n", + "Filling history dataframe for Juan Mata: 153/236 done\n", + "Filling history dataframe for Andreas Pereira: 154/236 done\n", + "Filling history dataframe for Anthony Elanga: 155/236 done\n", + "Filling history dataframe for Jacob Murphy: 156/236 done\n", + "Filling history dataframe for Marco Stiepermann: 157/236 done\n", + "Filling history dataframe for Josh Martin: 158/236 done\n", + "Filling history dataframe for Pierre Lees-Melou: 159/236 done\n", + "Filling history dataframe for Christos Tzolis: 160/236 done\n", + "Filling history dataframe for Pierre-Emile Højbjerg: 161/236 done\n", + "Filling history dataframe for Tom Cleverley: 162/236 done\n", + "Filling history dataframe for Nathaniel Chalobah: 163/236 done\n", + "Filling history dataframe for Ozan Tufan: 164/236 done\n", + "Filling history dataframe for Declan Rice: 165/236 done\n", + "Filling history dataframe for João Filipe Iria Santos Moutinho: 166/236 done\n", + "Filling history dataframe for Leander Dendoncker: 167/236 done\n", + "Filling history dataframe for Mathias Jensen: 168/236 done\n", + "Filling history dataframe for N'Golo Kanté: 169/236 done\n", + "Filling history dataframe for Jeff Hendrick: 170/236 done\n", + "Filling history dataframe for Kenny McLean: 171/236 done\n", + "Filling history dataframe for Onel Hernández: 172/236 done\n", + "Filling history dataframe for Przemyslaw Placheta: 173/236 done\n", + "Filling history dataframe for Nathan Tella: 174/236 done\n", + "Filling history dataframe for Dan Gosling: 175/236 done\n", + "Filling history dataframe for Will Hughes: 176/236 done\n", + "Filling history dataframe for Mohamed Naser El Sayed Elneny: 177/236 done\n", + "Filling history dataframe for Lucas Torreira: 178/236 done\n", + "Filling history dataframe for Mattéo Guendouzi: 179/236 done\n", + "Filling history dataframe for Marvelous Nakamba: 180/236 done\n", + "Filling history dataframe for Douglas Luiz Soares de Paulo: 181/236 done\n", + "Filling history dataframe for Jacob Ramsey: 182/236 done\n", + "Filling history dataframe for Aaron Ramsey: 183/236 done\n", + "Filling history dataframe for Carney Chukwuemeka: 184/236 done\n", + "Filling history dataframe for Jan Zamburek: 185/236 done\n", + "Filling history dataframe for Mads Bidstrup: 186/236 done\n", + "Filling history dataframe for Davy Pröpper: 187/236 done\n", + "Filling history dataframe for Yves Bissouma: 188/236 done\n", + "Filling history dataframe for Jakub Moder: 189/236 done\n", + "Filling history dataframe for Taylor Richards: 190/236 done\n", + "Filling history dataframe for Moisés Caicedo: 191/236 done\n", + "Filling history dataframe for Jack Cork: 192/236 done\n", + "Filling history dataframe for Dale Stephens: 193/236 done\n", + "Filling history dataframe for Josh Brownhill: 194/236 done\n", + "Filling history dataframe for Josh Benson: 195/236 done\n", + "Filling history dataframe for James McArthur: 196/236 done\n", + "Filling history dataframe for Jesurun Rak-Sakyi: 197/236 done\n", + "Filling history dataframe for Scott Banks: 198/236 done\n", + "Filling history dataframe for Fabian Delph: 199/236 done\n", + "Filling history dataframe for Allan Marques Loureiro: 200/236 done\n", + "Filling history dataframe for Anthony Gordon: 201/236 done\n", + "Filling history dataframe for Jean-Philippe Gbamin: 202/236 done\n", + "Filling history dataframe for Nampalys Mendy: 203/236 done\n", + "Filling history dataframe for Hamza Choudhury: 204/236 done\n", + "Filling history dataframe for Kiernan Dewsbury-Hall: 205/236 done\n", + "Filling history dataframe for Ian Carlo Poveda-Ocampo: 206/236 done\n", + "Filling history dataframe for Jamie Shackleton: 207/236 done\n", + "Filling history dataframe for Crysencio Summerville: 208/236 done\n", + "Filling history dataframe for Adam Forshaw: 209/236 done\n", + "Filling history dataframe for Ben Woodburn: 210/236 done\n", + "Filling history dataframe for Cole Palmer: 211/236 done\n", + "Filling history dataframe for Tommy Doyle: 212/236 done\n", + "Filling history dataframe for Nemanja Matic: 213/236 done\n", + "Filling history dataframe for Isaac Hayden: 214/236 done\n", + "Filling history dataframe for Sean Longstaff: 215/236 done\n", + "Filling history dataframe for Matthew Longstaff: 216/236 done\n", + "Filling history dataframe for Billy Gilmour: 217/236 done\n", + "Filling history dataframe for Lukas Rupp: 218/236 done\n", + "Filling history dataframe for Oriol Romeu Vidal: 219/236 done\n", + "Filling history dataframe for William Smallbone: 220/236 done\n", + "Filling history dataframe for Ibrahima Diallo: 221/236 done\n", + "Filling history dataframe for Moussa Sissoko: 222/236 done\n", + "Filling history dataframe for Harry Winks: 223/236 done\n", + "Filling history dataframe for Oliver Skipp: 224/236 done\n", + "Filling history dataframe for Ayotomiwa Dele-Bashiru: 225/236 done\n", + "Filling history dataframe for Domingos Quina: 226/236 done\n", + "Filling history dataframe for Joseph Hungbo: 227/236 done\n", + "Filling history dataframe for Kwadwo Baah: 228/236 done\n", + "Filling history dataframe for Oghenekaro Peter Etebo: 229/236 done\n", + "Filling history dataframe for Mark Noble: 230/236 done\n", + "Filling history dataframe for Conor Coventry: 231/236 done\n", + "Filling history dataframe for Morgan Gibbs-White: 232/236 done\n", + "Filling history dataframe for Owen Otasowie: 233/236 done\n", + "Filling history dataframe for Luke Cundle: 234/236 done\n", + "Filling history dataframe for Chem Campbell: 235/236 done\n", + "Filling history dataframe for Trent Alexander-Arnold: 0/194 done\n", + "Filling history dataframe for Andrew Robertson: 1/194 done\n", + "Filling history dataframe for Virgil van Dijk: 2/194 done\n", + "Filling history dataframe for César Azpilicueta: 3/194 done\n", + "Filling history dataframe for João Pedro Cavaco Cancelo: 4/194 done\n", + "Filling history dataframe for Rúben Santos Gato Alves Dias: 5/194 done\n", + "Filling history dataframe for Benjamin Chilwell: 6/194 done\n", + "Filling history dataframe for Marcos Alonso: 7/194 done\n", + "Filling history dataframe for Antonio Rüdiger: 8/194 done\n", + "Filling history dataframe for Reece James: 9/194 done\n", + "Filling history dataframe for Lucas Digne: 10/194 done\n", + "Filling history dataframe for Jonny Evans: 11/194 done\n", + "Filling history dataframe for Ricardo Domingos Barbosa Pereira: 12/194 done\n", + "Filling history dataframe for Kyle Walker: 13/194 done\n", + "Filling history dataframe for Benjamin Mendy: 14/194 done\n", + "Filling history dataframe for Aymeric Laporte: 15/194 done\n", + "Filling history dataframe for Oleksandr Zinchenko: 16/194 done\n", + "Filling history dataframe for Harry Maguire: 17/194 done\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Filling history dataframe for Daniel James: 55/235 done\n", - "Filling history dataframe for Joseph Willock: 56/235 done\n", - "Filling history dataframe for Theo Walcott: 57/235 done\n", - "Filling history dataframe for Nathan Redmond: 58/235 done\n", - "Filling history dataframe for Stuart Armstrong: 59/235 done\n", - "Filling history dataframe for Erik Lamela: 60/235 done\n", - "Filling history dataframe for Steven Bergwijn: 61/235 done\n", - "Filling history dataframe for Giovani Lo Celso: 62/235 done\n", - "Filling history dataframe for Tanguy Ndombele: 63/235 done\n", - "Filling history dataframe for Bryan Gil Salvatierra: 64/235 done\n", - "Filling history dataframe for Ismaila Sarr: 65/235 done\n", - "Filling history dataframe for Tomas Soucek: 66/235 done\n", - "Filling history dataframe for Pablo Fornals: 67/235 done\n", - "Filling history dataframe for Adama Traoré: 68/235 done\n", - "Filling history dataframe for Francisco Machado Mota de Castro Trincão: 69/235 done\n", - "Filling history dataframe for Donny van de Beek: 70/235 done\n", - "Filling history dataframe for Manuel Lanzini: 71/235 done\n", - "Filling history dataframe for Ainsley Maitland-Niles: 72/235 done\n", - "Filling history dataframe for Emile Smith Rowe: 73/235 done\n", - "Filling history dataframe for Gabriel Teodoro Martinelli Silva: 74/235 done\n", - "Filling history dataframe for Mahmoud Ahmed Ibrahim Hassan: 75/235 done\n", - "Filling history dataframe for Sergi Canós: 76/235 done\n", - "Filling history dataframe for Pelenda Joshua Dasilva: 77/235 done\n", - "Filling history dataframe for Saman Ghoddos: 78/235 done\n", - "Filling history dataframe for Bryan Mbeumo: 79/235 done\n", - "Filling history dataframe for Adam Lallana: 80/235 done\n", - "Filling history dataframe for Solomon March: 81/235 done\n", - "Filling history dataframe for Alireza Jahanbakhsh: 82/235 done\n", - "Filling history dataframe for Alexis Mac Allister: 83/235 done\n", - "Filling history dataframe for Ashley Westwood: 84/235 done\n", - "Filling history dataframe for Johann Berg Gudmundsson: 85/235 done\n", - "Filling history dataframe for Ross Barkley: 86/235 done\n", - "Filling history dataframe for Ruben Loftus-Cheek: 87/235 done\n", - "Filling history dataframe for Callum Hudson-Odoi: 88/235 done\n", - "Filling history dataframe for Conor Gallagher: 89/235 done\n", - "Filling history dataframe for Luka Milivojevic: 90/235 done\n", - "Filling history dataframe for Jeffrey Schlupp: 91/235 done\n", - "Filling history dataframe for Michael Olise: 92/235 done\n", - "Filling history dataframe for Bernard Anício Caldeira Duarte: 93/235 done\n", - "Filling history dataframe for Abdoulaye Doucouré: 94/235 done\n", - "Filling history dataframe for Andros Townsend: 95/235 done\n", - "Filling history dataframe for Demarai Gray: 96/235 done\n", - "Filling history dataframe for Marc Albrighton: 97/235 done\n", - "Filling history dataframe for Pablo Hernández Domínguez: 98/235 done\n", - "Filling history dataframe for Mateusz Klich: 99/235 done\n", - "Filling history dataframe for Stuart Dallas: 100/235 done\n", - "Filling history dataframe for Hélder Wander Sousa de Azevedo e Costa: 101/235 done\n", - "Filling history dataframe for Thiago Alcántara do Nascimento: 102/235 done\n", - "Filling history dataframe for Fabio Henrique Tavares: 103/235 done\n", - "Filling history dataframe for Harvey Elliott: 104/235 done\n", - "Filling history dataframe for Rodrigo Hernandez: 105/235 done\n", - "Filling history dataframe for Scott McTominay: 106/235 done\n", - "Filling history dataframe for Jonjo Shelvey: 107/235 done\n", - "Filling history dataframe for Ryan Fraser: 108/235 done\n", - "Filling history dataframe for Miguel Almirón: 109/235 done\n", - "Filling history dataframe for Kieran Dowell: 110/235 done\n", - "Filling history dataframe for Todd Cantwell: 111/235 done\n", - "Filling history dataframe for Milot Rashica: 112/235 done\n", - "Filling history dataframe for Moussa Djenepo: 113/235 done\n", - "Filling history dataframe for Mohamed Elyounoussi: 114/235 done\n", - "Filling history dataframe for Ken Sema: 115/235 done\n", - "Filling history dataframe for Philip Zinckernagel: 116/235 done\n", - "Filling history dataframe for Imrân Louza: 117/235 done\n", - "Filling history dataframe for Juraj Kucka: 118/235 done\n", - "Filling history dataframe for Andriy Yarmolenko: 119/235 done\n", - "Filling history dataframe for Rúben Diogo da Silva Neves: 120/235 done\n", - "Filling history dataframe for Daniel Castelo Podence: 121/235 done\n", - "Filling history dataframe for Martin Ødegaard: 122/235 done\n", - "Filling history dataframe for Tariqe Fosu-Henry: 123/235 done\n", - "Filling history dataframe for Takumi Minamino: 124/235 done\n", - "Filling history dataframe for Granit Xhaka: 125/235 done\n", - "Filling history dataframe for Thomas Partey: 126/235 done\n", - "Filling history dataframe for Albert Sambi Lokonga: 127/235 done\n", - "Filling history dataframe for Reiss Nelson: 128/235 done\n", - "Filling history dataframe for Conor Hourihane: 129/235 done\n", - "Filling history dataframe for Morgan Sanson: 130/235 done\n", - "Filling history dataframe for Jaden Philogene-Bidace: 131/235 done\n", - "Filling history dataframe for Christian Nørgaard: 132/235 done\n", - "Filling history dataframe for Vitaly Janelt: 133/235 done\n", - "Filling history dataframe for Mathias Jensen: 134/235 done\n", - "Filling history dataframe for Frank Onyeka: 135/235 done\n", - "Filling history dataframe for Shandon Baptiste: 136/235 done\n", - "Filling history dataframe for Steven Alzate: 137/235 done\n", - "Filling history dataframe for Mateo Kovacic: 138/235 done\n", - "Filling history dataframe for N'Golo Kanté: 139/235 done\n", - "Filling history dataframe for Jairo Riedewald: 140/235 done\n", - "Filling history dataframe for André Filipe Tavares Gomes: 141/235 done\n", - "Filling history dataframe for Tom Davies: 142/235 done\n", - "Filling history dataframe for Dennis Praet: 143/235 done\n", - "Filling history dataframe for Wilfred Ndidi: 144/235 done\n", - "Filling history dataframe for Boubakary Soumaré: 145/235 done\n", - "Filling history dataframe for Kalvin Phillips: 146/235 done\n", - "Filling history dataframe for Tyler Roberts: 147/235 done\n", - "Filling history dataframe for James Milner: 148/235 done\n", - "Filling history dataframe for Jordan Henderson: 149/235 done\n", - "Filling history dataframe for Naby Keita: 150/235 done\n", - "Filling history dataframe for Curtis Jones: 151/235 done\n", - "Filling history dataframe for Fernando Luiz Rosa: 152/235 done\n", - "Filling history dataframe for Samuel Edozie: 153/235 done\n", - "Filling history dataframe for Frederico Rodrigues de Paula Santos: 154/235 done\n", - "Filling history dataframe for Juan Mata: 155/235 done\n", - "Filling history dataframe for Andreas Pereira: 156/235 done\n", - "Filling history dataframe for Anthony Elanga: 157/235 done\n", - "Filling history dataframe for Jeff Hendrick: 158/235 done\n", - "Filling history dataframe for Jacob Murphy: 159/235 done\n", - "Filling history dataframe for Marco Stiepermann: 160/235 done\n", - "Filling history dataframe for Kenny McLean: 161/235 done\n", - "Filling history dataframe for Onel Hernández: 162/235 done\n", - "Filling history dataframe for Przemyslaw Placheta: 163/235 done\n", - "Filling history dataframe for Josh Martin: 164/235 done\n", - "Filling history dataframe for Pierre Lees-Melou: 165/235 done\n", - "Filling history dataframe for Christos Tzolis: 166/235 done\n", - "Filling history dataframe for Nathan Tella: 167/235 done\n", - "Filling history dataframe for Pierre-Emile Højbjerg: 168/235 done\n", - "Filling history dataframe for Dan Gosling: 169/235 done\n", - "Filling history dataframe for Tom Cleverley: 170/235 done\n", - "Filling history dataframe for Nathaniel Chalobah: 171/235 done\n", - "Filling history dataframe for Will Hughes: 172/235 done\n", - "Filling history dataframe for Declan Rice: 173/235 done\n", - "Filling history dataframe for João Filipe Iria Santos Moutinho: 174/235 done\n", - "Filling history dataframe for Leander Dendoncker: 175/235 done\n", - "Filling history dataframe for Ozan Tufan: 176/235 done\n", - "Filling history dataframe for Mohamed Naser El Sayed Elneny: 177/235 done\n", - "Filling history dataframe for Lucas Torreira: 178/235 done\n", - "Filling history dataframe for Mattéo Guendouzi: 179/235 done\n", - "Filling history dataframe for Marvelous Nakamba: 180/235 done\n", - "Filling history dataframe for Douglas Luiz Soares de Paulo: 181/235 done\n", - "Filling history dataframe for Jacob Ramsey: 182/235 done\n", - "Filling history dataframe for Aaron Ramsey: 183/235 done\n", - "Filling history dataframe for Carney Chukwuemeka: 184/235 done\n", - "Filling history dataframe for Jan Zamburek: 185/235 done\n", - "Filling history dataframe for Mads Bidstrup: 186/235 done\n", - "Filling history dataframe for Davy Pröpper: 187/235 done\n", - "Filling history dataframe for Yves Bissouma: 188/235 done\n", - "Filling history dataframe for Jakub Moder: 189/235 done\n", - "Filling history dataframe for Taylor Richards: 190/235 done\n", - "Filling history dataframe for Moisés Caicedo: 191/235 done\n", - "Filling history dataframe for Jack Cork: 192/235 done\n", - "Filling history dataframe for Dale Stephens: 193/235 done\n", - "Filling history dataframe for Josh Brownhill: 194/235 done\n", - "Filling history dataframe for Josh Benson: 195/235 done\n", - "Filling history dataframe for James McArthur: 196/235 done\n", - "Filling history dataframe for Jesurun Rak-Sakyi: 197/235 done\n", - "Filling history dataframe for Scott Banks: 198/235 done\n", - "Filling history dataframe for Fabian Delph: 199/235 done\n", - "Filling history dataframe for Allan Marques Loureiro: 200/235 done\n", - "Filling history dataframe for Anthony Gordon: 201/235 done\n", - "Filling history dataframe for Jean-Philippe Gbamin: 202/235 done\n", - "Filling history dataframe for Nampalys Mendy: 203/235 done\n", - "Filling history dataframe for Hamza Choudhury: 204/235 done\n", - "Filling history dataframe for Kiernan Dewsbury-Hall: 205/235 done\n", - "Filling history dataframe for Ian Carlo Poveda-Ocampo: 206/235 done\n", - "Filling history dataframe for Jamie Shackleton: 207/235 done\n", - "Filling history dataframe for Crysencio Summerville: 208/235 done\n", - "Filling history dataframe for Adam Forshaw: 209/235 done\n", - "Filling history dataframe for Ben Woodburn: 210/235 done\n", - "Filling history dataframe for Cole Palmer: 211/235 done\n", - "Filling history dataframe for Nemanja Matic: 212/235 done\n", - "Filling history dataframe for Isaac Hayden: 213/235 done\n", - "Filling history dataframe for Sean Longstaff: 214/235 done\n", - "Filling history dataframe for Matthew Longstaff: 215/235 done\n", - "Filling history dataframe for Billy Gilmour: 216/235 done\n", - "Filling history dataframe for Lukas Rupp: 217/235 done\n", - "Filling history dataframe for Oriol Romeu Vidal: 218/235 done\n", - "Filling history dataframe for William Smallbone: 219/235 done\n", - "Filling history dataframe for Ibrahima Diallo: 220/235 done\n", - "Filling history dataframe for Moussa Sissoko: 221/235 done\n", - "Filling history dataframe for Harry Winks: 222/235 done\n", - "Filling history dataframe for Oliver Skipp: 223/235 done\n", - "Filling history dataframe for Ayotomiwa Dele-Bashiru: 224/235 done\n", - "Filling history dataframe for Domingos Quina: 225/235 done\n", - "Filling history dataframe for Joseph Hungbo: 226/235 done\n", - "Filling history dataframe for Kwadwo Baah: 227/235 done\n", - "Filling history dataframe for Oghenekaro Peter Etebo: 228/235 done\n", - "Filling history dataframe for Mark Noble: 229/235 done\n", - "Filling history dataframe for Conor Coventry: 230/235 done\n", - "Filling history dataframe for Morgan Gibbs-White: 231/235 done\n", - "Filling history dataframe for Owen Otasowie: 232/235 done\n", - "Filling history dataframe for Luke Cundle: 233/235 done\n", - "Filling history dataframe for Chem Campbell: 234/235 done\n" + "Filling history dataframe for Luke Shaw: 18/194 done\n", + "Filling history dataframe for Aaron Wan-Bissaka: 19/194 done\n", + "Filling history dataframe for Raphaël Varane: 20/194 done\n", + "Filling history dataframe for Aaron Cresswell: 21/194 done\n", + "Filling history dataframe for Thiago Emiliano da Silva: 22/194 done\n", + "Filling history dataframe for Kurt Zouma: 23/194 done\n", + "Filling history dataframe for Timothy Castagne: 24/194 done\n", + "Filling history dataframe for John Stones: 25/194 done\n", + "Filling history dataframe for Ibrahima Konaté: 26/194 done\n", + "Filling history dataframe for Kieran Tierney: 27/194 done\n", + "Filling history dataframe for Gabriel Magalhães: 28/194 done\n", + "Filling history dataframe for Tyrone Mings: 29/194 done\n", + "Filling history dataframe for Matthew Cash: 30/194 done\n", + "Filling history dataframe for Ezri Konsa Ngoyo: 31/194 done\n", + "Filling history dataframe for Ashley Young: 32/194 done\n", + "Filling history dataframe for Lewis Dunk: 33/194 done\n", + "Filling history dataframe for James Tarkowski: 34/194 done\n", + "Filling history dataframe for Ben Mee: 35/194 done\n", + "Filling history dataframe for Andreas Christensen: 36/194 done\n", + "Filling history dataframe for Malang Sarr: 37/194 done\n", + "Filling history dataframe for Trevoh Chalobah: 38/194 done\n", + "Filling history dataframe for Seamus Coleman: 39/194 done\n", + "Filling history dataframe for Michael Keane: 40/194 done\n", + "Filling history dataframe for Yerry Mina: 41/194 done\n", + "Filling history dataframe for Çaglar Söyüncü: 42/194 done\n", + "Filling history dataframe for James Justin: 43/194 done\n", + "Filling history dataframe for Jannik Vestergaard: 44/194 done\n", + "Filling history dataframe for Héctor Junior Firpo Adames: 45/194 done\n", + "Filling history dataframe for Joel Matip: 46/194 done\n", + "Filling history dataframe for Nathan Aké: 47/194 done\n", + "Filling history dataframe for Alex Nicolao Telles: 48/194 done\n", + "Filling history dataframe for Victor Lindelöf: 49/194 done\n", + "Filling history dataframe for Eric Bailly: 50/194 done\n", + "Filling history dataframe for Matt Ritchie: 51/194 done\n", + "Filling history dataframe for Kyle Walker-Peters: 52/194 done\n", + "Filling history dataframe for Romain Perraud: 53/194 done\n", + "Filling history dataframe for Toby Alderweireld: 54/194 done\n", + "Filling history dataframe for Serge Aurier: 55/194 done\n", + "Filling history dataframe for Sergio Reguilón: 56/194 done\n", + "Filling history dataframe for Cristian Romero: 57/194 done\n", + "Filling history dataframe for Angelo Ogbonna: 58/194 done\n", + "Filling history dataframe for Craig Dawson: 59/194 done\n", + "Filling history dataframe for Vladimir Coufal: 60/194 done\n", + "Filling history dataframe for Romain Saïss: 61/194 done\n", + "Filling history dataframe for Nélson Cabral Semedo: 62/194 done\n", + "Filling history dataframe for Héctor Bellerín: 63/194 done\n", + "Filling history dataframe for Matt Targett: 64/194 done\n", + "Filling history dataframe for Ben Godfrey: 65/194 done\n", + "Filling history dataframe for Ryan Bertrand: 66/194 done\n", + "Filling history dataframe for Joseph Gomez: 67/194 done\n", + "Filling history dataframe for Matt Doherty: 68/194 done\n", + "Filling history dataframe for Willy Boly: 69/194 done\n", + "Filling history dataframe for Ethan Pinnock: 70/194 done\n", + "Filling history dataframe for Cédric Soares: 71/194 done\n", + "Filling history dataframe for Pablo Marí: 72/194 done\n", + "Filling history dataframe for Calum Chambers: 73/194 done\n", + "Filling history dataframe for Konstantinos Mavropanos: 74/194 done\n", + "Filling history dataframe for William Saliba: 75/194 done\n", + "Filling history dataframe for Ben White: 76/194 done\n", + "Filling history dataframe for Nuno Varela Tavares: 77/194 done\n", + "Filling history dataframe for Björn Engels: 78/194 done\n", + "Filling history dataframe for Kortney Hause: 79/194 done\n", + "Filling history dataframe for Frédéric Guilbert: 80/194 done\n", + "Filling history dataframe for Axel Tuanzebe: 81/194 done\n", + "Filling history dataframe for Pontus Jansson: 82/194 done\n", + "Filling history dataframe for Rico Henry: 83/194 done\n", + "Filling history dataframe for Mads Bech Sørensen: 84/194 done\n", + "Filling history dataframe for Kristoffer Ajer: 85/194 done\n", + "Filling history dataframe for Dominic Thompson: 86/194 done\n", + "Filling history dataframe for Dan Burn: 87/194 done\n", + "Filling history dataframe for Adam Webster: 88/194 done\n", + "Filling history dataframe for Joël Veltman: 89/194 done\n", + "Filling history dataframe for Tariq Lamptey: 90/194 done\n", + "Filling history dataframe for Erik Pieters: 91/194 done\n", + "Filling history dataframe for Matthew Lowton: 92/194 done\n", + "Filling history dataframe for Charlie Taylor: 93/194 done\n", + "Filling history dataframe for Nathan Collins: 94/194 done\n", + "Filling history dataframe for Ethan Ampadu: 95/194 done\n", + "Filling history dataframe for Emerson Palmieri dos Santos: 96/194 done\n", + "Filling history dataframe for James Tomkins: 97/194 done\n", + "Filling history dataframe for Cheikhou Kouyaté: 98/194 done\n", + "Filling history dataframe for Jarosław Jach: 99/194 done\n", + "Filling history dataframe for Nathan Ferguson: 100/194 done\n", + "Filling history dataframe for Tyrick Mitchell: 101/194 done\n", + "Filling history dataframe for Joel Ward: 102/194 done\n", + "Filling history dataframe for Marc Guéhi: 103/194 done\n", + "Filling history dataframe for Joachim Andersen: 104/194 done\n", + "Filling history dataframe for Nathaniel Clyne: 105/194 done\n", + "Filling history dataframe for Mason Holgate: 106/194 done\n", + "Filling history dataframe for Jonjoe Kenny: 107/194 done\n", + "Filling history dataframe for Luke Thomas: 108/194 done\n", + "Filling history dataframe for Liam Cooper: 109/194 done\n", + "Filling history dataframe for Luke Ayling: 110/194 done\n", + "Filling history dataframe for Diego Llorente: 111/194 done\n", + "Filling history dataframe for Robin Koch: 112/194 done\n", + "Filling history dataframe for Pascal Struijk: 113/194 done\n", + "Filling history dataframe for José Diogo Dalot Teixeira: 114/194 done\n", + "Filling history dataframe for Ciaran Clark: 115/194 done\n", + "Filling history dataframe for Jamaal Lascelles: 116/194 done\n", + "Filling history dataframe for Paul Dummett: 117/194 done\n", + "Filling history dataframe for Emil Krafth: 118/194 done\n", + "Filling history dataframe for Fabian Schär: 119/194 done\n", + "Filling history dataframe for Jamal Lewis: 120/194 done\n", + "Filling history dataframe for Federico Fernández: 121/194 done\n", + "Filling history dataframe for Grant Hanley: 122/194 done\n", + "Filling history dataframe for Sam Byram: 123/194 done\n", + "Filling history dataframe for Christoph Zimmermann: 124/194 done\n", + "Filling history dataframe for Max Aarons: 125/194 done\n", + "Filling history dataframe for Jacob Sørensen: 126/194 done\n", + "Filling history dataframe for Ben Gibson: 127/194 done\n", + "Filling history dataframe for Dimitris Giannoulis: 128/194 done\n", + "Filling history dataframe for Jack Stephens: 129/194 done\n", + "Filling history dataframe for Jan Bednarek: 130/194 done\n", + "Filling history dataframe for Mohammed Salisu: 131/194 done\n", + "Filling history dataframe for Eric Dier: 132/194 done\n", + "Filling history dataframe for Ben Davies: 133/194 done\n", + "Filling history dataframe for Davinson Sánchez: 134/194 done\n", + "Filling history dataframe for Ryan Sessegnon: 135/194 done\n", + "Filling history dataframe for Japhet Tanganga: 136/194 done\n", + "Filling history dataframe for Joe Rodon: 137/194 done\n", + "Filling history dataframe for Craig Cathcart: 138/194 done\n", + "Filling history dataframe for Christian Kabasele: 139/194 done\n", + "Filling history dataframe for William Troost-Ekong: 140/194 done\n", + "Filling history dataframe for Adam Masina: 141/194 done\n", + "Filling history dataframe for Jeremy Ngakia: 142/194 done\n", + "Filling history dataframe for Ben Wilmot: 143/194 done\n", + "Filling history dataframe for Ryan Fredericks: 144/194 done\n", + "Filling history dataframe for Arthur Masuaku: 145/194 done\n", + "Filling history dataframe for Issa Diop: 146/194 done\n", + "Filling history dataframe for Conor Coady: 147/194 done\n", + "Filling history dataframe for Fernando Marçal: 148/194 done\n", + "Filling history dataframe for Jonathan Castro Otto: 149/194 done\n", + "Filling history dataframe for Max Kilman: 150/194 done\n", + "Filling history dataframe for Yerson Mosquera Valdelamar: 151/194 done\n", + "Filling history dataframe for Sead Kolasinac: 152/194 done\n", + "Filling history dataframe for Rob Holding: 153/194 done\n", + "Filling history dataframe for Mads Roerslev Rasmussen: 154/194 done\n", + "Filling history dataframe for Wesley Fofana: 155/194 done\n", + "Filling history dataframe for Nathaniel Phillips: 156/194 done\n", + "Filling history dataframe for Rhys Williams: 157/194 done\n", + "Filling history dataframe for Danny Rose: 158/194 done\n", + "Filling history dataframe for Francisco Femenía Far: 159/194 done\n", + "Filling history dataframe for Francisco Sierralta: 160/194 done\n", + "Filling history dataframe for Rayan Ait Nouri: 161/194 done\n", + "Filling history dataframe for Konstantinos Tsimikas: 162/194 done\n", + "Filling history dataframe for Shane Duffy: 163/194 done\n", + "Filling history dataframe for Charlie Goode: 164/194 done\n", + "Filling history dataframe for Bernardo Fernandes Da Silva Junior: 165/194 done\n", + "Filling history dataframe for Michal Karbownik: 166/194 done\n", + "Filling history dataframe for Haydon Roberts: 167/194 done\n", + "Filling history dataframe for Phil Bardsley: 168/194 done\n", + "Filling history dataframe for Kevin Long: 169/194 done\n", + "Filling history dataframe for Bobby Thomas: 170/194 done\n", + "Filling history dataframe for Owen Dodgson: 171/194 done\n", + "Filling history dataframe for Martin Kelly: 172/194 done\n", + "Filling history dataframe for Reece Hannam: 173/194 done\n", + "Filling history dataframe for Jarrad Branthwaite: 174/194 done\n", + "Filling history dataframe for Daniel Amartey: 175/194 done\n", + "Filling history dataframe for Cody Drameh: 176/194 done\n", + "Filling history dataframe for Charlie Cresswell: 177/194 done\n", + "Filling history dataframe for Neco Williams: 178/194 done\n", + "Filling history dataframe for Ben Davies: 179/194 done\n", + "Filling history dataframe for Javier Manquillo: 180/194 done\n", + "Filling history dataframe for Brandon Williams: 181/194 done\n", + "Filling history dataframe for Andrew Omobamidele: 182/194 done\n", + "Filling history dataframe for Bali Mumba: 183/194 done\n", + "Filling history dataframe for Tino Livramento: 184/194 done\n", + "Filling history dataframe for Yan Valery: 185/194 done\n", + "Filling history dataframe for Marc Navarro: 186/194 done\n", + "Filling history dataframe for Matthew Pollock: 187/194 done\n", + "Filling history dataframe for Winston Reid: 188/194 done\n", + "Filling history dataframe for Ben Johnson: 189/194 done\n", + "Filling history dataframe for Frederik Alves: 190/194 done\n", + "Filling history dataframe for Jamal Baptiste: 191/194 done\n", + "Filling history dataframe for Ki-Jana Hoever: 192/194 done\n", + "Filling history dataframe for Christian Marques: 193/194 done\n" ] } ], "source": [ "from airsenal.framework.prediction_utils import process_player_data\n", "from airsenal.framework.player_model import scale_goals_by_minutes\n", - "from airsenal.framework.utils import get_player\n", - "from airsenal.framework.player_model import ConjugatePlayerModel\n", + "from airsenal.framework.utils import get_player, fastcopy\n", + "from airsenal.framework.player_model import ConjugatePlayerModel, PlayerModel\n", "import pandas as pd\n", "\n", + "data_fwd = process_player_data(\"FWD\")\n", + "data_mid = process_player_data(\"MID\")\n", + "data_def = process_player_data(\"DEF\")\n", "\n", - "def fit_model(pos, n_goals_prior=13):\n", - " data = process_player_data(pos)\n", - " model = ConjugatePlayerModel().fit(data, n_goals_prior=n_goals_prior)\n", - " return model\n", + "conj_model_fwd = ConjugatePlayerModel().fit(data_fwd, n_goals_prior=13)\n", + "conj_model_mid = ConjugatePlayerModel().fit(data_mid, n_goals_prior=13)\n", + "conj_model_def = ConjugatePlayerModel().fit(data_def, n_goals_prior=13)\n", "\n", - "def display_model(model, n_display=10):\n", + "\n", + "def get_model_df(model):\n", " df = pd.DataFrame(model.get_probs())\n", " df[\"player_name\"] = df[\"player_id\"].apply(lambda x: get_player(x).name)\n", - " for c in (\"prob_score\", \"prob_assist\", \"prob_neither\"):\n", + " return df\n", + "\n", + "\n", + "def display_model(df, n_display=5):\n", + " for c in (\"prob_score\", \"prob_assist\"): #, \"prob_neither\"):\n", " sort_ascending = True if c == \"prob_neither\" else False\n", " display(df.sort_values(by=c, ascending=sort_ascending).head(n_display))\n", - " return df\n", "\n", - "model_fwd = fit_model(\"FWD\")\n", - "model_def = fit_model(\"DEF\")\n", - "model_mid = fit_model(\"MID\")" + "\n", + "conj_fwd = get_model_df(conj_model_fwd)\n", + "conj_mid = get_model_df(conj_model_mid)\n", + "conj_def = get_model_df(conj_model_def)\n" ] }, { "cell_type": "code", "execution_count": 3, - "id": "1e0ef8c0", + "id": "bfd7ceab", "metadata": {}, "outputs": [ { @@ -780,111 +793,61 @@ " \n", " 7\n", " 56\n", - " 0.414222\n", - " 0.097801\n", - " 0.487977\n", + " 0.415878\n", + " 0.096187\n", + " 0.487935\n", " Danny Ings\n", " \n", " \n", " 42\n", " 362\n", - " 0.383731\n", - " 0.125098\n", - " 0.491171\n", + " 0.383568\n", + " 0.125351\n", + " 0.491081\n", " Teemu Pukki\n", " \n", " \n", " 17\n", " 123\n", - " 0.368955\n", - " 0.081688\n", - " 0.549356\n", + " 0.368897\n", + " 0.081778\n", + " 0.549324\n", " Chris Wood\n", " \n", " \n", " 14\n", " 111\n", - " 0.368278\n", - " 0.085614\n", - " 0.546108\n", + " 0.367978\n", + " 0.086078\n", + " 0.545944\n", " Florin Andone\n", " \n", " \n", " 0\n", " 4\n", - " 0.365843\n", - " 0.106465\n", - " 0.527692\n", + " 0.365803\n", + " 0.106526\n", + " 0.527670\n", " Pierre-Emerick Aubameyang\n", " \n", - " \n", - " 51\n", - " 415\n", - " 0.350319\n", - " 0.135095\n", - " 0.514586\n", - " Harry Kane\n", - " \n", - " \n", - " 28\n", - " 214\n", - " 0.349878\n", - " 0.160214\n", - " 0.489908\n", - " Jamie Vardy\n", - " \n", - " \n", - " 26\n", - " 198\n", - " 0.335624\n", - " 0.116604\n", - " 0.547772\n", - " Dominic Calvert-Lewin\n", - " \n", - " \n", - " 73\n", - " 1188\n", - " 0.334005\n", - " 0.127461\n", - " 0.538534\n", - " Adam Armstrong\n", - " \n", - " \n", - " 62\n", - " 473\n", - " 0.334005\n", - " 0.127461\n", - " 0.538534\n", - " Juan Camilo Hernández Suárez\n", - " \n", " \n", "\n", "" ], "text/plain": [ " player_id prob_score prob_assist prob_neither \\\n", - "7 56 0.414222 0.097801 0.487977 \n", - "42 362 0.383731 0.125098 0.491171 \n", - "17 123 0.368955 0.081688 0.549356 \n", - "14 111 0.368278 0.085614 0.546108 \n", - "0 4 0.365843 0.106465 0.527692 \n", - "51 415 0.350319 0.135095 0.514586 \n", - "28 214 0.349878 0.160214 0.489908 \n", - "26 198 0.335624 0.116604 0.547772 \n", - "73 1188 0.334005 0.127461 0.538534 \n", - "62 473 0.334005 0.127461 0.538534 \n", + "7 56 0.415878 0.096187 0.487935 \n", + "42 362 0.383568 0.125351 0.491081 \n", + "17 123 0.368897 0.081778 0.549324 \n", + "14 111 0.367978 0.086078 0.545944 \n", + "0 4 0.365803 0.106526 0.527670 \n", "\n", - " player_name \n", - "7 Danny Ings \n", - "42 Teemu Pukki \n", - "17 Chris Wood \n", - "14 Florin Andone \n", - "0 Pierre-Emerick Aubameyang \n", - "51 Harry Kane \n", - "28 Jamie Vardy \n", - "26 Dominic Calvert-Lewin \n", - "73 Adam Armstrong \n", - "62 Juan Camilo Hernández Suárez " + " player_name \n", + "7 Danny Ings \n", + "42 Teemu Pukki \n", + "17 Chris Wood \n", + "14 Florin Andone \n", + "0 Pierre-Emerick Aubameyang " ] }, "metadata": {}, @@ -922,212 +885,42 @@ " \n", " 21\n", " 150\n", - " 0.149484\n", - " 0.212954\n", - " 0.637562\n", + " 0.149408\n", + " 0.213132\n", + " 0.637460\n", " Timo Werner\n", " \n", " \n", " 6\n", " 51\n", - " 0.253950\n", - " 0.205528\n", - " 0.540522\n", + " 0.253611\n", + " 0.206054\n", + " 0.540335\n", " Keinan Davis\n", " \n", " \n", - " 38\n", - " 339\n", - " 0.304386\n", - " 0.202927\n", - " 0.492686\n", - " Callum Wilson\n", - " \n", - " \n", - " 40\n", - " 350\n", - " 0.149440\n", - " 0.197447\n", - " 0.653114\n", - " Allan Saint-Maximin\n", - " \n", - " \n", " 47\n", " 398\n", - " 0.236179\n", - " 0.195226\n", - " 0.568596\n", + " 0.231919\n", + " 0.205824\n", + " 0.562257\n", " Che Adams\n", " \n", " \n", - " 1\n", - " 6\n", - " 0.319510\n", - " 0.191536\n", - " 0.488954\n", - " Alexandre Lacazette\n", - " \n", - " \n", - " 63\n", - " 482\n", - " 0.277645\n", - " 0.188117\n", - " 0.534238\n", - " Michail Antonio\n", - " \n", - " \n", - " 29\n", - " 222\n", - " 0.316536\n", - " 0.186691\n", - " 0.496773\n", - " Kelechi Iheanacho\n", - " \n", - " \n", - " 32\n", - " 241\n", - " 0.300073\n", - " 0.185542\n", - " 0.514385\n", - " Patrick Bamford\n", - " \n", - " \n", - " 59\n", - " 468\n", - " 0.308312\n", - " 0.183591\n", - " 0.508097\n", - " Emmanuel Dennis\n", - " \n", - " \n", - "\n", - "" - ], - "text/plain": [ - " player_id prob_score prob_assist prob_neither player_name\n", - "21 150 0.149484 0.212954 0.637562 Timo Werner\n", - "6 51 0.253950 0.205528 0.540522 Keinan Davis\n", - "38 339 0.304386 0.202927 0.492686 Callum Wilson\n", - "40 350 0.149440 0.197447 0.653114 Allan Saint-Maximin\n", - "47 398 0.236179 0.195226 0.568596 Che Adams\n", - "1 6 0.319510 0.191536 0.488954 Alexandre Lacazette\n", - "63 482 0.277645 0.188117 0.534238 Michail Antonio\n", - "29 222 0.316536 0.186691 0.496773 Kelechi Iheanacho\n", - "32 241 0.300073 0.185542 0.514385 Patrick Bamford\n", - "59 468 0.308312 0.183591 0.508097 Emmanuel Dennis" - ] - }, - "metadata": {}, - "output_type": "display_data" - }, - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", " \n", " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
player_idprob_scoreprob_assistprob_neitherplayer_name
7560.4142220.0978010.487977Danny Ings
160.3195100.1915360.488954Alexandre Lacazette
282140.3498780.1602140.489908Jamie Vardy
423620.3837310.1250980.491171Teemu Pukki
383390.3043860.2029270.4926860.3043370.2030040.492659Callum Wilson
292220.3165360.1866910.496773Kelechi Iheanacho
645020.3243760.1703360.505288Raúl Jiménez
594680.3083120.1835910.508097Emmanuel Dennis
322410.3000730.1855420.514385Patrick Bamford
514150.3503190.1350950.514586Harry Kane403500.1493430.1975960.653061Allan Saint-Maximin
\n", @@ -1135,16 +928,11 @@ ], "text/plain": [ " player_id prob_score prob_assist prob_neither player_name\n", - "7 56 0.414222 0.097801 0.487977 Danny Ings\n", - "1 6 0.319510 0.191536 0.488954 Alexandre Lacazette\n", - "28 214 0.349878 0.160214 0.489908 Jamie Vardy\n", - "42 362 0.383731 0.125098 0.491171 Teemu Pukki\n", - "38 339 0.304386 0.202927 0.492686 Callum Wilson\n", - "29 222 0.316536 0.186691 0.496773 Kelechi Iheanacho\n", - "64 502 0.324376 0.170336 0.505288 Raúl Jiménez\n", - "59 468 0.308312 0.183591 0.508097 Emmanuel Dennis\n", - "32 241 0.300073 0.185542 0.514385 Patrick Bamford\n", - "51 415 0.350319 0.135095 0.514586 Harry Kane" + "21 150 0.149408 0.213132 0.637460 Timo Werner\n", + "6 51 0.253611 0.206054 0.540335 Keinan Davis\n", + "47 398 0.231919 0.205824 0.562257 Che Adams\n", + "38 339 0.304337 0.203004 0.492659 Callum Wilson\n", + "40 350 0.149343 0.197596 0.653061 Allan Saint-Maximin" ] }, "metadata": {}, @@ -1152,13 +940,13 @@ } ], "source": [ - "df_fwd = display_model(model_fwd);" + "display_model(conj_fwd)" ] }, { "cell_type": "code", "execution_count": 4, - "id": "b683cefb", + "id": "dfca4e72", "metadata": {}, "outputs": [ { @@ -1193,111 +981,61 @@ " \n", " 115\n", " 267\n", - " 0.280115\n", - " 0.134471\n", - " 0.585414\n", + " 0.277709\n", + " 0.133284\n", + " 0.589007\n", " Mohamed Salah\n", " \n", " \n", " 137\n", " 315\n", - " 0.273502\n", - " 0.210435\n", - " 0.516062\n", + " 0.270812\n", + " 0.208299\n", + " 0.520889\n", " Bruno Miguel Borges Fernandes\n", " \n", " \n", - " 178\n", - " 417\n", - " 0.266715\n", - " 0.210036\n", - " 0.523249\n", - " Heung-Min Son\n", - " \n", - " \n", " 118\n", " 274\n", - " 0.263382\n", - " 0.119158\n", - " 0.617460\n", + " 0.268476\n", + " 0.117118\n", + " 0.614406\n", " Diogo Jota\n", " \n", " \n", - " 113\n", - " 264\n", - " 0.240932\n", - " 0.116767\n", - " 0.642300\n", - " Sadio Mané\n", + " 178\n", + " 417\n", + " 0.265523\n", + " 0.209050\n", + " 0.525427\n", + " Heung-Min Son\n", " \n", " \n", " 19\n", " 44\n", - " 0.237898\n", - " 0.098818\n", - " 0.663284\n", + " 0.246212\n", + " 0.095931\n", + " 0.657857\n", " Anwar El Ghazi\n", " \n", - " \n", - " 142\n", - " 326\n", - " 0.236987\n", - " 0.053756\n", - " 0.709258\n", - " Mason Greenwood\n", - " \n", - " \n", - " 203\n", - " 481\n", - " 0.234515\n", - " 0.122696\n", - " 0.642789\n", - " Andriy Yarmolenko\n", - " \n", - " \n", - " 138\n", - " 319\n", - " 0.228239\n", - " 0.158676\n", - " 0.613085\n", - " Marcus Rashford\n", - " \n", - " \n", - " 125\n", - " 291\n", - " 0.224760\n", - " 0.145780\n", - " 0.629459\n", - " Raheem Sterling\n", - " \n", " \n", "\n", "
" ], "text/plain": [ " player_id prob_score prob_assist prob_neither \\\n", - "115 267 0.280115 0.134471 0.585414 \n", - "137 315 0.273502 0.210435 0.516062 \n", - "178 417 0.266715 0.210036 0.523249 \n", - "118 274 0.263382 0.119158 0.617460 \n", - "113 264 0.240932 0.116767 0.642300 \n", - "19 44 0.237898 0.098818 0.663284 \n", - "142 326 0.236987 0.053756 0.709258 \n", - "203 481 0.234515 0.122696 0.642789 \n", - "138 319 0.228239 0.158676 0.613085 \n", - "125 291 0.224760 0.145780 0.629459 \n", + "115 267 0.277709 0.133284 0.589007 \n", + "137 315 0.270812 0.208299 0.520889 \n", + "118 274 0.268476 0.117118 0.614406 \n", + "178 417 0.265523 0.209050 0.525427 \n", + "19 44 0.246212 0.095931 0.657857 \n", "\n", " player_name \n", "115 Mohamed Salah \n", "137 Bruno Miguel Borges Fernandes \n", - "178 Heung-Min Son \n", "118 Diogo Jota \n", - "113 Sadio Mané \n", - "19 Anwar El Ghazi \n", - "142 Mason Greenwood \n", - "203 Andriy Yarmolenko \n", - "138 Marcus Rashford \n", - "125 Raheem Sterling " + "178 Heung-Min Son \n", + "19 Anwar El Ghazi " ] }, "metadata": {}, @@ -1335,116 +1073,70 @@ " \n", " 149\n", " 341\n", - " 0.098183\n", - " 0.254388\n", - " 0.647429\n", + " 0.098184\n", + " 0.254310\n", + " 0.647506\n", " Ryan Fraser\n", " \n", " \n", " 123\n", " 287\n", " 0.130034\n", - " 0.228552\n", - " 0.641414\n", + " 0.228509\n", + " 0.641456\n", " Kevin De Bruyne\n", " \n", " \n", + " 39\n", + " 88\n", + " 0.108012\n", + " 0.222432\n", + " 0.669555\n", + " Pascal Groß\n", + " \n", + " \n", " 217\n", " 513\n", - " 0.168343\n", - " 0.221702\n", - " 0.609955\n", + " 0.168344\n", + " 0.221570\n", + " 0.610086\n", " Pedro Lomba Neto\n", " \n", " \n", - " 121\n", - " 284\n", - " 0.166989\n", - " 0.220983\n", - " 0.612028\n", - " Jack Grealish\n", - " \n", - " \n", " 72\n", " 176\n", - " 0.126094\n", - " 0.218831\n", - " 0.655075\n", + " 0.126096\n", + " 0.218658\n", + " 0.655246\n", " Eberechi Eze\n", " \n", - " \n", - " 39\n", - " 88\n", - " 0.110412\n", - " 0.215742\n", - " 0.673845\n", - " Pascal Groß\n", - " \n", - " \n", - " 137\n", - " 315\n", - " 0.273502\n", - " 0.210435\n", - " 0.516062\n", - " Bruno Miguel Borges Fernandes\n", - " \n", - " \n", - " 178\n", - " 417\n", - " 0.266715\n", - " 0.210036\n", - " 0.523249\n", - " Heung-Min Son\n", - " \n", - " \n", - " 205\n", - " 488\n", - " 0.083456\n", - " 0.205144\n", - " 0.711400\n", - " Saïd Benrahma\n", - " \n", - " \n", - " 98\n", - " 234\n", - " 0.065767\n", - " 0.204119\n", - " 0.730115\n", - " Pablo Hernández Domínguez\n", - " \n", " \n", "\n", "" ], "text/plain": [ - " player_id prob_score prob_assist prob_neither \\\n", - "149 341 0.098183 0.254388 0.647429 \n", - "123 287 0.130034 0.228552 0.641414 \n", - "217 513 0.168343 0.221702 0.609955 \n", - "121 284 0.166989 0.220983 0.612028 \n", - "72 176 0.126094 0.218831 0.655075 \n", - "39 88 0.110412 0.215742 0.673845 \n", - "137 315 0.273502 0.210435 0.516062 \n", - "178 417 0.266715 0.210036 0.523249 \n", - "205 488 0.083456 0.205144 0.711400 \n", - "98 234 0.065767 0.204119 0.730115 \n", - "\n", - " player_name \n", - "149 Ryan Fraser \n", - "123 Kevin De Bruyne \n", - "217 Pedro Lomba Neto \n", - "121 Jack Grealish \n", - "72 Eberechi Eze \n", - "39 Pascal Groß \n", - "137 Bruno Miguel Borges Fernandes \n", - "178 Heung-Min Son \n", - "205 Saïd Benrahma \n", - "98 Pablo Hernández Domínguez " + " player_id prob_score prob_assist prob_neither player_name\n", + "149 341 0.098184 0.254310 0.647506 Ryan Fraser\n", + "123 287 0.130034 0.228509 0.641456 Kevin De Bruyne\n", + "39 88 0.108012 0.222432 0.669555 Pascal Groß\n", + "217 513 0.168344 0.221570 0.610086 Pedro Lomba Neto\n", + "72 176 0.126096 0.218658 0.655246 Eberechi Eze" ] }, "metadata": {}, "output_type": "display_data" - }, + } + ], + "source": [ + "display_model(conj_mid)" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "d96678cb", + "metadata": {}, + "outputs": [ { "data": { "text/html": [ @@ -1475,129 +1167,61 @@ " \n", " \n", " \n", - " 137\n", - " 315\n", - " 0.273502\n", - " 0.210435\n", - " 0.516062\n", - " Bruno Miguel Borges Fernandes\n", - " \n", - " \n", - " 178\n", - " 417\n", - " 0.266715\n", - " 0.210036\n", - " 0.523249\n", - " Heung-Min Son\n", - " \n", - " \n", - " 115\n", - " 267\n", - " 0.280115\n", - " 0.134471\n", - " 0.585414\n", - " Mohamed Salah\n", - " \n", - " \n", - " 217\n", - " 513\n", - " 0.168343\n", - " 0.221702\n", - " 0.609955\n", - " Pedro Lomba Neto\n", - " \n", - " \n", - " 121\n", - " 284\n", - " 0.166989\n", - " 0.220983\n", - " 0.612028\n", - " Jack Grealish\n", - " \n", - " \n", - " 138\n", - " 319\n", - " 0.228239\n", - " 0.158676\n", - " 0.613085\n", - " Marcus Rashford\n", + " 29\n", + " 89\n", + " 0.119017\n", + " 0.043187\n", + " 0.837796\n", + " Shane Duffy\n", " \n", " \n", - " 118\n", - " 274\n", - " 0.263382\n", - " 0.119158\n", - " 0.617460\n", - " Diogo Jota\n", + " 114\n", + " 336\n", + " 0.109759\n", + " 0.011724\n", + " 0.878517\n", + " Ciaran Clark\n", " \n", " \n", - " 69\n", - " 170\n", - " 0.204926\n", - " 0.173788\n", - " 0.621286\n", - " Wilfried Zaha\n", + " 119\n", + " 348\n", + " 0.104041\n", + " 0.037753\n", + " 0.858206\n", + " Fabian Schär\n", " \n", " \n", - " 125\n", - " 291\n", - " 0.224760\n", - " 0.145780\n", - " 0.629459\n", - " Raheem Sterling\n", + " 128\n", + " 381\n", + " 0.099554\n", + " 0.048781\n", + " 0.851665\n", + " Ben Gibson\n", " \n", " \n", - " 62\n", - " 153\n", - " 0.203911\n", - " 0.164048\n", - " 0.632041\n", - " Christian Pulisic\n", + " 190\n", + " 1186\n", + " 0.087109\n", + " 0.042683\n", + " 0.870207\n", + " Trevoh Chalobah\n", " \n", " \n", "\n", "" ], "text/plain": [ - " player_id prob_score prob_assist prob_neither \\\n", - "137 315 0.273502 0.210435 0.516062 \n", - "178 417 0.266715 0.210036 0.523249 \n", - "115 267 0.280115 0.134471 0.585414 \n", - "217 513 0.168343 0.221702 0.609955 \n", - "121 284 0.166989 0.220983 0.612028 \n", - "138 319 0.228239 0.158676 0.613085 \n", - "118 274 0.263382 0.119158 0.617460 \n", - "69 170 0.204926 0.173788 0.621286 \n", - "125 291 0.224760 0.145780 0.629459 \n", - "62 153 0.203911 0.164048 0.632041 \n", - "\n", - " player_name \n", - "137 Bruno Miguel Borges Fernandes \n", - "178 Heung-Min Son \n", - "115 Mohamed Salah \n", - "217 Pedro Lomba Neto \n", - "121 Jack Grealish \n", - "138 Marcus Rashford \n", - "118 Diogo Jota \n", - "69 Wilfried Zaha \n", - "125 Raheem Sterling \n", - "62 Christian Pulisic " + " player_id prob_score prob_assist prob_neither player_name\n", + "29 89 0.119017 0.043187 0.837796 Shane Duffy\n", + "114 336 0.109759 0.011724 0.878517 Ciaran Clark\n", + "119 348 0.104041 0.037753 0.858206 Fabian Schär\n", + "128 381 0.099554 0.048781 0.851665 Ben Gibson\n", + "190 1186 0.087109 0.042683 0.870207 Trevoh Chalobah" ] }, "metadata": {}, "output_type": "display_data" - } - ], - "source": [ - "df_mid = display_model(model_mid);" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "76d215c9", - "metadata": {}, - "outputs": [ + }, { "data": { "text/html": [ @@ -1628,106 +1252,72 @@ " \n", " \n", " \n", - " 114\n", - " 336\n", - " 0.109759\n", - " 0.011661\n", - " 0.878580\n", - " Ciaran Clark\n", + " 113\n", + " 335\n", + " 0.050775\n", + " 0.181236\n", + " 0.767988\n", + " Matt Ritchie\n", " \n", " \n", - " 29\n", - " 89\n", - " 0.106218\n", - " 0.044510\n", - " 0.849272\n", - " Shane Duffy\n", + " 144\n", + " 426\n", + " 0.054911\n", + " 0.176240\n", + " 0.768850\n", + " Ryan Sessegnon\n", " \n", " \n", - " 119\n", - " 348\n", - " 0.104041\n", - " 0.037701\n", - " 0.858258\n", - " Fabian Schär\n", - " \n", - " \n", - " 128\n", - " 381\n", - " 0.099553\n", - " 0.048520\n", - " 0.851927\n", - " Ben Gibson\n", - " \n", - " \n", - " 31\n", - " 92\n", - " 0.087227\n", - " 0.039270\n", - " 0.873504\n", - " Lewis Dunk\n", - " \n", - " \n", - " 188\n", - " 1186\n", - " 0.087109\n", - " 0.042455\n", - " 0.870436\n", - " Trevoh Chalobah\n", - " \n", - " \n", - " 46\n", - " 138\n", - " 0.075772\n", - " 0.110340\n", - " 0.813889\n", - " Marcos Alonso\n", - " \n", - " \n", - " 172\n", - " 503\n", - " 0.073768\n", - " 0.026731\n", - " 0.899501\n", - " Romain Saïss\n", + " 38\n", + " 114\n", + " 0.007911\n", + " 0.174446\n", + " 0.817643\n", + " Erik Pieters\n", " \n", " \n", - " 163\n", - " 483\n", - " 0.068629\n", - " 0.008643\n", - " 0.922728\n", - " Craig Dawson\n", + " 89\n", + " 271\n", + " 0.032664\n", + " 0.166475\n", + " 0.800861\n", + " Trent Alexander-Arnold\n", " \n", " \n", - " 140\n", - " 418\n", - " 0.066773\n", - " 0.140640\n", - " 0.792588\n", - " Matt Doherty\n", + " 65\n", + " 189\n", + " 0.031620\n", + " 0.163239\n", + " 0.805141\n", + " Lucas Digne\n", " \n", " \n", "\n", "" ], "text/plain": [ - " player_id prob_score prob_assist prob_neither player_name\n", - "114 336 0.109759 0.011661 0.878580 Ciaran Clark\n", - "29 89 0.106218 0.044510 0.849272 Shane Duffy\n", - "119 348 0.104041 0.037701 0.858258 Fabian Schär\n", - "128 381 0.099553 0.048520 0.851927 Ben Gibson\n", - "31 92 0.087227 0.039270 0.873504 Lewis Dunk\n", - "188 1186 0.087109 0.042455 0.870436 Trevoh Chalobah\n", - "46 138 0.075772 0.110340 0.813889 Marcos Alonso\n", - "172 503 0.073768 0.026731 0.899501 Romain Saïss\n", - "163 483 0.068629 0.008643 0.922728 Craig Dawson\n", - "140 418 0.066773 0.140640 0.792588 Matt Doherty" + " player_id prob_score prob_assist prob_neither player_name\n", + "113 335 0.050775 0.181236 0.767988 Matt Ritchie\n", + "144 426 0.054911 0.176240 0.768850 Ryan Sessegnon\n", + "38 114 0.007911 0.174446 0.817643 Erik Pieters\n", + "89 271 0.032664 0.166475 0.800861 Trent Alexander-Arnold\n", + "65 189 0.031620 0.163239 0.805141 Lucas Digne" ] }, "metadata": {}, "output_type": "display_data" - }, + } + ], + "source": [ + "display_model(conj_def)" + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "id": "1e6b4bcc", + "metadata": {}, + "outputs": [ { "data": { "text/html": [ @@ -1753,110 +1343,102 @@ " prob_score\n", " prob_assist\n", " prob_neither\n", - " player_name\n", " \n", " \n", " \n", " \n", - " 113\n", - " 335\n", - " 0.050775\n", - " 0.181194\n", - " 0.768031\n", - " Matt Ritchie\n", - " \n", - " \n", - " 144\n", - " 426\n", - " 0.054910\n", - " 0.176156\n", - " 0.768934\n", - " Ryan Sessegnon\n", - " \n", - " \n", - " 38\n", - " 114\n", - " 0.007911\n", - " 0.174373\n", - " 0.817716\n", - " Erik Pieters\n", + " count\n", + " 76.000000\n", + " 76.000000\n", + " 76.000000\n", + " 76.000000\n", " \n", " \n", - " 65\n", - " 189\n", - " 0.032079\n", - " 0.165584\n", - " 0.802336\n", - " Lucas Digne\n", + " mean\n", + " 333.171053\n", + " 0.279187\n", + " 0.136954\n", + " 0.583859\n", " \n", " \n", - " 89\n", - " 271\n", - " 0.032959\n", - " 0.163505\n", - " 0.803536\n", - " Trent Alexander-Arnold\n", + " std\n", + " 254.652620\n", + " 0.052916\n", + " 0.034414\n", + " 0.057495\n", " \n", " \n", - " 35\n", - " 103\n", - " 0.044767\n", - " 0.150298\n", - " 0.804935\n", - " Tariq Lamptey\n", + " min\n", + " 4.000000\n", + " 0.139025\n", + " 0.053895\n", + " 0.487935\n", " \n", " \n", - " 140\n", - " 418\n", - " 0.066773\n", - " 0.140640\n", - " 0.792588\n", - " Matt Doherty\n", + " 25%\n", + " 133.250000\n", + " 0.259038\n", + " 0.119143\n", + " 0.547947\n", " \n", " \n", - " 88\n", - " 268\n", - " 0.014085\n", - " 0.135624\n", - " 0.850292\n", - " Andrew Robertson\n", + " 50%\n", + " 327.500000\n", + " 0.282294\n", + " 0.136784\n", + " 0.579695\n", " \n", " \n", - " 166\n", - " 487\n", - " 0.005331\n", - " 0.131041\n", - " 0.863628\n", - " Vladimir Coufal\n", + " 75%\n", + " 455.500000\n", + " 0.306774\n", + " 0.158925\n", + " 0.608956\n", " \n", " \n", - " 4\n", - " 11\n", - " 0.004855\n", - " 0.119342\n", - " 0.875803\n", - " Sead Kolasinac\n", + " max\n", + " 1191.000000\n", + " 0.415878\n", + " 0.213132\n", + " 0.777672\n", " \n", " \n", "\n", "" ], "text/plain": [ - " player_id prob_score prob_assist prob_neither player_name\n", - "113 335 0.050775 0.181194 0.768031 Matt Ritchie\n", - "144 426 0.054910 0.176156 0.768934 Ryan Sessegnon\n", - "38 114 0.007911 0.174373 0.817716 Erik Pieters\n", - "65 189 0.032079 0.165584 0.802336 Lucas Digne\n", - "89 271 0.032959 0.163505 0.803536 Trent Alexander-Arnold\n", - "35 103 0.044767 0.150298 0.804935 Tariq Lamptey\n", - "140 418 0.066773 0.140640 0.792588 Matt Doherty\n", - "88 268 0.014085 0.135624 0.850292 Andrew Robertson\n", - "166 487 0.005331 0.131041 0.863628 Vladimir Coufal\n", - "4 11 0.004855 0.119342 0.875803 Sead Kolasinac" + " player_id prob_score prob_assist prob_neither\n", + "count 76.000000 76.000000 76.000000 76.000000\n", + "mean 333.171053 0.279187 0.136954 0.583859\n", + "std 254.652620 0.052916 0.034414 0.057495\n", + "min 4.000000 0.139025 0.053895 0.487935\n", + "25% 133.250000 0.259038 0.119143 0.547947\n", + "50% 327.500000 0.282294 0.136784 0.579695\n", + "75% 455.500000 0.306774 0.158925 0.608956\n", + "max 1191.000000 0.415878 0.213132 0.777672" ] }, + "execution_count": 91, "metadata": {}, - "output_type": "display_data" + "output_type": "execute_result" + } + ], + "source": [ + "conj_fwd.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "id": "b794f35c", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PRIOR\n" + ] }, { "data": { @@ -1883,120 +1465,111 @@ " prob_score\n", " prob_assist\n", " prob_neither\n", - " player_name\n", " \n", " \n", " \n", " \n", - " 113\n", - " 335\n", - " 0.050775\n", - " 0.181194\n", - " 0.768031\n", - " Matt Ritchie\n", - " \n", - " \n", - " 144\n", - " 426\n", - " 0.054910\n", - " 0.176156\n", - " 0.768934\n", - " Ryan Sessegnon\n", - " \n", - " \n", - " 140\n", - " 418\n", - " 0.066773\n", - " 0.140640\n", - " 0.792588\n", - " Matt Doherty\n", + " count\n", + " 76.000000\n", + " 76.000000\n", + " 76.000000\n", + " 76.000000\n", " \n", " \n", - " 65\n", - " 189\n", - " 0.032079\n", - " 0.165584\n", - " 0.802336\n", - " Lucas Digne\n", + " mean\n", + " 333.171053\n", + " 0.279187\n", + " 0.136954\n", + " 0.583859\n", " \n", " \n", - " 89\n", - " 271\n", - " 0.032959\n", - " 0.163505\n", - " 0.803536\n", - " Trent Alexander-Arnold\n", + " std\n", + " 254.652620\n", + " 0.052916\n", + " 0.034414\n", + " 0.057495\n", " \n", " \n", - " 35\n", - " 103\n", - " 0.044767\n", - " 0.150298\n", - " 0.804935\n", - " Tariq Lamptey\n", + " min\n", + " 4.000000\n", + " 0.139025\n", + " 0.053895\n", + " 0.487935\n", " \n", " \n", - " 46\n", - " 138\n", - " 0.075772\n", - " 0.110340\n", - " 0.813889\n", - " Marcos Alonso\n", + " 25%\n", + " 133.250000\n", + " 0.259038\n", + " 0.119143\n", + " 0.547947\n", " \n", " \n", - " 38\n", - " 114\n", - " 0.007911\n", - " 0.174373\n", - " 0.817716\n", - " Erik Pieters\n", + " 50%\n", + " 327.500000\n", + " 0.282294\n", + " 0.136784\n", + " 0.579695\n", " \n", " \n", - " 29\n", - " 89\n", - " 0.106218\n", - " 0.044510\n", - " 0.849272\n", - " Shane Duffy\n", + " 75%\n", + " 455.500000\n", + " 0.306774\n", + " 0.158925\n", + " 0.608956\n", " \n", " \n", - " 88\n", - " 268\n", - " 0.014085\n", - " 0.135624\n", - " 0.850292\n", - " Andrew Robertson\n", + " max\n", + " 1191.000000\n", + " 0.415878\n", + " 0.213132\n", + " 0.777672\n", " \n", " \n", "\n", "" ], "text/plain": [ - " player_id prob_score prob_assist prob_neither player_name\n", - "113 335 0.050775 0.181194 0.768031 Matt Ritchie\n", - "144 426 0.054910 0.176156 0.768934 Ryan Sessegnon\n", - "140 418 0.066773 0.140640 0.792588 Matt Doherty\n", - "65 189 0.032079 0.165584 0.802336 Lucas Digne\n", - "89 271 0.032959 0.163505 0.803536 Trent Alexander-Arnold\n", - "35 103 0.044767 0.150298 0.804935 Tariq Lamptey\n", - "46 138 0.075772 0.110340 0.813889 Marcos Alonso\n", - "38 114 0.007911 0.174373 0.817716 Erik Pieters\n", - "29 89 0.106218 0.044510 0.849272 Shane Duffy\n", - "88 268 0.014085 0.135624 0.850292 Andrew Robertson" + " player_id prob_score prob_assist prob_neither\n", + "count 76.000000 76.000000 76.000000 76.000000\n", + "mean 333.171053 0.279187 0.136954 0.583859\n", + "std 254.652620 0.052916 0.034414 0.057495\n", + "min 4.000000 0.139025 0.053895 0.487935\n", + "25% 133.250000 0.259038 0.119143 0.547947\n", + "50% 327.500000 0.282294 0.136784 0.579695\n", + "75% 455.500000 0.306774 0.158925 0.608956\n", + "max 1191.000000 0.415878 0.213132 0.777672" ] }, + "execution_count": 92, "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, "output_type": "display_data" } ], "source": [ - "df_def = display_model(model_def)" + "print(\"PRIOR\")\n", + "plot_dirichlet(conj_model_fwd.prior.reshape(3))\n", + "conj_fwd.describe()\n", + "# note that prior spans wider range than data (e.g. min 0.14 max 0.42 prob_score in data,\n", + "# compared to 0.08 - 0.53 95% interval in 13 goal prior)\n", + "# - is this then too weak of a prior?" ] }, { "cell_type": "code", - "execution_count": 6, - "id": "9af2d874", + "execution_count": 7, + "id": "d04dd93a", "metadata": {}, "outputs": [ { @@ -2008,7 +1581,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -2022,13 +1595,45 @@ "source": [ "print(\"ADAM ARMSTRONG\")\n", "aa_id = get_player(\"Adam Armstrong\").player_id\n", - "plot_dirichlet(model_fwd.posterior[model_fwd.player_ids == aa_id].reshape(3))" + "plot_dirichlet(conj_model_fwd.posterior[conj_model_fwd.player_ids == aa_id].reshape(3))" ] }, { "cell_type": "code", - "execution_count": 7, - "id": "513a8340", + "execution_count": 8, + "id": "edb2ef8b", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PATRICK BAMFORD\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "print(\"PATRICK BAMFORD\")\n", + "aa_id = get_player(\"Patrick Bamford\").player_id\n", + "plot_dirichlet(conj_model_fwd.posterior[conj_model_fwd.player_ids == aa_id].reshape(3))" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "daab7779", "metadata": {}, "outputs": [ { @@ -2040,7 +1645,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -2054,13 +1659,1173 @@ "source": [ "print(\"JAMIE VARDY\")\n", "jv_id = get_player(\"Jamie Vardy\").player_id\n", - "plot_dirichlet(model_fwd.posterior[model_fwd.player_ids == jv_id].reshape(3))" + "plot_dirichlet(conj_model_fwd.posterior[conj_model_fwd.player_ids == jv_id].reshape(3))" + ] + }, + { + "cell_type": "markdown", + "id": "143dcd1f", + "metadata": {}, + "source": [ + "### Comparison with Numpyro" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "f3fc522d", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "sample: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2500/2500 [00:10<00:00, 239.02it/s, 15 steps of size 3.92e-01. acc. prob=0.87]\n", + "sample: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2500/2500 [00:23<00:00, 104.27it/s, 15 steps of size 3.35e-01. acc. prob=0.82]\n", + "sample: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2500/2500 [00:20<00:00, 123.38it/s, 15 steps of size 3.02e-01. acc. prob=0.83]\n" + ] + } + ], + "source": [ + "np_model_fwd = PlayerModel().fit(data_fwd)\n", + "np_model_mid = PlayerModel().fit(data_mid)\n", + "np_model_def = PlayerModel().fit(data_def)\n", + "\n", + "np_fwd = get_model_df(np_model_fwd)\n", + "np_mid = get_model_df(np_model_mid)\n", + "np_def = get_model_df(np_model_def)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "2640354f", + "metadata": {}, + "outputs": [], + "source": [ + "def get_diff_df(np_df, conj_df):\n", + " diff = pd.DataFrame(\n", + " {\n", + " \"player_id\": conj_df[\"player_id\"],\n", + " \"player_name\": conj_df[\"player_name\"],\n", + " \"conj_score\": conj_df[\"prob_score\"],\n", + " \"np_score\": np_df[\"prob_score\"],\n", + " \"conj_assist\": conj_df[\"prob_assist\"],\n", + " \"np_assist\": np_df[\"prob_assist\"],\n", + " \"conj_neither\": conj_df[\"prob_neither\"],\n", + " \"np_neither\": np_df[\"prob_neither\"],\n", + " }\n", + " )\n", + " diff[\"diff_score\"] = diff[\"np_score\"] - diff[\"conj_score\"]\n", + " diff[\"diff_assist\"] = diff[\"np_assist\"] - diff[\"conj_assist\"]\n", + " diff[\"diff_neither\"] = diff[\"np_neither\"] - diff[\"conj_neither\"]\n", + " return diff\n", + "\n", + "\n", + "fwd_diff = get_diff_df(np_fwd, conj_fwd)\n", + "mid_diff = get_diff_df(np_mid, conj_mid)\n", + "def_diff = get_diff_df(np_def, conj_def)" + ] + }, + { + "cell_type": "code", + "execution_count": 103, + "id": "4d5547ef", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
player_idplayer_nameconj_scorenp_scoreconj_assistnp_assistconj_neithernp_neitherdiff_scorediff_assistdiff_neither
42362Teemu Pukki0.3835680.3428650.1253510.1408670.4910810.516268-0.0407030.0155160.025187
14111Florin Andone0.3679780.3309370.0860780.1348300.5459440.534233-0.0370410.048752-0.011711
62473Juan Camilo Hernández Suárez0.3335590.3029770.1281530.1414070.5382890.555616-0.0305820.0132550.017327
25175Jean-Philippe Mateta0.3199120.3026770.1229090.1392350.5571790.558087-0.0172340.0163260.000908
741188Adam Armstrong0.3113220.2980850.1196090.1376430.5690690.564273-0.0132370.018034-0.004797
....................................
56455Isaac Success Ajayi0.1744030.2882730.1043520.1483440.7212440.5633840.1138690.043991-0.157861
40350Allan Saint-Maximin0.1493430.2656630.1975960.2130800.6530610.5212570.1163200.015484-0.131803
24169Jordan Ayew0.1697750.2923540.1364950.1871480.6937300.5204980.1225790.050653-0.173232
50409Shane Long0.1939330.3185840.1234890.1757680.6825780.5056480.1246510.052279-0.176930
41353Joelinton Cássio Apolinário de Lira0.1390250.2782450.0833030.1494670.7776720.5722880.1392200.066163-0.205383
\n", + "

76 rows × 11 columns

\n", + "
" + ], + "text/plain": [ + " player_id player_name conj_score np_score \\\n", + "42 362 Teemu Pukki 0.383568 0.342865 \n", + "14 111 Florin Andone 0.367978 0.330937 \n", + "62 473 Juan Camilo Hernández Suárez 0.333559 0.302977 \n", + "25 175 Jean-Philippe Mateta 0.319912 0.302677 \n", + "74 1188 Adam Armstrong 0.311322 0.298085 \n", + ".. ... ... ... ... \n", + "56 455 Isaac Success Ajayi 0.174403 0.288273 \n", + "40 350 Allan Saint-Maximin 0.149343 0.265663 \n", + "24 169 Jordan Ayew 0.169775 0.292354 \n", + "50 409 Shane Long 0.193933 0.318584 \n", + "41 353 Joelinton Cássio Apolinário de Lira 0.139025 0.278245 \n", + "\n", + " conj_assist np_assist conj_neither np_neither diff_score diff_assist \\\n", + "42 0.125351 0.140867 0.491081 0.516268 -0.040703 0.015516 \n", + "14 0.086078 0.134830 0.545944 0.534233 -0.037041 0.048752 \n", + "62 0.128153 0.141407 0.538289 0.555616 -0.030582 0.013255 \n", + "25 0.122909 0.139235 0.557179 0.558087 -0.017234 0.016326 \n", + "74 0.119609 0.137643 0.569069 0.564273 -0.013237 0.018034 \n", + ".. ... ... ... ... ... ... \n", + "56 0.104352 0.148344 0.721244 0.563384 0.113869 0.043991 \n", + "40 0.197596 0.213080 0.653061 0.521257 0.116320 0.015484 \n", + "24 0.136495 0.187148 0.693730 0.520498 0.122579 0.050653 \n", + "50 0.123489 0.175768 0.682578 0.505648 0.124651 0.052279 \n", + "41 0.083303 0.149467 0.777672 0.572288 0.139220 0.066163 \n", + "\n", + " diff_neither \n", + "42 0.025187 \n", + "14 -0.011711 \n", + "62 0.017327 \n", + "25 0.000908 \n", + "74 -0.004797 \n", + ".. ... \n", + "56 -0.157861 \n", + "40 -0.131803 \n", + "24 -0.173232 \n", + "50 -0.176930 \n", + "41 -0.205383 \n", + "\n", + "[76 rows x 11 columns]" + ] + }, + "execution_count": 103, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(fwd_diff[\"conj_score\"], fwd_diff[\"diff_score\"], \"o\")\n", + "plt.xlabel(\"Conjugate p_score\")\n", + "plt.ylabel(\"Numpyro - Conjugate p_score\")\n", + "fwd_diff.sort_values(by=\"diff_score\")" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "id": "7b26f8a0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
player_idplayer_nameconj_scorenp_scoreconj_assistnp_assistconj_neithernp_neitherdiff_scorediff_assistdiff_neither
161372Todd Cantwell0.2227330.1600130.1019940.1112700.6752740.728716-0.0627190.0092770.053443
203481Andriy Yarmolenko0.2293730.1787520.1198020.1286020.6508250.692646-0.0506210.0087990.041821
1126Gabriel Teodoro Martinelli Silva0.2027150.1526750.1072880.1151630.6899970.732162-0.0500410.0078750.042165
154355Matthew Longstaff0.1722580.1255120.0704010.0973860.7573410.777102-0.0467460.0269850.019761
2865Sergi Canós0.1612880.1187640.0931640.1044480.7455480.776787-0.0425240.0112850.031239
....................................
74184Fabian Delph0.0257820.0777740.0435500.0873150.9306680.8349110.0519920.043765-0.095757
58141Mateo Kovacic0.0202960.0728290.0704490.1219970.9092550.8051740.0525330.051548-0.104081
185431Oliver Skipp0.0524300.1054430.0516230.1046750.8959470.7898830.0530120.053052-0.106064
184430Giovani Lo Celso0.0440890.0983440.0983620.1315060.8575480.7701500.0542550.033143-0.087398
3886Adam Lallana0.0564440.1161190.0725900.1247860.8709660.7590950.0596750.052196-0.111871
\n", + "

236 rows × 11 columns

\n", + "
" + ], + "text/plain": [ + " player_id player_name conj_score np_score \\\n", + "161 372 Todd Cantwell 0.222733 0.160013 \n", + "203 481 Andriy Yarmolenko 0.229373 0.178752 \n", + "11 26 Gabriel Teodoro Martinelli Silva 0.202715 0.152675 \n", + "154 355 Matthew Longstaff 0.172258 0.125512 \n", + "28 65 Sergi Canós 0.161288 0.118764 \n", + ".. ... ... ... ... \n", + "74 184 Fabian Delph 0.025782 0.077774 \n", + "58 141 Mateo Kovacic 0.020296 0.072829 \n", + "185 431 Oliver Skipp 0.052430 0.105443 \n", + "184 430 Giovani Lo Celso 0.044089 0.098344 \n", + "38 86 Adam Lallana 0.056444 0.116119 \n", + "\n", + " conj_assist np_assist conj_neither np_neither diff_score \\\n", + "161 0.101994 0.111270 0.675274 0.728716 -0.062719 \n", + "203 0.119802 0.128602 0.650825 0.692646 -0.050621 \n", + "11 0.107288 0.115163 0.689997 0.732162 -0.050041 \n", + "154 0.070401 0.097386 0.757341 0.777102 -0.046746 \n", + "28 0.093164 0.104448 0.745548 0.776787 -0.042524 \n", + ".. ... ... ... ... ... \n", + "74 0.043550 0.087315 0.930668 0.834911 0.051992 \n", + "58 0.070449 0.121997 0.909255 0.805174 0.052533 \n", + "185 0.051623 0.104675 0.895947 0.789883 0.053012 \n", + "184 0.098362 0.131506 0.857548 0.770150 0.054255 \n", + "38 0.072590 0.124786 0.870966 0.759095 0.059675 \n", + "\n", + " diff_assist diff_neither \n", + "161 0.009277 0.053443 \n", + "203 0.008799 0.041821 \n", + "11 0.007875 0.042165 \n", + "154 0.026985 0.019761 \n", + "28 0.011285 0.031239 \n", + ".. ... ... \n", + "74 0.043765 -0.095757 \n", + "58 0.051548 -0.104081 \n", + "185 0.053052 -0.106064 \n", + "184 0.033143 -0.087398 \n", + "38 0.052196 -0.111871 \n", + "\n", + "[236 rows x 11 columns]" + ] + }, + "execution_count": 44, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(mid_diff[\"conj_score\"], mid_diff[\"diff_score\"], \"o\")\n", + "plt.xlabel(\"Conjugate p_score\")\n", + "plt.ylabel(\"Numpyro - Conjugate p_score\")\n", + "mid_diff.sort_values(by=\"diff_score\")" + ] + }, + { + "cell_type": "code", + "execution_count": 45, + "id": "3495e5bc", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
player_idplayer_nameconj_scorenp_scoreconj_assistnp_assistconj_neithernp_neitherdiff_scorediff_assistdiff_neither
128381Ben Gibson0.0995540.0438090.0487810.0521220.8516650.904069-0.0557450.0033410.052404
1901186Trevoh Chalobah0.0871090.0421420.0426830.0504200.8702070.907438-0.0449670.0077360.037231
2989Shane Duffy0.1190170.0772220.0431870.0484220.8377960.874357-0.0417950.0052350.036560
114336Ciaran Clark0.1097590.0731840.0117240.0341680.8785170.892648-0.0365750.0224440.014131
119348Fabian Schär0.1040410.0758380.0377530.0485540.8582060.875608-0.0282030.0108020.017401
....................................
182573Emerson Palmieri dos Santos0.0099150.0232910.0171980.0403380.9728870.9363720.0133750.023140-0.036515
117345Javier Manquillo0.0068420.0202780.0813790.0718900.9117790.9078320.013435-0.009488-0.003947
107317Alex Nicolao Telles0.0127580.0264070.0869310.0686390.9003110.9049530.013649-0.0182910.004642
63183Nathaniel Clyne0.0074630.0214610.0508500.0572050.9416870.9213350.0139980.006355-0.020353
109323Eric Bailly0.0078620.0229370.0136370.0403170.9785010.9367460.0150740.026680-0.041755
\n", + "

194 rows × 11 columns

\n", + "
" + ], + "text/plain": [ + " player_id player_name conj_score np_score \\\n", + "128 381 Ben Gibson 0.099554 0.043809 \n", + "190 1186 Trevoh Chalobah 0.087109 0.042142 \n", + "29 89 Shane Duffy 0.119017 0.077222 \n", + "114 336 Ciaran Clark 0.109759 0.073184 \n", + "119 348 Fabian Schär 0.104041 0.075838 \n", + ".. ... ... ... ... \n", + "182 573 Emerson Palmieri dos Santos 0.009915 0.023291 \n", + "117 345 Javier Manquillo 0.006842 0.020278 \n", + "107 317 Alex Nicolao Telles 0.012758 0.026407 \n", + "63 183 Nathaniel Clyne 0.007463 0.021461 \n", + "109 323 Eric Bailly 0.007862 0.022937 \n", + "\n", + " conj_assist np_assist conj_neither np_neither diff_score \\\n", + "128 0.048781 0.052122 0.851665 0.904069 -0.055745 \n", + "190 0.042683 0.050420 0.870207 0.907438 -0.044967 \n", + "29 0.043187 0.048422 0.837796 0.874357 -0.041795 \n", + "114 0.011724 0.034168 0.878517 0.892648 -0.036575 \n", + "119 0.037753 0.048554 0.858206 0.875608 -0.028203 \n", + ".. ... ... ... ... ... \n", + "182 0.017198 0.040338 0.972887 0.936372 0.013375 \n", + "117 0.081379 0.071890 0.911779 0.907832 0.013435 \n", + "107 0.086931 0.068639 0.900311 0.904953 0.013649 \n", + "63 0.050850 0.057205 0.941687 0.921335 0.013998 \n", + "109 0.013637 0.040317 0.978501 0.936746 0.015074 \n", + "\n", + " diff_assist diff_neither \n", + "128 0.003341 0.052404 \n", + "190 0.007736 0.037231 \n", + "29 0.005235 0.036560 \n", + "114 0.022444 0.014131 \n", + "119 0.010802 0.017401 \n", + ".. ... ... \n", + "182 0.023140 -0.036515 \n", + "117 -0.009488 -0.003947 \n", + "107 -0.018291 0.004642 \n", + "63 0.006355 -0.020353 \n", + "109 0.026680 -0.041755 \n", + "\n", + "[194 rows x 11 columns]" + ] + }, + "execution_count": 45, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(def_diff[\"conj_score\"], def_diff[\"diff_score\"], \"o\")\n", + "plt.xlabel(\"Conjugate p_score\")\n", + "plt.ylabel(\"Numpyro - Conjugate p_score\")\n", + "def_diff.sort_values(by=\"diff_score\")" + ] + }, + { + "cell_type": "code", + "execution_count": 97, + "id": "36078e58", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
player_idplayer_nameconj_scorenp_scoreconj_assistnp_assistconj_neithernp_neitherdiff_scorediff_assistdiff_neither
33262Roberto Firmino0.1623340.2490110.1254580.1701340.7122080.5808550.0866770.044676-0.131353
\n", + "
" + ], + "text/plain": [ + " player_id player_name conj_score np_score conj_assist np_assist \\\n", + "33 262 Roberto Firmino 0.162334 0.249011 0.125458 0.170134 \n", + "\n", + " conj_neither np_neither diff_score diff_assist diff_neither \n", + "33 0.712208 0.580855 0.086677 0.044676 -0.131353 " + ] + }, + "execution_count": 97, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "fwd_diff[fwd_diff.player_name == \"Roberto Firmino\"]" + ] + }, + { + "cell_type": "markdown", + "id": "e94855e1", + "metadata": {}, + "source": [ + "### Varying n_goals_prior in Conjugate Model" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "id": "0f9b7984", + "metadata": {}, + "outputs": [], + "source": [ + "prob_dfs = {}\n", + "goals = range(1, 80, 5)\n", + "prob_score = np.zeros((len(goals), len(data_fwd[\"y\"])))\n", + "for i, ng in enumerate(goals):\n", + " m = ConjugatePlayerModel().fit(data_fwd, n_goals_prior=ng)\n", + " prob_dfs[ng] = get_model_df(m)\n", + " prob_score[i, :] = prob_dfs[ng][\"prob_score\"]\n" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "id": "4461d88e", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 107, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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2LJlC2vWrGHr1q10dnZOeEw5Dz/8MG9729u4/vrrWbx48bj9Y/n2t7/NkiVL2LBhAx/60IdOeu1f/vKXbNy4kQsvvJBrrrmGvr6+ced85JFHWLVqFWvXruWKK6444fUVCoViMpRATxGrzzGu7oUXXiCVSnHVVVed+Q69HrnhhtKiUEzEffeBEFNbJprq6667Ktvcd99JL7lv3z4+8pGPsHfvXgKBAF//+teL+6qrq3nppZe44oor+PSnP80f/vAHduzYwQsvvMCjjz4KGPK7fv169uzZw5VXXslnPvMZAN773vfyhS98gZ07d7J69epi/ec//3lefvlldu7cyf333w/A//pf/4stW7awbds2nnjiCT75yU+STCb5xje+gcfjYe/evXzmM5/hxRdfnPR1BINBdu3axUc/+lE+/vGPF+u7u7t55pln+NKXvlTR/p577uGOO+5g586d3Hbbbdx7770nPQaMfwx+/OMfs2vXLn784x/T1dU1YX96enr4x3/8R5577jmefvppXnvttZNee/PmzTz33HO8/PLL3HrrrfzTP/3TuPN+9rOf5be//S2vvPIKv/jFLya9HwrFmUZ9xJ1bKIE+RbLZLE8//TQLFy6ktbV1rrvz+uCXvywtCsVZQktLC5dddhkA73nPe/jzn/9c3PfOd74TMP7Zvuqqq6itrcVms3Hbbbfxxz/+EQCLxVJsN3p8NBolEolw5ZVXAnDHHXcU269Zs4bbbruNf//3fy+mRzz++ON8/vOf54ILLuCqq64ik8nQ2dnJH//4R97znvcUj1uzpjQR1Fje9a53FdfPPvtssf6WW26ZMP3k2Wef5d3vNiaXvf322yte92THAGzdupVgMIjL5WLFihUcPXp0wnbbtm3jyiuvJBwOY7fbueWWW0567e7ubq677jpWr17NF7/4Rfbs2TPuvJdddhl33nkn3/zmN9E0bdL7oVCcadRH3LmFEuhTZNu2baRSKa6++uq57opCoZhDxo68U77t9XpP+3xj+dWvfsVf/dVf8dJLL3HxxRdTKBSQUvLTn/6UHTt2sGPHDjo7O1m+fPkpX/d0X8OJjnE6ncWy1WqlUChM+/yTcc899/DRj36UXbt28cADD5DJZMa1uf/++/nc5z5HV1cX69atY2hoaMaur1AoXj8ogT4FMpkMzzzzDIsWLWLevLN+IkWF4vXDffeB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\n", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(12, 8))\n", + "plt.plot(goals, prob_score)\n", + "plt.axhline(\n", + " conj_model_fwd.prior[0] / conj_model_fwd.prior.sum(),\n", + " color=\"k\",\n", + " linewidth=3,\n", + " linestyle=\"--\",\n", + " label=\"prior p_score\"\n", + ")\n", + "plt.axvline(\n", + " 13,\n", + " color=\"r\",\n", + " linewidth=3,\n", + " linestyle=\"--\",\n", + " label=\"proposed prior n_goals\",\n", + ")\n", + "plt.axvline(\n", + " data_fwd[\"alpha\"].sum(),\n", + " color=\"b\",\n", + " linewidth=3,\n", + " linestyle=\"--\",\n", + " label=\"current prior n_goals\",\n", + ")\n", + "plt.xlabel(\"n_goals_prior\")\n", + "plt.ylabel(\"p_score\")\n", + "plt.title(\"FWD\")\n", + "plt.legend()" + ] + }, + { + "cell_type": "markdown", + "id": "ce61490b", + "metadata": {}, + "source": [ + "There are some unexpected results in the numpyro model compared to the conjugate model, even when using a prior in the conjugate model slightly stronger than the prior in the numpyro model:" + ] + }, + { + "cell_type": "code", + "execution_count": 100, + "id": "afac3394", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
player_idprob_scoreprob_assistprob_neitherplayer_name
332620.189660.1283170.682023Roberto Firmino
\n", + "
" + ], + "text/plain": [ + " player_id prob_score prob_assist prob_neither player_name\n", + "33 262 0.18966 0.128317 0.682023 Roberto Firmino" + ] + }, + "execution_count": 100, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Firmino 25% prob_score in numpyro model. Probability in conjugate model is much lower even with a stronger prior.\n", + "prob_dfs[goals[-1]][prob_dfs[goals[-1]].player_name == \"Roberto Firmino\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 101, + "id": "5b0afd92", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
player_idprob_scoreprob_assistprob_neitherplayer_name
413530.2071170.1093040.683578Joelinton Cássio Apolinário de Lira
\n", + "
" + ], + "text/plain": [ + " player_id prob_score prob_assist prob_neither \\\n", + "41 353 0.207117 0.109304 0.683578 \n", + "\n", + " player_name \n", + "41 Joelinton Cássio Apolinário de Lira " + ] + }, + "execution_count": 101, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Joelinton 28% prob_score in numpyro model. Probability in conjugate model is much lower even with a stronger prior.\n", + "prob_dfs[goals[-1]][prob_dfs[goals[-1]].player_name == \"Joelinton Cássio Apolinário de Lira\"]" ] }, { "cell_type": "code", "execution_count": null, - "id": "f5ed2fca", + "id": "1401b6c7", "metadata": {}, "outputs": [], "source": [] From 6dd66ca3d925912960fc254b983b52b6b9d61246 Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Tue, 24 Aug 2021 22:03:24 +0100 Subject: [PATCH 34/43] rename PlayerModel class NumpyroPlayerModel --- airsenal/framework/player_model.py | 2 +- airsenal/framework/prediction_utils.py | 8 +- airsenal/scripts/fill_predictedscore_table.py | 22 ++- airsenal/tests/test_score_predictions.py | 6 +- notebooks/conjugate_player_model.ipynb | 150 +++++++++--------- 5 files changed, 92 insertions(+), 96 deletions(-) diff --git a/airsenal/framework/player_model.py b/airsenal/framework/player_model.py index 28a35583..8d02be06 100644 --- a/airsenal/framework/player_model.py +++ b/airsenal/framework/player_model.py @@ -121,7 +121,7 @@ def get_probs_for_player(self, player_id: int) -> np.ndarray: ... -class PlayerModel(BasePlayerModel): +class NumpyroPlayerModel(BasePlayerModel): """ numpyro implementation of the AIrsenal player model. """ diff --git a/airsenal/framework/prediction_utils.py b/airsenal/framework/prediction_utils.py index 8b019faa..caa866b4 100644 --- a/airsenal/framework/prediction_utils.py +++ b/airsenal/framework/prediction_utils.py @@ -12,7 +12,7 @@ from airsenal.framework.schema import PlayerPrediction, PlayerScore, Fixture -from airsenal.framework.player_model import PlayerModel, get_empirical_bayes_estimates +from airsenal.framework.player_model import NumpyroPlayerModel, get_empirical_bayes_estimates from airsenal.framework.utils import ( NEXT_GAMEWEEK, @@ -391,7 +391,7 @@ def calc_predicted_points_for_pos( season, gw_range, tag, - model=PlayerModel(), + model=NumpyroPlayerModel(), dbsession=session, ): """ @@ -509,7 +509,7 @@ def process_player_data( ) -def fit_player_data(position, season, gameweek, model=PlayerModel(), dbsession=session): +def fit_player_data(position, season, gameweek, model=NumpyroPlayerModel(), dbsession=session): """ fit the data for a particular position (FWD, MID, DEF) """ @@ -529,7 +529,7 @@ def fit_player_data(position, season, gameweek, model=PlayerModel(), dbsession=s def get_all_fitted_player_data( - season, gameweek, model=PlayerModel(), dbsession=session + season, gameweek, model=NumpyroPlayerModel(), dbsession=session ): df_positions = {"GK": None} for pos in ["DEF", "MID", "FWD"]: diff --git a/airsenal/scripts/fill_predictedscore_table.py b/airsenal/scripts/fill_predictedscore_table.py index a371d933..8457bc48 100644 --- a/airsenal/scripts/fill_predictedscore_table.py +++ b/airsenal/scripts/fill_predictedscore_table.py @@ -33,7 +33,7 @@ fit_card_points, MAX_GOALS, ) -from airsenal.framework.player_model import ConjugatePlayerModel, PlayerModel +from airsenal.framework.player_model import ConjugatePlayerModel, NumpyroPlayerModel from airsenal.framework.schema import session_scope @@ -83,7 +83,7 @@ def calc_all_predicted_points( include_saves=True, num_thread=4, tag="", - player_model=PlayerModel(), + player_model=NumpyroPlayerModel(), dbsession=None, ): """ @@ -176,7 +176,7 @@ def make_predictedscore_table( include_cards=True, include_saves=True, tag_prefix=None, - player_model=PlayerModel(), + player_model=NumpyroPlayerModel(), dbsession=None, ): tag = tag_prefix or "" @@ -228,9 +228,9 @@ def main(): action="store_true", ) parser.add_argument( - "--player_model", - help="Player model class to use, either PlayerModel or ConjugatePlayerModel", - default="PlayerModel", + "--sampling", + help="If set use fit the model using sampling with numpyro", + action="store_true", ) args = parser.parse_args() @@ -252,14 +252,10 @@ def main(): include_bonus = not args.no_bonus include_cards = not args.no_cards include_saves = not args.no_saves - if args.player_model == "PlayerModel": - player_model = PlayerModel() - elif args.player_model == "ConjugatePlayerModel": - player_model = ConjugatePlayerModel() + if args.sampling: + player_model = NumpyroPlayerModel() else: - raise RuntimeError( - "player_model must be 'PlayerModel' or 'ConjugatePlayerModel'" - ) + player_model = ConjugatePlayerModel() set_multiprocessing_start_method(num_thread) diff --git a/airsenal/tests/test_score_predictions.py b/airsenal/tests/test_score_predictions.py index 46fde1b4..154de28b 100644 --- a/airsenal/tests/test_score_predictions.py +++ b/airsenal/tests/test_score_predictions.py @@ -23,7 +23,7 @@ ) from airsenal.framework.player_model import ( ConjugatePlayerModel, - PlayerModel, + NumpyroPlayerModel, scale_goals_by_minutes, ) @@ -264,8 +264,8 @@ def test_fit_conjugate_player_model(): def test_get_fitted_player_model(): - pm = PlayerModel() - assert isinstance(pm, PlayerModel) + pm = NumpyroPlayerModel() + assert isinstance(pm, NumpyroPlayerModel) cpm = ConjugatePlayerModel() assert isinstance(cpm, ConjugatePlayerModel) with test_past_data_session_scope() as ts: diff --git a/notebooks/conjugate_player_model.ipynb b/notebooks/conjugate_player_model.ipynb index 16cb4f11..8d244949 100644 --- a/notebooks/conjugate_player_model.ipynb +++ b/notebooks/conjugate_player_model.ipynb @@ -41,7 +41,7 @@ "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA3UAAAFTCAYAAACeZCUiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAsOElEQVR4nO3de5hsZXXn8e9PUDSAXE8Y5OLBiCaIUZkT1DEqiklUNGhUvEXQwRAyOklGR0WdRLyjGWNkNCIJKqgR8DaiougoBDUDiKOiiMYjHuQglyM3uYiKrvljv41F0326uru6u3b19/M89XTVvtXa3VWr93rfd++dqkKSJEmS1E93WukAJEmSJEkLZ1EnSZIkST1mUSdJkiRJPWZRJ0mSJEk9ZlEnSZIkST1mUSdJkiRJPWZRJ0narCTHJfmbzcx/eJLvDrGd5yb50mbmn5Xk+YuIc6sk306y68D2bkly9kK3uVySfKHF+qX2epckFyXZaqVjkySNP4s6SVrFkmxI8tMkNyS5Lsm/JTkyyW3/H6rqyKp67WzbqKovVtV9lyfiTpJKcu9pk48Azq6qywemvbCqHjHD+nu3Iur983jP/5nke+139Z0kh85j3eOS3Djw+FmSG6bmV9WjgSMHXl8JnNn2SZKkzbKokyQ9saq2Be4JHAO8DDhhmBWTbLmUgc3TkcD7hlz2HcBX5rn9m4AnAtsBhwFvS/KfhlmxFcbbTD2ADwIfmmO1DwB/Ps8YJUmrkEWdJAmAqrq+qk4Dng4clmRfgCTvTfK69vyAJBuTvCzJFcB7pqZNbSfJHkk+mmRTkquTvH3wfVqP17VJfpDkcbPFk+Q/tyGI1yY5I8k92/Sp4ZTfaL1eT0+yJ3Av4Ny59jPJM4DrgM/P49dDVb2qqr5TVb+qqnOBLwIPnc822vtvDTwFOHGORc8F7jW135IkzcaiTpJ0O1V1HrARePgsi/wHYEe6nr3bDQ9MsgXwSeASYC2wG3DywCIPBr4L7Ay8GTghSaa/QZKDgVcAfwKsoSugPtjimxpO+YDW83UKcH/g4qq6dXP7luTuwGuAF21uubkkuRvwe8CFC1j9KcAmYLPn+rV9WQ88YAHvIUlaRSzqJEkz+RFd4TaTXwGvqqqfVdVPp83bH7gH8JKquqmqbqmqwYujXFJV/1RVv6TrqdoV2GWG9zgSeGNVXdSKmzcAD9xMr9X2wA2zzBv0WuCEqto455KbdxzwDeCMBax7GHBSVdUQy95At2+SJM3Kok6SNJPdgGtmmbepqm6ZZd4edIXbbD1mV0w9qaqb29NtZljunnTnrF2X5LoWS1pcM7kW2HaWeQAkeSDwGOCtm1tuLkn+DtgXOGTIwmxw3T2BA4CThlxlW7qhopIkzWqcTnCXJI2BJL9HVzzNdvuBzRUylwJ7JtlyrqGQc7gUeH1VfWDI5S8A9prjfQ+gGxL6wzbicxtgiyT7VNV+w7xJklcDjwMeWVU/GTK2Qc8BvlxVFw/xXlsC96brEZQkaVb21EmSgO58syRPoDsH7v1V9c0FbOY84HLgmCRbJ7lrkoctYDvHAS9Pcr8W23ZJnjYw/0q6C6MA0IZTrqcb/jmb44HfAh7YHscBnwL+qL3H2narhLUzrZzk5cCzgMdU1dUzzN+Q5Llz7NehwHvnWGbK/sCGqrpkyOUlSauURZ0k6RPtnmmXAq8E/h543kI21M6VeyJdD9MP6S648vQFbOdjwJuAk5P8BPgWXQ/ZlKOBE9vwzEPatHfR9YTNts2bq+qKqQdwI3BLVW1qi+xBd4GXy2bZxBuAPYH1A/ebewVAkrsAOwHnzPb+SR4K7M7ctzKY8my6wlOSpM3KPE8HkCRpLCXZCvgacGBVXZ7ks3S3HDi/qh41xPr/g+58wXct4L1/H3hBVT1zvuu29T8HPAQ4r6oOTPKbwL8CD9rM+YuSJAEWdZIkSZLUaw6/lCRJkqQes6iTJEmSpB6zqJMkSZKkHrOokyRJkqQes6iTJEmSpB6zqJMkSZKkHrOokyRJkqQes6iTJEmSpB6zqOuRJEcnef8C131jkr8ecUgagSTnJbnfSschzSXJcUn+Zhnex3w1hpLskuSiJFutdCxanZJcmOSAzcw/K8nzlzgG89OYSvKRJI9b6ThWikXdKpBkDXAo8K6Bac9Psj7JjUk+k+QeA/OOTvKLNm/qca82b7skZyS5LskHkmwxsN7xSf5knrHtmORjSW5KckmSZ21m2UclOTPJ9Uk2zDB/bZt/c5LvJHnMfGKZYXvPajHdlOR/J9lxM8tWW27q9/XPA/O2agfDVya5Jsknkuw2sPr/BF6zmFil5VBVR1bVa+daLsmGhX7/JihfJcmbklzdHm9KkjbvPkk+nmRTywlnJLnvfGKZ4f2GzlcD6xzactfzB6bNGndVXQmcCRyxmFilhaqq+1XVWbC4hu6FmqD89JIk30pyQ5IfJHnJwLw9p8V7Y8sTL55PPNPe78B2XHZzO0675yzLbfa9W356ZZIfJvlJkpOT3H1gE28CXrfQOPvOom51eC5welX9FCBdK9cbgIOBHYEfAB+cts4pVbXNwOPiNv3Pga8BuwBrgSe3bT4UuEdVfXSesb0D+Hnb3rOBd2b2XqubgHcDL5ll/gdbbDsBrwQ+3BLwvLUY3gU8p8V2M/CPc6z2gIHf12BL4V8BDwV+F7gHcC3wvwbmnwY8Ksl/WEis0oR5LpORr44AngQ8gO67/8QWD8D2dN/7+7ZtnQd8fJ6x3GYh+SrJDsArgAvnETfAB6a9liZOKx5mOkZ+LpORn0JXnO4APBZ4YZJnAFTVDwfjBe4P/Ar4yDzj6d4o2Rn4KPA3dL+j84FTZlp2iPc+lC7PPYzueOpuDBxPVdV5wN2TrFtIrH1nUbcEkuyX5GutBeRDSU5J8rqB+X/WWnWuSXLatFadtyW5tLVAfDXJw2d5j7smeX9rSb0uyVeS7DJLSI8D/nXg9ROAD1XVhVX1c+C1wCOS/NYQu7cXcGZV/Qz4InCv1rr0VuAvh1h/cB+2Bp4C/E1V3VhVX6I70HnOTMtX1XlV9T7g4unzktwH2A94VVX9tKo+AnyzbX8hng18oqrOrqob6ZLRnyTZdgHb2gs4o6qurKpb6JLZbYm2Tfsq8EcLjFWaUZKjkny/5aJvJ3nywLx7J/nXdD3fP05ySpueJG9NclXLQ99Msm+b996pXJZk5ySfbPnnmiRfTHKnJO8D9gQ+0VpZX7oa8xVwGPCWqtpYVZcBb6E7IJzKZSdU1TVV9YsWz32T7DSfmAYsJF+9ETgW+PGwcTfn0v0eZ2xpl+aSrif/vye5oOWfU5LcdWD+E5J8veWKf0vyu9PWfUySx9I1Sjy95ZlvDLzFPZN8ueW9z7aiYmr9h7RtXpfkGxkYyplu6Obrk3yZrmHkXjOEPxH5qareXFX/r6purarv0jUqPWyWzR8KnF1VG+YT04A/AS6sqg+1452jgQck+e0h1p3+3k8ETqiqS1uuexPdZ+A3BtY5CzhogbH2mkXdiCW5C/Ax4L10LRIfpLW+tPmPpvtnegiwK3AJcPLAJr4CPLCt+y/AhwaT3YDDgO2APeh6po4EfjpLWPcHvjs91Bme7zsw7YntQO3CJH8xMP1bwGOS3A14OF0r718Cnx5offr1hruDyk/OEtd9gFur6t8Hpn2DgYJnHu4HXFxVN4xgW1Pbu+2fRFV9n64F7D6bWefsJFck+WiStQPTTwAeluQeLfE8G/j0tHUvomsZl0bp+3Tf0+2AVwPvT7Jrm/da4LN0LbW78+vWzj8EHkH3Wd+OLlddPcO2XwxsBNbQtQy/Aqiqeg7wQ+CJrbX1zazOfHW7HDLHso8ArqiqmX7Pw5hXvkqyP7AOOG6ubTEt7qq6FViP+UqLcwhdD9FedD3CzwVI8iC6ETl/Tpcr3gWclmnncVbVZ+h6yKZ6wQY/j88Cngf8JnAX4L+3be8GfIpueN6ObfpHcvsRPc+h663elu74bLpJyU+D283A+88071DgxLm2sxnT89NNdP+bNhvbZt57+u97K2DvgWmr9njKom70HgJsCRxbVb9o3efnDcx/NvDu1kLyM+DlwEOnioCqen9VXd1aT95C92Gd6VyLX9AlvHtX1S+r6qtV9ZNZYtoeGCx2PgMckuR3WzL5W6CAqZaOU4HfoTtY+zPgb5M8s807ge7g7Fy6lqVv0CXBf0h33tjZGeiVrKpjquoJs8S1DTA95uvpkul8bdPWHcW2FrK9R9INn/ht4EfAJ5Ns2eZ9D7gUuIxuf3+HO55DdwPd30kamdYy+qOq+lVVnUL3Wdy/zf4FcE+6YT63tJbdqenb0n2WU1UXVdXlM2z+F3QNU/dsue6LVVWzhLIa89X0HHI9sE07ULlNkt3phk29aJbtDGPofNV6Av4ReGFV/WqBcZuvtFjHttx0DfAJusZs6Aqqd1XVuS1XnAj8jO7Yaljvqap/b0MkTx3Y9p/SDZ08veXEz9ENBXz8wLrvbb1ut7Ze9Om2ZzLy06Cj6eqB98ww7/fpGu0+PMR2ZrPQ47OZ3vszwPPTXUNhO+BlbfpgT92qzU8WdaN3D+CyaQc3l06bf1vrT+s+vhrYDaANSbioDUm4ju4LvzN39D7gDODkJD9K8uYkd54lpmsZ+PJU1f8BXkU3RnlDe9xA1+pOVX27JdtfVtW/AW8Dntrm3VJVR1TV71bVUXTDBF5BV6zeia64eXAbGjGXG4G7T5t2d26fMIc19LYy7UTcUcTWhj39vKquozuHbi+6RA7dAdtWdAe1W9ONLZ/eU7ctcN0ssUgLku5CGFPDmK6jaz2eyicvpWvlPK+1IP9ngKr6AvB2us/tVelO2J/+XQD4O7oem88muTjJUZsJZTXmq+nL3x24cfB/Q+sh+Czwj1U1/TycqWVGna/+C3BBVZ2z0LgxX2nxrhh4fjPdgT90DU0vnspZLW/tQXfsNIptP23atn+frnFqyuDx2kwmJT8BkOSFdL1hB7WOhukOAz7SjlVn28bgRU32HFVss7z3u+lGwJ1F17N4Zpu+cWCZVZufLOpG73Jgt2mtmnsMPP8RXWIBbhsHvRNwWbrz515KNyxhh6ranq4143YtuwCtZfzVVbUP8J/oxnUfOktMFzBtGE5VvaOq9q6qXeiS0ZZ0QwFmUjPF0BJN2jCI+wPnt3/859MNp5jLvwNbJhnsNn8AMwwBGMKFdOPRB1t+ZtxW3fFE3Nm2d1v3fbqrVW3VYh7G4O/sgXStf9e0pPm/gP0zMM6frgD8BtKIpDvn6Z+AFwI7tXzyLdrnsqquqKo/q6p70A11+sck927zjq2q/wjsQ5c77nBxoqq6oapeXFX3Av4YeFGSA6dmT1t2Near2+WQ6cumu1DJZ4HTqur1s73pEuSrA4Ent6HiV9D9Pd6S5O1Dxr0lcG/MV1oalwKvr6rtBx6/MUujx2wjAza37fdN2/bWVXXMPLY5KfmJ1pB3FHBgVW2cYf7dgKcxx9DLuv1FYH44wyLT89PWwG/NEduM7916WF9VVWurave2jcvaY8qqPZ6yqBu9/wv8ku5KQlsmOZhfD3eCroXheUke2MaIvwE4t7qTQLcFbgU20X05/5Y7tm4At13e//5tKM1P6IY3zTSUBuB0uhafqXXvmmTfdPYEjgfeVlXXtvkHJ9mhzd+fboz37a7Mlu48v2OAv26TfgAckO6cwocxw8VMpqtuXPVHgdck2TrJw+iuIPW+Wfb5Tu1979y9zF3b+1HdOPKvA69q059MlwgXdLUmuiu8PTHJw1sCeg3w0br9OXtTcd2v/T23SLIN3YUFLqMb1w3deZKHprt88Z3pWsp/VFU/buvfFfiPwOcWGKs0k63pDiA2ASR5HgPneSR5Wrqhf9C1PhfwqyS/l+TB7bN6E3ALM+SWdBczuHdrwLqeLu9NLXclAxcZWI35CjiJrtDdLd3FsF5Md6416Xo+zwC+3FroF2vofEV37tLv0DU2PZDuoPHVdFcM3mzczf7Ahqqa6XwjabH+CTiy5aC079pBmfmiP1cCazPzVSpn8n6678kftf/Xd01ywEAeHMZE5Kckz6Y7/vyDmuH8vebJdP8bzpxl/rA+Buyb5CltX/+WbrTAdzazzozvne62Db/Vfp/7AH8PvKZuP5T8kdxxNNTqUFU+RvygOwH963Rdzh+iXcp1YP6RdCeJXgN8Eti9Td+Crmv5J3Q9fi+l68p/TJt/NPD+9vyZdCfr3kSX2I4Ftpwlnp3puqbv1l5vT9fadBPdMIU3AlsMLP9BuiGhNwLfAf5yhm2+BnjJwOvt6Fqdr6e7wMsWbfor6E76ne13tSPwv1ssPwSeNTDv4XTDfqZeH0B34Dn4OGtg/lq6Lvmftt/NYxb5d3xWi+kmuiS848C8TwOvaM8fPfC3uKrtz94Dy+5Ed9B1Fd2QgC8B+w/MfxrdAdiKf3Z9TNYDeH3LMz+m++f3r8Dz27w30zU+3Njy0RFt+oEtP9zY1vsAsE2b917gde35f2v56aaWXwZz3MHtu3Md3cUIVmO+SvsdX9Meb6ZriYduWFG17dw48NhzEX/rofLVDOudNfWZmCvuNv8dM/2OffgY9sHAcU17fTTt2Ka9fixdY+h1dMdCHwK2nb4u3f/WL9Ed/P+/Nm365/m5wJcGXj+YLg9eQ9fg9amp7930dWeJfVLy0w/oGtcG889x07Z3BvDaEf3NH9P2/6ft97x2YN5xw743XS/pd+mG1V4CvGja/N+b+iysxsfUPxgtoSTn0n1g37OCMbwBuKqq/mGlYtDM2ufj8KqabbiGtKqYr8ZTkt+kOyB+UHWXJpdWHfPT+EryEbpbHpy+0rGsBIu6JZDkkXQtCT+mO+H1OOBeNfMV5CRJkiRpwbacexEtwH3pLmO7Nd1Y6Kda0EmSJElaCvbUSZIkSVKPefVLSZIkSeoxizpJkiRJ6rGxOKdu5513rrVr1650GJJG6Ktf/eqPq2rNSsexGOYmaTKZnySNo8XkprEo6tauXcv555+/0mFIGqEkvb85sblJmkzmJ0njaDG5yeGXkiRJktRjFnWSJEmS1GMWdZIkSZLUYxZ1kiRJktRjFnWSJEmS1GMWdZIkSZLUYxZ1kiRJktRjFnWSJEmS1GMWdZIkSZLUYxZ1kiRJktRjFnWSJEmS1GNbrnQAkjTJ1h71qduebzjmoBWMRJIkTSp76iRJkiSpxyzqJEmSJKnHLOokSZIkqcc8p06SxoDn3kmSpIWyp06SJEmSesyiTpIkSZJ6bKiiLsn2ST6c5DtJLkry0CQ7Jvlcku+1nzu0ZZPk2CTrk1yQZL+l3QVJkiRJWr2G7al7G/CZqvpt4AHARcBRwOeram/g8+01wOOAvdvjCOCdI41YkiRJknSbOYu6JNsBjwBOAKiqn1fVdcDBwIltsROBJ7XnBwMnVeccYPsku444bkmSJEkSw/XU7QVsAt6T5GtJ/jnJ1sAuVXV5W+YKYJf2fDfg0oH1N7ZpkiRJkqQRG6ao2xLYD3hnVT0IuIlfD7UEoKoKqPm8cZIjkpyf5PxNmzbNZ1VJWjLmJknjyvwkaTbDFHUbgY1VdW57/WG6Iu/KqWGV7edVbf5lwB4D6+/ept1OVR1fVeuqat2aNWsWGr8kjZS5SdK4Mj9Jms2cRV1VXQFcmuS+bdKBwLeB04DD2rTDgI+356cBh7arYD4EuH5gmKYkSZIkaYS2HHK5/wp8IMldgIuB59EVhKcmORy4BDikLXs68HhgPXBzW1aSNM3aoz610iFIkqQJMFRRV1VfB9bNMOvAGZYt4AWLC0uSJEmSNIxhe+okSYtkz5wkSVoKw958XJIkSZI0hizqJEmSJKnHLOokSZIkqccs6iRJkiSpxyzqJEmSJKnHvPqlJI2YV7mUJEnLyZ46SZIkSeoxizpJkiRJ6jGHX0rSmBkcvrnhmINWMBJJktQH9tRJkiRJUo9Z1EmSJElSj1nUSZIkSVKPWdRJkiRJUo9Z1EmSJElSj1nUSZIkSVKPWdRJkiRJUo9Z1EmSJElSj3nzcUkaY4M3IgdvRi5Jku7InjpJkiRJ6jGLOkmSJEnqMYs6SZIkSeoxizpJkiRJ6jGLOkmSJEnqMa9+OSa8wp0kSZKkhbCnTpIkSZJ6zKJOkiRJknrMok6SJEmSesyiTpIkSZJ6zAulSFKPDF5UyQsqSZIksKdOkiRJknrNok6SJEmSesyiTpIkSZJ6bKiiLsmGJN9M8vUk57dpOyb5XJLvtZ87tOlJcmyS9UkuSLLfUu6AJEmSJK1m8+mpe1RVPbCq1rXXRwGfr6q9gc+31wCPA/ZujyOAd44qWEmSJEnS7S1m+OXBwInt+YnAkwamn1Sdc4Dtk+y6iPeRJEmSJM1i2FsaFPDZJAW8q6qOB3apqsvb/CuAXdrz3YBLB9bd2KZdPjCNJEfQ9eSx5557Lix6SRqxPuUmb28grS59yk+SltewPXW/X1X70Q2tfEGSRwzOrKqiK/yGVlXHV9W6qlq3Zs2a+awqSUvG3CRpXJmfJM1mqJ66qrqs/bwqyceA/YErk+xaVZe34ZVXtcUvA/YYWH33Nm1VG2xRB1vVJUmSJI3GnEVdkq2BO1XVDe35HwKvAU4DDgOOaT8/3lY5DXhhkpOBBwPXDwzT1AhYIEqSJGkxPJ6cLMP01O0CfCzJ1PL/UlWfSfIV4NQkhwOXAIe05U8HHg+sB24GnjfyqCVJkiRJwBBFXVVdDDxghulXAwfOML2AF4wkOkmSJEnSZg179UtJ0mZMH8YiSZK0XBZznzpJkiRJ0gqzqJMkSZKkHnP45ZjypsKSJEkCr1SpudlTJ0mSJEk9ZlEnSZIkST1mUSdJkiRJPWZRJ0mSJEk95oVSJEmSpAnn/VQnm0XdCvGLJUmSJGkUHH4pSZIkST1mT50kSZLUY97HThZ1E8AvsiRJkrR6OfxSkiRJknrMnroRWcreMi+qIkmSJGk2FnVLxEJMkiRJ0nJw+KUkSZIk9Zg9dZIkSVKPLMWIMC+8128WdZIkSdIYWWzR5mlAq4/DLyVJkiSpxyzqJEmSJKnHLOokSZIkqcc8p06SJElaIZ7/plGwp06SJEmSesyiTpIkSZJ6zKJOkiRJknrMok6SJEmSesyiTpIkSZJ6zKtfStICjNvVygbj2XDMQSsYiSRJWm4WdZIkSdIyGbdGQU0Gi7pVYHrysBVfmmz22kmSFsvjx37xnDpJkiRJ6rGhi7okWyT5WpJPttd7JTk3yfokpyS5S5u+VXu9vs1fu0SxS5IkSdKqN5+eur8CLhp4/SbgrVV1b+Ba4PA2/XDg2jb9rW05SZIkSdISGOqcuiS7AwcBrwdelCTAo4FntUVOBI4G3gkc3J4DfBh4e5JUVY0ubG2OJ+BKkiRJq8ewPXX/ALwU+FV7vRNwXVXd2l5vBHZrz3cDLgVo869vy0uSJEmSRmzOoi7JE4Crquqro3zjJEckOT/J+Zs2bRrlpiVpwcxNksaV+UnSbIbpqXsY8MdJNgAn0w27fBuwfZKp4Zu7A5e155cBewC0+dsBV0/faFUdX1XrqmrdmjVrFrUTkjQq5iZJ48r8JGk2cxZ1VfXyqtq9qtYCzwC+UFXPBs4EntoWOwz4eHt+WntNm/8Fz6eTJEmSpKWxmPvUvYzuoinr6c6ZO6FNPwHYqU1/EXDU4kKUJEmSJM1mqKtfTqmqs4Cz2vOLgf1nWOYW4GkjiE2SJEmSNId5FXWSJEmSVp/pt8zacMxBKxSJZrKY4ZeSJEmSpBVmUSdJkiRJPebwS0mSJGlEHKaolWBRtwqZbCRJkqTJ4fBLSZIkSeoxe+qGNL13S5IkSVqtZjo2dvTXyrGnTpIkSZJ6zKJOkiRJknrMok6SJEmSesyiTpIkSZJ6zKJOkiRJknrMq19KkiRJS8QrqGs52FMnSZIkST1mT50kTbDpLcTeQ0iSpMljT50kSZIk9ZhFnSRJkiT1mEWdJEmSJPWYRZ0kSZIk9ZhFnSRJkiT1mEWdJEmSJPWYtzSYhTeKlCRJktQH9tRJkiRJUo9Z1EmSJElSjzn8UncYarrhmINWKBJJkiRJ82VPnSRJkiT1mD11krSKDPbM2ysvSdJksKdOkiRJknrMok6SJEmSeszhl5IkSdICeW9jjQN76iRJkiSpx+ypk6Qh2RorSZLG0Zw9dUnumuS8JN9IcmGSV7fpeyU5N8n6JKckuUubvlV7vb7NX7vE+yBJkiRJq9YwPXU/Ax5dVTcmuTPwpSSfBl4EvLWqTk5yHHA48M7289qquneSZwBvAp6+RPFrCXgzckmSJKk/5uypq86N7eWd26OARwMfbtNPBJ7Unh/cXtPmH5gkowpYkiRJkvRrQ10oJckWSb4OXAV8Dvg+cF1V3doW2Qjs1p7vBlwK0OZfD+w0wpglSZIkSc1QRV1V/bKqHgjsDuwP/PZi3zjJEUnOT3L+pk2bFrs5SRoJc5OkcWV+kjSbed3SoKquA84EHgpsn2TqnLzdgcva88uAPQDa/O2Aq2fY1vFVta6q1q1Zs2Zh0UvSiJmbJI0r85Ok2Qxz9cs1SbZvz+8G/AFwEV1x99S22GHAx9vz09pr2vwvVFWNMGZJkiRJUjPM1S93BU5MsgVdEXhqVX0yybeBk5O8DvgacEJb/gTgfUnWA9cAz1iCuCVJkiRJDFHUVdUFwINmmH4x3fl106ffAjxtJNFJkiRJkjZrXufUSZIkSZLGi0WdJEmSJPXYMOfUrQprj/rUSocgSZIkSfNmUSdJkiQNyY4AjSOHX0qSJElSj9lTJ0mSJGnRpvdibjjmoBWKZPWxp06SJEmSesyiTpIkSZJ6zOGXkrRKDQ6TcYiMJEn9ZU+dJEmSJPWYRZ0kSZIk9ZhFnSRJkiT1mOfUSZIkSRo5b3GwfOypkyRJkqQes6dOkiRJ0pKz527p2FMnSZIkST1mT53mZKuKJEmSNL4s6jRv3rBYkiRJGh8WdZIkSdIMpo9WksaV59RJkiRJUo9Z1EmSJElSj1nUSZIkSVKPWdRJkiRJUo9Z1EmSJElSj3n1S0mStyqRJKnH7KmTJEmSpB6zqJMkSZKkHnP4pSTpdqbfbNfhmJIkjbdVXdRNP3CRJN2R59tJkjTeHH4pSZIkST1mUSdJkiRJPbaqh19KkiRJWhmewz06c/bUJdkjyZlJvp3kwiR/1abvmORzSb7Xfu7QpifJsUnWJ7kgyX5LvROSJEmStFoNM/zyVuDFVbUP8BDgBUn2AY4CPl9VewOfb68BHgfs3R5HAO8cedSSJEmSJGCI4ZdVdTlweXt+Q5KLgN2Ag4ED2mInAmcBL2vTT6qqAs5Jsn2SXdt2NOHsRpckSZKW17zOqUuyFngQcC6wy0ChdgWwS3u+G3DpwGob2zSLugnkbSEkSZKklTV0UZdkG+AjwF9X1U+S3DavqipJzeeNkxxBNzyTPffccz6rStKSMTdJGlfmp6VnY7X6aqhbGiS5M11B94Gq+mibfGWSXdv8XYGr2vTLgD0GVt+9Tbudqjq+qtZV1bo1a9YsNH5JGilzk6RxZX6SNJs5e+rSdcmdAFxUVX8/MOs04DDgmPbz4wPTX5jkZODBwPWeT7d6eY6dJEmStLSGGX75MOA5wDeTfL1NewVdMXdqksOBS4BD2rzTgccD64GbgeeNMmBJkiRJ0q8Nc/XLLwGZZfaBMyxfwAsWGZckSZIkaQhDnVMnSZIkSRpPFnWSJEmS1GMWdZIkSZLUY/O6+bgkSZI0KbwvnSbFqirq/OJKkiRJmjQOv5QkSZKkHrOokyRJkqQes6iTJEmSpB6zqJMkSZKkHrOokyRJkqQeW1VXv5QkLc7gVYQ3HHPQCkYiSZKmWNRJkiRpVfD2VppUDr+UJEmSpB6zqJMkSZKkHnP4pSRJkqQVN9PwWM/fHo49dZIkSZLUYxZ1kiRJktRjDr+UJC2ItzeQJGk8WNRJkiRJGkvTz7OzEXFmE13UeS8SSZIkSZPOc+okSZIkqccs6iRJkiSpxyzqJEmSJKnHJvqcOo0fT3aVJEnLxesraLWwp06SJEmSesyiTpIkSZJ6zKJOkiRJknrMc+okSYvm+bKSJK0ce+okSZIkqccs6iRJkiSpxxx+qRXlkC1JkiRpcSzqJEkjN9hgY2ONpOXgPelWBzsEZmZRJ0mb4UGCJEkad3OeU5fk3UmuSvKtgWk7Jvlcku+1nzu06UlybJL1SS5Ist9SBi9JkiRJq90wPXXvBd4OnDQw7Sjg81V1TJKj2uuXAY8D9m6PBwPvbD+lodilLkmSJM3PnD11VXU2cM20yQcDJ7bnJwJPGph+UnXOAbZPsuuIYpUkSZIkTbPQWxrsUlWXt+dXALu057sBlw4st7FNkyRJkiQtgUXfp66qCqj5rpfkiCTnJzl/06ZNiw1DkkbC3CRpXJmfJM1moVe/vDLJrlV1eRteeVWbfhmwx8Byu7dpd1BVxwPHA6xbt27eRaFWB8+x03Kbnpt+vMLxSNIUj50kzWahPXWnAYe154cBHx+Yfmi7CuZDgOsHhmlKkiRJkkZszp66JB8EDgB2TrIReBVwDHBqksOBS4BD2uKnA48H1gM3A89bgpglSZIkSc2cRV1VPXOWWQfOsGwBL1hsUJIkSdLmTD9FQ1rNFn2hFEmSJEnSyrGokyRJkqQeW+jVLyVJGsrgECmvYCtJ0ujZUydJkiRJPWZRJ0mSJEk9ZlEnSZIkST3mOXWSpBUx/XLknm8nSdLCWNRJkiRp7HlfOml2E1XU+WWffLbsS5IkSbc3UUWdVh+LPKlfbHyTJI2Sx4IdL5QiSZIkST1mT50kSZKkibBae+7sqZMkSZKkHrOokyRJkqQes6iTJEmSpB6zqJMkSZKkHvNCKZKksTZ40vtqOeFdkqT5sKdOkiRJknqs1z113sRWkiaHPXKSBnmcJw2v10WdtDmr9T4l0iTwYE6SpOFZ1EmSesPGGkmS7siiThPF1n1JkiStNhZ1kiRJWnE2zEoLZ1GnVcNhW5IkSZpEFnWSpIng1TMlSdOtlkZ9izpJUm85XEvqL7+/0uhY1EmSJElaFWZqTJiE3rs7rXQAkiRJkqSFs6dOalbLmGtpNfD8OknSsCbhGNCiTquWY/ml1WES/llLfef/XGlp9aqoMyFIkhbLXjxp6XnMJi2vXhV1kiSNkgWeJGkSLElRl+SxwNuALYB/rqpjluJ9pKU0VyujB4DS5Bp2yKZFodSxZ06TpI/D9kde1CXZAngH8AfARuArSU6rqm/Pd1smCPVZHxOCtJr5P0eS1FdL0VO3P7C+qi4GSHIycDAw76JOkqRxMEzBt7llbNTRpLERRKtJHxrql6Ko2w24dOD1RuDBS/A+0oqa7z+0+QzT6kPykDS82fLF4HfbolDjYlJvziwtlXH4zqSqRrvB5KnAY6vq+e31c4AHV9ULpy13BHBEe7kv8K2RBrL8dgZ+vNJBjMAk7If7MB7uW1XbrnQQ8zWBuQkm4/PkPoyHSdgHMD+Ni0n4PE3CPsBk7Mck7MOCc9NSFHUPBY6uqj9qr18OUFVv3Mw651fVupEGsswmYR9gMvbDfRgP7sP4mIT9cB/GwyTsA0zGfrgP42ES9gEmYz9W+z7cadTBAF8B9k6yV5K7AM8ATluC95EkSZKkVW/k59RV1a1JXgicQXdLg3dX1YWjfh9JkiRJ0hLdp66qTgdOn8cqxy9FHMtsEvYBJmM/3Ifx4D6Mj0nYD/dhPEzCPsBk7If7MB4mYR9gMvZjVe/DyM+pkyRJkiQtn6U4p06SJEmStEyWtahL8tgk302yPslRM8zfKskpbf65SdYuZ3zDGGIfXpTk20kuSPL5JPdciTg3Z659GFjuKUkqydhdSWiYfUhySPtbXJjkX5Y7xmEM8XnaM8mZSb7WPlOPX4k4Z5Pk3UmuSjLjZbXTObbt3wVJ9lvuGIdhbhof5qfx0PfcBOancTIJ+cncND76np+WLDdV1bI86C6a8n3gXsBdgG8A+0xb5r8Ax7XnzwBOWa74RrgPjwJ+oz3/iz7uQ1tuW+Bs4Bxg3UrHvYC/w97A14Ad2uvfXOm4F7gfxwN/0Z7vA2xY6binxfcIYD/gW7PMfzzwaSDAQ4BzVzrmBf4dzE1jsh9tOfPTyu/DWOemFpf5aQwek5CfzE3j85iE/LRUuWk5e+r2B9ZX1cVV9XPgZODgacscDJzYnn8YODBJljHGucy5D1V1ZlXd3F6eA+y+zDHOZZi/A8BrgTcBtyxncEMaZh/+DHhHVV0LUFVXLXOMwxhmPwq4e3u+HfCjZYxvTlV1NnDNZhY5GDipOucA2yfZdXmiG5q5aXyYn8ZD73MTmJ+WMca5TEJ+MjeNj97np6XKTctZ1O0GXDrwemObNuMyVXUrcD2w07JEN5xh9mHQ4XSV9jiZcx9aN+8eVfWp5QxsHob5O9wHuE+SLyc5J8ljly264Q2zH0cDf5pkI90VZf/r8oQ2MvP9zqwEc9P4MD+Nh9WQm8D8tFwmIT+Zm8bHashPC8pNS3JLA0GSPwXWAY9c6VjmI8mdgL8HnrvCoSzWlnTDCA6ga/E7O8n9q+q6lQxqAZ4JvLeq3pLkocD7kuxbVb9a6cDUT33NTWB+GjPmJo1cX/OTuWnsrMr8tJw9dZcBewy83r1Nm3GZJFvSdZlevSzRDWeYfSDJY4BXAn9cVT9bptiGNdc+bAvsC5yVZAPdWN7TxuyE32H+DhuB06rqF1X1A+Df6RLVOBlmPw4HTgWoqv8L3BXYeVmiG42hvjMrzNw0PsxP42E15CYwPy2XSchP5qbxsRry08Jy01KfDDhw0t+WwMXAXvz6xMb7TVvmBdz+ZN9Tlyu+Ee7Dg+hO4Nx7peNd6D5MW/4sxu9k32H+Do8FTmzPd6brxt5ppWNfwH58Gnhue/47dOPCs9KxT4txLbOf7HsQtz/Z97yVjneBfwdz05jsx7TlzU8rtw9jn5tabOanfuzDWOcnc9PKxz/P/Rj7/LQUuWm5d+DxdFX/94FXtmmvoWuVga6S/hCwHjgPuNdK/9IXsA//B7gS+Hp7nLbSMc93H6YtO3aJaci/Q+iGQnwb+CbwjJWOeYH7sQ/w5Za0vg784UrHPC3+DwKXA7+ga+E7HDgSOHLg7/COtn/fHMfP0pB/B3PTmOzHtGXNTyu3D2Odm1qM5qcxeUxCfjI3jc+j7/lpqXJT2sqSJEmSpB5a1puPS5IkSZJGy6JOkiRJknrMok6SJEmSesyiTpIkSZJ6zKJOkiRJknrMok6SJEmSesyiTpIkSZJ6zKJOkiRJknrs/wMe85CdJfpKBwAAAABJRU5ErkJggg==\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -53,7 +53,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -183,7 +183,7 @@ }, { "cell_type": "markdown", - "id": "95c2acfb", + "id": "04b57c91", "metadata": {}, "source": [ "### Implementation" @@ -192,7 +192,7 @@ { "cell_type": "code", "execution_count": 2, - "id": "061c786d", + "id": "2522cb24", "metadata": { "scrolled": true }, @@ -378,13 +378,7 @@ "Filling history dataframe for Rodrigo Hernandez: 98/236 done\n", "Filling history dataframe for Scott McTominay: 99/236 done\n", "Filling history dataframe for Jonjo Shelvey: 100/236 done\n", - "Filling history dataframe for Miguel Almirón: 101/236 done\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "Filling history dataframe for Miguel Almirón: 101/236 done\n", "Filling history dataframe for Todd Cantwell: 102/236 done\n", "Filling history dataframe for Milot Rashica: 103/236 done\n", "Filling history dataframe for Moussa Djenepo: 104/236 done\n", @@ -400,7 +394,13 @@ "Filling history dataframe for Saman Ghoddos: 114/236 done\n", "Filling history dataframe for Ross Barkley: 115/236 done\n", "Filling history dataframe for Ruben Loftus-Cheek: 116/236 done\n", - "Filling history dataframe for Callum Hudson-Odoi: 117/236 done\n", + "Filling history dataframe for Callum Hudson-Odoi: 117/236 done\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Filling history dataframe for Luka Milivojevic: 118/236 done\n", "Filling history dataframe for Thiago Alcántara do Nascimento: 119/236 done\n", "Filling history dataframe for Takumi Minamino: 120/236 done\n", @@ -536,13 +536,7 @@ "Filling history dataframe for Benjamin Mendy: 14/194 done\n", "Filling history dataframe for Aymeric Laporte: 15/194 done\n", "Filling history dataframe for Oleksandr Zinchenko: 16/194 done\n", - "Filling history dataframe for Harry Maguire: 17/194 done\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "Filling history dataframe for Harry Maguire: 17/194 done\n", "Filling history dataframe for Luke Shaw: 18/194 done\n", "Filling history dataframe for Aaron Wan-Bissaka: 19/194 done\n", "Filling history dataframe for Raphaël Varane: 20/194 done\n", @@ -554,7 +548,13 @@ "Filling history dataframe for Ibrahima Konaté: 26/194 done\n", "Filling history dataframe for Kieran Tierney: 27/194 done\n", "Filling history dataframe for Gabriel Magalhães: 28/194 done\n", - "Filling history dataframe for Tyrone Mings: 29/194 done\n", + "Filling history dataframe for Tyrone Mings: 29/194 done\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Filling history dataframe for Matthew Cash: 30/194 done\n", "Filling history dataframe for Ezri Konsa Ngoyo: 31/194 done\n", "Filling history dataframe for Ashley Young: 32/194 done\n", @@ -726,7 +726,7 @@ "from airsenal.framework.prediction_utils import process_player_data\n", "from airsenal.framework.player_model import scale_goals_by_minutes\n", "from airsenal.framework.utils import get_player, fastcopy\n", - "from airsenal.framework.player_model import ConjugatePlayerModel, PlayerModel\n", + "from airsenal.framework.player_model import ConjugatePlayerModel, NumpyroPlayerModel\n", "import pandas as pd\n", "\n", "data_fwd = process_player_data(\"FWD\")\n", @@ -758,7 +758,7 @@ { "cell_type": "code", "execution_count": 3, - "id": "bfd7ceab", + "id": "5b985961", "metadata": {}, "outputs": [ { @@ -946,7 +946,7 @@ { "cell_type": "code", "execution_count": 4, - "id": "dfca4e72", + "id": "5e65e6c0", "metadata": {}, "outputs": [ { @@ -1134,7 +1134,7 @@ { "cell_type": "code", "execution_count": 5, - "id": "d96678cb", + "id": "9c38fc90", "metadata": {}, "outputs": [ { @@ -1314,8 +1314,8 @@ }, { "cell_type": "code", - "execution_count": 91, - "id": "1e6b4bcc", + "execution_count": 6, + "id": "8a93a7b9", "metadata": {}, "outputs": [ { @@ -1418,7 +1418,7 @@ "max 1191.000000 0.415878 0.213132 0.777672" ] }, - "execution_count": 91, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -1429,8 +1429,8 @@ }, { "cell_type": "code", - "execution_count": 92, - "id": "b794f35c", + "execution_count": 7, + "id": "ddfd15e3", "metadata": {}, "outputs": [ { @@ -1540,13 +1540,13 @@ "max 1191.000000 0.415878 0.213132 0.777672" ] }, - "execution_count": 92, + "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
" ] @@ -1568,8 +1568,8 @@ }, { "cell_type": "code", - "execution_count": 7, - "id": "d04dd93a", + "execution_count": 8, + "id": "81f9b8b6", "metadata": {}, "outputs": [ { @@ -1600,8 +1600,8 @@ }, { "cell_type": "code", - "execution_count": 8, - "id": "edb2ef8b", + "execution_count": 9, + "id": "ac022351", "metadata": {}, "outputs": [ { @@ -1632,8 +1632,8 @@ }, { "cell_type": "code", - "execution_count": 9, - "id": "daab7779", + "execution_count": 10, + "id": "5ad4c381", "metadata": {}, "outputs": [ { @@ -1664,7 +1664,7 @@ }, { "cell_type": "markdown", - "id": "143dcd1f", + "id": "406d77f5", "metadata": {}, "source": [ "### Comparison with Numpyro" @@ -1672,24 +1672,24 @@ }, { "cell_type": "code", - "execution_count": 10, - "id": "f3fc522d", + "execution_count": 11, + "id": "8952470d", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ - "sample: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2500/2500 [00:10<00:00, 239.02it/s, 15 steps of size 3.92e-01. acc. prob=0.87]\n", - "sample: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2500/2500 [00:23<00:00, 104.27it/s, 15 steps of size 3.35e-01. acc. prob=0.82]\n", - "sample: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2500/2500 [00:20<00:00, 123.38it/s, 15 steps of size 3.02e-01. acc. prob=0.83]\n" + "sample: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2500/2500 [00:12<00:00, 193.26it/s, 15 steps of size 3.92e-01. acc. prob=0.87]\n", + "sample: 100%|██████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2500/2500 [00:27<00:00, 92.32it/s, 15 steps of size 3.35e-01. acc. prob=0.82]\n", + "sample: 100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2500/2500 [00:22<00:00, 109.93it/s, 15 steps of size 3.02e-01. acc. prob=0.83]\n" ] } ], "source": [ - "np_model_fwd = PlayerModel().fit(data_fwd)\n", - "np_model_mid = PlayerModel().fit(data_mid)\n", - "np_model_def = PlayerModel().fit(data_def)\n", + "np_model_fwd = NumpyroPlayerModel().fit(data_fwd)\n", + "np_model_mid = NumpyroPlayerModel().fit(data_mid)\n", + "np_model_def = NumpyroPlayerModel().fit(data_def)\n", "\n", "np_fwd = get_model_df(np_model_fwd)\n", "np_mid = get_model_df(np_model_mid)\n", @@ -1698,8 +1698,8 @@ }, { "cell_type": "code", - "execution_count": 26, - "id": "2640354f", + "execution_count": 12, + "id": "e3f1aeb4", "metadata": {}, "outputs": [], "source": [ @@ -1729,8 +1729,8 @@ }, { "cell_type": "code", - "execution_count": 103, - "id": "4d5547ef", + "execution_count": 13, + "id": "e890297c", "metadata": {}, "outputs": [ { @@ -1970,7 +1970,7 @@ "[76 rows x 11 columns]" ] }, - "execution_count": 103, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, @@ -1996,8 +1996,8 @@ }, { "cell_type": "code", - "execution_count": 44, - "id": "7b26f8a0", + "execution_count": 14, + "id": "a0671958", "metadata": {}, "outputs": [ { @@ -2237,7 +2237,7 @@ "[236 rows x 11 columns]" ] }, - "execution_count": 44, + "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, @@ -2263,8 +2263,8 @@ }, { "cell_type": "code", - "execution_count": 45, - "id": "3495e5bc", + "execution_count": 15, + "id": "f9ff1fc9", "metadata": {}, "outputs": [ { @@ -2504,7 +2504,7 @@ "[194 rows x 11 columns]" ] }, - "execution_count": 45, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" }, @@ -2530,8 +2530,8 @@ }, { "cell_type": "code", - "execution_count": 97, - "id": "36078e58", + "execution_count": 16, + "id": "8692ce2c", "metadata": {}, "outputs": [ { @@ -2595,7 +2595,7 @@ "33 0.712208 0.580855 0.086677 0.044676 -0.131353 " ] }, - "execution_count": 97, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -2606,7 +2606,7 @@ }, { "cell_type": "markdown", - "id": "e94855e1", + "id": "8c98c6b4", "metadata": {}, "source": [ "### Varying n_goals_prior in Conjugate Model" @@ -2614,8 +2614,8 @@ }, { "cell_type": "code", - "execution_count": 106, - "id": "0f9b7984", + "execution_count": 17, + "id": "53e7af54", "metadata": {}, "outputs": [], "source": [ @@ -2630,17 +2630,17 @@ }, { "cell_type": "code", - "execution_count": 107, - "id": "4461d88e", + "execution_count": 18, + "id": "ff40ca61", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 107, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" }, @@ -2689,7 +2689,7 @@ }, { "cell_type": "markdown", - "id": "ce61490b", + "id": "a9536e4c", "metadata": {}, "source": [ "There are some unexpected results in the numpyro model compared to the conjugate model, even when using a prior in the conjugate model slightly stronger than the prior in the numpyro model:" @@ -2697,8 +2697,8 @@ }, { "cell_type": "code", - "execution_count": 100, - "id": "afac3394", + "execution_count": 19, + "id": "4a9f3522", "metadata": {}, "outputs": [ { @@ -2747,7 +2747,7 @@ "33 262 0.18966 0.128317 0.682023 Roberto Firmino" ] }, - "execution_count": 100, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } @@ -2759,8 +2759,8 @@ }, { "cell_type": "code", - "execution_count": 101, - "id": "5b0afd92", + "execution_count": 20, + "id": "225dbfc3", "metadata": {}, "outputs": [ { @@ -2812,7 +2812,7 @@ "41 Joelinton Cássio Apolinário de Lira " ] }, - "execution_count": 101, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } @@ -2825,7 +2825,7 @@ { "cell_type": "code", "execution_count": null, - "id": "1401b6c7", + "id": "a398eac7", "metadata": {}, "outputs": [], "source": [] From fff9da0e8213e5bd0429f47dc974d56985ba79bb Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Tue, 24 Aug 2021 22:05:24 +0100 Subject: [PATCH 35/43] black --- airsenal/framework/prediction_utils.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/airsenal/framework/prediction_utils.py b/airsenal/framework/prediction_utils.py index caa866b4..4a9efcae 100644 --- a/airsenal/framework/prediction_utils.py +++ b/airsenal/framework/prediction_utils.py @@ -12,7 +12,10 @@ from airsenal.framework.schema import PlayerPrediction, PlayerScore, Fixture -from airsenal.framework.player_model import NumpyroPlayerModel, get_empirical_bayes_estimates +from airsenal.framework.player_model import ( + NumpyroPlayerModel, + get_empirical_bayes_estimates, +) from airsenal.framework.utils import ( NEXT_GAMEWEEK, @@ -509,7 +512,9 @@ def process_player_data( ) -def fit_player_data(position, season, gameweek, model=NumpyroPlayerModel(), dbsession=session): +def fit_player_data( + position, season, gameweek, model=NumpyroPlayerModel(), dbsession=session +): """ fit the data for a particular position (FWD, MID, DEF) """ From 6f55696adece713574ffdbecee38afc423254727 Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Tue, 24 Aug 2021 23:17:22 +0100 Subject: [PATCH 36/43] change default player model to ConjugatePlayerModel in more places --- airsenal/framework/prediction_utils.py | 8 +- airsenal/scripts/fill_predictedscore_table.py | 4 +- notebooks/conjugate_player_model.ipynb | 91 +++++++++++++++++-- 3 files changed, 91 insertions(+), 12 deletions(-) diff --git a/airsenal/framework/prediction_utils.py b/airsenal/framework/prediction_utils.py index 4a9efcae..849cfd8a 100644 --- a/airsenal/framework/prediction_utils.py +++ b/airsenal/framework/prediction_utils.py @@ -13,7 +13,7 @@ from airsenal.framework.schema import PlayerPrediction, PlayerScore, Fixture from airsenal.framework.player_model import ( - NumpyroPlayerModel, + ConjugatePlayerModel, get_empirical_bayes_estimates, ) @@ -394,7 +394,7 @@ def calc_predicted_points_for_pos( season, gw_range, tag, - model=NumpyroPlayerModel(), + model=ConjugatePlayerModel(), dbsession=session, ): """ @@ -513,7 +513,7 @@ def process_player_data( def fit_player_data( - position, season, gameweek, model=NumpyroPlayerModel(), dbsession=session + position, season, gameweek, model=ConjugatePlayerModel(), dbsession=session ): """ fit the data for a particular position (FWD, MID, DEF) @@ -534,7 +534,7 @@ def fit_player_data( def get_all_fitted_player_data( - season, gameweek, model=NumpyroPlayerModel(), dbsession=session + season, gameweek, model=ConjugatePlayerModel(), dbsession=session ): df_positions = {"GK": None} for pos in ["DEF", "MID", "FWD"]: diff --git a/airsenal/scripts/fill_predictedscore_table.py b/airsenal/scripts/fill_predictedscore_table.py index 8457bc48..15c48132 100644 --- a/airsenal/scripts/fill_predictedscore_table.py +++ b/airsenal/scripts/fill_predictedscore_table.py @@ -83,7 +83,7 @@ def calc_all_predicted_points( include_saves=True, num_thread=4, tag="", - player_model=NumpyroPlayerModel(), + player_model=ConjugatePlayerModel(), dbsession=None, ): """ @@ -176,7 +176,7 @@ def make_predictedscore_table( include_cards=True, include_saves=True, tag_prefix=None, - player_model=NumpyroPlayerModel(), + player_model=ConjugatePlayerModel(), dbsession=None, ): tag = tag_prefix or "" diff --git a/notebooks/conjugate_player_model.ipynb b/notebooks/conjugate_player_model.ipynb index 8d244949..9234bb78 100644 --- a/notebooks/conjugate_player_model.ipynb +++ b/notebooks/conjugate_player_model.ipynb @@ -2604,6 +2604,85 @@ "fwd_diff[fwd_diff.player_name == \"Roberto Firmino\"]" ] }, + { + "cell_type": "code", + "execution_count": 23, + "id": "b838ecd1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
player_idplayer_nameconj_scorenp_scoreconj_assistnp_assistconj_neithernp_neitherdiff_scorediff_assistdiff_neither
41353Joelinton Cássio Apolinário de Lira0.1390250.2782450.0833030.1494670.7776720.5722880.139220.066163-0.205383
\n", + "
" + ], + "text/plain": [ + " player_id player_name conj_score np_score \\\n", + "41 353 Joelinton Cássio Apolinário de Lira 0.139025 0.278245 \n", + "\n", + " conj_assist np_assist conj_neither np_neither diff_score diff_assist \\\n", + "41 0.083303 0.149467 0.777672 0.572288 0.13922 0.066163 \n", + "\n", + " diff_neither \n", + "41 -0.205383 " + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "fwd_diff[fwd_diff.player_name == \"Joelinton Cássio Apolinário de Lira\"]" + ] + }, { "cell_type": "markdown", "id": "8c98c6b4", @@ -2630,23 +2709,23 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 22, "id": "ff40ca61", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 18, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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2LJlC2vWrGHr1q10dnZOeEw5Dz/8MG9729u4/vrrWbx48bj9Y/n2t7/NkiVL2LBhAx/60IdOeu1f/vKXbNy4kQsvvJBrrrmGvr6+ced85JFHWLVqFWvXruWKK6444fUVCoViMpRATxGrzzGu7oUXXiCVSnHVVVed+Q69HrnhhtKiUEzEffeBEFNbJprq6667Ktvcd99JL7lv3z4+8pGPsHfvXgKBAF//+teL+6qrq3nppZe44oor+PSnP80f/vAHduzYwQsvvMCjjz4KGPK7fv169uzZw5VXXslnPvMZAN773vfyhS98gZ07d7J69epi/ec//3lefvlldu7cyf333w/A//pf/4stW7awbds2nnjiCT75yU+STCb5xje+gcfjYe/evXzmM5/hxRdfnPR1BINBdu3axUc/+lE+/vGPF+u7u7t55pln+NKXvlTR/p577uGOO+5g586d3Hbbbdx7770nPQaMfwx+/OMfs2vXLn784x/T1dU1YX96enr4x3/8R5577jmefvppXnvttZNee/PmzTz33HO8/PLL3HrrrfzTP/3TuPN+9rOf5be//S2vvPIKv/jFLya9HwrFmUZ9xJ1bKIE+RbLZLE8//TQLFy6ktbV1rrvz+uCXvywtCsVZQktLC5dddhkA73nPe/jzn/9c3PfOd74TMP7Zvuqqq6itrcVms3Hbbbfxxz/+EQCLxVJsN3p8NBolEolw5ZVXAnDHHXcU269Zs4bbbruNf//3fy+mRzz++ON8/vOf54ILLuCqq64ik8nQ2dnJH//4R97znvcUj1uzpjQR1Fje9a53FdfPPvtssf6WW26ZMP3k2Wef5d3vNiaXvf322yte92THAGzdupVgMIjL5WLFihUcPXp0wnbbtm3jyiuvJBwOY7fbueWWW0567e7ubq677jpWr17NF7/4Rfbs2TPuvJdddhl33nkn3/zmN9E0bdL7oVCcadRH3LmFEuhTZNu2baRSKa6++uq57opCoZhDxo68U77t9XpP+3xj+dWvfsVf/dVf8dJLL3HxxRdTKBSQUvLTn/6UHTt2sGPHDjo7O1m+fPkpX/d0X8OJjnE6ncWy1WqlUChM+/yTcc899/DRj36UXbt28cADD5DJZMa1uf/++/nc5z5HV1cX69atY2hoaMaur1AoXj8ogT4FMpkMzzzzDIsWLWLevLN+IkWF4vXDffeBlFNbHnxw/PEPPljZZgopHJ2dncWI7Q9+8AM2b948rs2GDRt46qmnGBwcRNM0fvjDHxajy7qu85Of/KTi+GAwSFVVFX/6058A+N73vseVV16Jrut0dXVx9dVX84UvfIFoNEoikeC6667jq1/9KlJKAF5++WUArrjiCn7wgx8AsHv3bnbu3Dnp6/jxj39cXG/atOmkr/vSSy/lRz/6EQDf//73ufzyy096zHS4+OKLeeqppxgZGaFQKPDTn/70pNeORqM0NzcD8J3vfGfC8x46dIiNGzfy2c9+ltra2klTSBQKheJEqMejT4Ft27aRTqdV9FmhULB06VK+9rWv8f73v58VK1bw4Q9/eFybxsZGPv/5z3P11VcjpeTNb34zN910E2BEa7dt28bnPvc56urqiiL7ne98h7vvvptUKsWCBQt46KGH0DSN97znPUSjUaSU3HvvvYRCIf7f//f/5eMf/zhr1qxB13Xa29t57LHH+PCHP8z73vc+li9fzvLly1m3bt2kr2NkZIQ1a9bgdDr54Q9/eNLX/dWvfpX3ve99fPGLX6S2tpaHHnroFO/gxDQ3N/O3f/u3bNiwgXA4zLJlywgGgye89n333cctt9xCVVUVW7Zs4ciRI+PO+8lPfpIDBw4gpWTr1q2sXbt2RvutUCheH4jRiMW5wvr16+XpjGN6umQyGf7lX/6F1tbWYg6e4gxRHg2cQmRQcf6zd+/eaacqzCQdHR3ccMMN7N69+5TP4fP5SCQSM9ir6dPW1sb27dupqamZ036MJZFI4PP5KBQK3Hzzzbz//e/n5ptvnvXrzvXvleL1ifqIOzsRQrwopVw/tl5FoKfJ888/TyaTUSNvzAXmKASAendRKF4H3Hffffzud78jk8lw7bXX8ta3vnWuu6RQzBrqI+7cQgn0NEin0zzzzDMsXbqUpqamue6OQqGYY9ra2k4r+gzMefQZjEj6XLJx40ay2WxF3fe+9z3++Z//eY56pFAoFCdGCfQ0eO6558hmsyr6rFAoFDPI888/P9ddUCgUimmhRuGYIul0mueee45ly5bR2Ng4191RKBQKhUKhUMwRSqCnyLPPPquizwqFQqFQKBQKJdBTIZVK8dxzz7FixQoaGhrmujsKhUKhUCgUijlECfQUGBgYwG63Fyc+UCgUCoVCoVC8flECPQXmz5/PJz7xCerr6+e6KwqFQlHBv/zLv5BKpU7rHL/4xS/4/Oc/P0M9OnM8/PDDfPSjH53rbigUitchSqCniM2mBixRKBQzR6FQOOH2VDldgS4UCtx44438zd/8zbSOUSgUitczSqAVCsV5w333gRBTW+66a/zxd91V2WYqkxl897vfZc2aNaxdu5bbb78dgDvvvJOf/OQnxTY+nw+AJ598kssvv5wbb7yRFStWjNvWNI1PfvKTXHzxxaxZs4YHHnigeNxVV13F29/+dpYtW8Ztt92GlJKvfOUr9PT0cPXVV3P11VeP61tbWxuf+tSnWL16NRs2bODgwYPF/t19991s3LiRT33qUxWR3I6ODrZs2cKaNWvYunUrnZ2dEx5TzsMPP8zb3vY2rr/+ehYvXjxu/1i+/e1vs2TJEjZs2MCHPvShk177l7/8JRs3buTCCy/kmmuuoa+vb9w5H3nkEVatWsXatWu54oorTvJTUygUitNDhVUV5w4f+tBc90ChqGDPnj187nOf45lnnqGmpobh4eGTHvPSSy+xe/du2tvbefLJJyu2H3zwQYLBIC+88ALZbJbLLruMa6+9FoCXX36ZPXv20NTUxGWXXcbTTz/Nvffey5e+9CWeeOKJSafhDgaD7Nq1i+9+97t8/OMf57HHHgOgu7ubZ555BqvVysMPP1xsf88993DHHXdwxx138G//9m/ce++9PProo+OOGcuOHTt4+eWXcTqdLF26lHvuuYeWlpZx7Xp6evjHf/xHXnrpJfx+P1u2bGHt2rUnvPbmzZt57rnnEELwrW99i3/6p3/i//yf/1Nx3s9+9rP89re/pbm5mUgkctKfg0JxtqE+4s4tlEArzh0efHCue6BQVPCHP/yBW265pSiv4XD4pMds2LCB9vb2Cbcff/xxdu7cWYxeR6NRDhw4gMPhYMOGDcybNw+ACy64gI6ODjZv3nzS673rXe8qrj/xiU8U62+55ZYJRfjZZ5/lP//zPwG4/fbbK6LJkx0DsHXrVoLBIAArVqzg6NGjEwr0tm3buPLKK4v36pZbbmH//v0nvHZ3dzfvfOc76e3tJZfLVdy/US677DLuvPNO3vGOd/C2t73tJHdFoTj7UB9x5xYqhUOhUJw33HcfSDm1ZaIPqwcfrGwzlRSOibDZbOi6DoCu6+RyueI+r9db0bZ8W0rJV7/6VXbs2MGOHTs4cuRIMQLtdDqL7axW65TzkIUQE5bH9mMqnOiYU+3fVLjnnnv46Ec/yq5du3jggQfIZDLj2tx///187nOfo6uri3Xr1jE0NDRj11coFIqxKIFWKBSKU2TLli088sgjRVkbTeFoa2vjxRdfBIwRLvL5/JTOd9111/GNb3yj2H7//v0kk8kTHuP3+4nH45Pu//GPf1xcb9q06aR9uPTSS/nRj34EwPe//30uv/zyKfV9qlx88cU89dRTjIyMUCgU+OlPf3rSa0ejUZqbmwH4zne+M+F5Dx06xMaNG/nsZz9LbW0tXV1dM9pvhUKhKEelcCgUCsUpsnLlSv7u7/6OK6+8EqvVyoUXXsjDDz/Mhz70IW666SbWrl3L9ddfP+Vo7wc/+EE6Ojq46KKLkFJSW1tbzD+ejLvuuovrr7+epqYmnnjiiXH7R0ZGWLNmDU6nkx/+8Icn7cNXv/pV3ve+9/HFL36R2tpaHnrooSn1fao0Nzfzt3/7t2zYsIFwOMyyZcuKqR+TXfu+++7jlltuoaqqii1btnDkyJFx5/3kJz/JgQMHkFKydevWYl61QqFQzAZCSjnXfZgW69evl9u3b5/rbijmgvJhE1SymALYu3cvy5cvn+tunLW0tbWxffv2SR8wnCsSiQQ+n49CocDNN9/M+9//fm6++ea57lYR9XulmAvUR9zZiRDiRSnl+rH1KgKtOHf45jdLZfXuolCcs9x333387ne/I5PJcO211/LWt751rrukUMw56iPu3EIJtEKhUJyndHR0zOn1N27cSDabraj73ve+xz//8z/PUY8UCoViZlACrVAoFIpZ4fnnn5/rLigUCsWsoEbhUCgU5zTn2nMcirMb9fukUCimghJohUJxzuJyuRgaGlLSo5gRpJQMDQ3hcrnmuisKheIsR6VwKBSKc5Z58+bR3d3NwMDAXHdFcZ7gcrmKMz4qFArFZCiBVigU5yx2u33CaZ0VCoVCoZhNVAqHQqFQKBQKhUIxDZRAKxQKhUKhUCgU00AJtEKhUCgUCoVCMQ3Ouam8hRADwNFZOHUNMDgL5329oe7j6aPu4emj7uHpo+7h6aPu4emj7uHMoO7jqTNfSlk7tvKcE+jZQgixfaK5zhXTQ93H00fdw9NH3cPTR93D00fdw9NH3cOZQd3HmUelcCgUCoVCoVAoFNNACbRCoVAoFAqFQjENlECXeHCuO3CeoO7j6aPu4emj7uHpo+7h6aPu4emj7uHMoO7jDKNyoBUKhUKhUCgUimmgItAKhUKhUCgUCsU0UAINCCGuF0LsE0IcFEL8zVz351xACPFvQoh+IcTusrqwEOK/hRAHzHXVXPbxbEcI0SKEeEII8aoQYo8Q4mNmvbqPU0QI4RJCbBNCvGLew8+Y9e1CiOfNv+kfCyEcc93Xsx0hhFUI8bIQ4jFzW93DaSKE6BBC7BJC7BBCbDfr1N/zNBBChIQQPxFCvCaE2CuE2KTu4dQRQiw1f/9Gl5gQ4uPqHs48r3uBFkJYga8BbwRWAO8SQqyY216dEzwMXD+m7m+A30spFwO/N7cVk1MA/n9SyhXAJcBfmb976j5OnSywRUq5FrgAuF4IcQnwBeD/SikXASPAB+aui+cMHwP2lm2re3hqXC2lvKBsyDD19zw9vgz8l5RyGbAW43dS3cMpIqXcZ/7+XQCsA1LAz1D3cMZ53Qs0sAE4KKU8LKXMAT8CbprjPp31SCn/CAyPqb4J+I5Z/g7w1jPZp3MNKWWvlPIlsxzH+KBoRt3HKSMNEuam3VwksAX4iVmv7uFJEELMA94MfMvcFqh7OFOov+cpIoQIAlcA3waQUuaklBHUPTxVtgKHpJRHUfdwxlECbQhLV9l2t1mnmD71Uspes3wcqJ/LzpxLCCHagAuB51H3cVqYqQc7gH7gv4FDQERKWTCbqL/pk/MvwKcA3dyuRt3DU0ECjwshXhRC3GXWqb/nqdMODAAPmelE3xJCeFH38FS5FfihWVb3cIZRAq2YFaQxvIsa4mUKCCF8wE+Bj0spY+X71H08OVJKzfy6ch7GN0rL5rZH5xZCiBuAfinli3Pdl/OAzVLKizBSAv9KCHFF+U7193xSbMBFwDeklBcCScakGqh7ODXMZxZuBB4Zu0/dw5lBCTQcA1rKtueZdYrp0yeEaAQw1/1z3J+zHiGEHUOevy+l/E+zWt3HU8D8qvcJYBMQEkLYzF3qb/rEXAbcKITowEhh24KRh6ru4TSRUh4z1/0YeacbUH/P06Eb6JZSPm9u/wRDqNU9nD5vBF6SUvaZ2+oezjBKoOEFYLH5xLkD4yuPX8xxn85VfgHcYZbvAH4+h3056zHzTL8N7JVSfqlsl7qPU0QIUSuECJllN/AGjFzyJ4C3m83UPTwBUsr/KaWcJ6Vsw3j/+4OU8jbUPZwWQgivEMI/WgauBXaj/p6njJTyONAlhFhqVm0FXkXdw1PhXZTSN0DdwxlHTaQCCCHehJEDaAX+TUr5v+a2R2c/QogfAlcBNUAf8A/Ao8B/AK3AUeAdUsqxDxoqTIQQm4E/Abso5Z7+LUYetLqPU0AIsQbjgRgrRkDgP6SUnxVCLMCIpoaBl4H3SCmzc9fTcwMhxFXA/5BS3qDu4fQw79fPzE0b8AMp5f8SQlSj/p6njBDiAoyHWR3AYeB9mH/bqHs4Jcx/4DqBBVLKqFmnfg9nGCXQCoVCoVAoFArFNFApHAqFQqFQKBQKxTRQAq1QKBQKhUKhUEwDJdAKhUKhUCgUCsU0UAKtUCgUCoVCoVBMAyXQCoVCoVAoFArFNFACrVAoFAqFQqFQTAMl0AqFQnGeIoRoE0LsnsXzf1YIcc1snV+hUCjOVmwnb6JQKBQKRSVCCKuU8u9P4RhttvqkUCgUZwoVgVYoFIozgBkN3iuE+KYQYo8Q4nFz+vGJ2l4shNgphNghhPjiaBRZCOESQjwkhNglhHhZCHF12bn/JIR4yVwuneCcK4UQ28xz7hRCLD5BP18TQnzf7O9PhBAec1+HEOILQoiXgFuEEA8LId5u7ttq9mmXEOLfhBDOiY6ZiXupUCgUc40SaIVCoThzLAa+JqVcCUSAv5ik3UPAX0opLwDKI7Z/BUgp5WrgXcB3hBAuoB94g5TyIuCdwFcmOOfdwJfNc64Huk/Qz6XA16WUy4EY8JGyfUNSyouklD8arTD78DDwTrNvNuDDJzpGoVAozmWUQCsUCsWZ44iUcodZfhFoG9tACBEC/FLKZ82qH5Tt3gz8O4CU8jXgKLAEsAPfFELsAh4BVkxw7WeBvxVCfBqYL6VMn6CfXVLKp83yv5vXHeXHE7Rfar62/eb2d4ArTnKMQqFQnLMogVYoFIozR7asrDFzz6F8AugD1mJElx1jG0gpfwDcCKSBXwshtpzgfPIE28lT6N+pHKNQKBRnLUqgFQqF4ixCShkB4kKIjWbVrWW7/wTcBiCEWAK0AvuAINArpdSB2wHr2PMKIRYAh6WUXwF+Dqw5QTdahRCbzPK7gT+fpNv7gDYhxCJz+3bgqZMco1AoFOcsSqAVCoXi7OMDGCkZOwAvEDXrvw5YzFSNHwN3SimzZv0dQohXgGVMHPF9B7DbPOcq4LsnuP4+4K+EEHuBKuAbJ+qslDIDvA94xOybDtw/hdepUCgU5yRCyrHf1CkUCoViLhFC+KSUCbP8N0CjlPJjZ+jabcBjUspVZ+J6CoVCcS6ixoFWKBSKs483CyH+J8Z79FHgzrntjkKhUCjKURFohUKhmCOEEF8DLhtT/WUp5UNn4NrVwO8n2LVVSjk029dXKBSKcxkl0AqFQqFQKBQKxTRQDxEqFAqFQqFQKBTTQAm0QqFQKBQKhUIxDZRAKxQKhUKhUCgU00AJtEKhUCgUCoVCMQ2UQCsUCoVCoVAoFNPg/wMNDnoS5/dIeQAAAABJRU5ErkJggg==\n", + "image/png": "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PXv2cPnll/OFL3wBgA9+8IN85StfYefOnaxZs6ZQ/uUvf5nXXnuNnTt3cu+99wLwz//8z2zZsoXt27fzxBNP8JnPfIZEIsF3vvMdPB4P+/bt4wtf+AKvvPLKpK8jGAyya9cu7rrrLj71qU8Vyru7u3nuuef4+te/Xlb/k5/8JLfddhs7d+7k5ptv5u677z7hOWD8c/DQQw+xa9cuHnroIbq6uiZsT29vL//0T//ECy+8wLPPPssbb7xxwntfcsklvPDCC7z22mvcdNNN/Mu//Mu4637xi1/kj3/8I6+//jqPPPLIpM9DIjndyI+4swsp0adALBbjpZdeoq2tjerq6rluzpuD3/2uuEgkZwjz5s3j4osvBuCWW27hmWeeKRy78cYbAXjppZe44oorqKmpwWazcfPNN/P0008DYLFYCvXy50ciEcLhcCFN7LbbbivUb2tr4+abb+YnP/lJIVXiscce48tf/jLr1q3jiiuuIJ1O09nZydNPP80tt9xSOK+trW3S1/H+97+/sH7++ecL5du2bZswFeX555/nAx8wJqG99dZby173ZOcAbN26lWAwiMvlYuXKlXR0dExYb/v27Vx++eVUVlZit9vZtm3bCe/d3d3NNddcw5o1a/jqV7/Knj17xl334osv5vbbb+d73/semqZN+jwkktON/Ig7u5ASfQo888wzaJomc6Elkjc5iqJMuu/1ek/5emP5wx/+wCc+8QleffVVzj//fFRVRQjBr371K3bs2MGOHTvo7OxkxYoVJ33fU30NxzvH6XQWtq1WK6qqTvv6k/HJT36Su+66i127dvHd736XdDo9rs69997Ll770Jbq6ujjvvPMYHh6esftLJJI3D1KiT5JoNMrLL7/M2rVrqaysnOvmSCSSPPfcA0JMbbnvvvHn33dfeZ0ppHN0dnYWIrc/+9nPuOSSS8bV2bRpE0899RRDQ0NomsbPf/7zwj/guq7zy1/+suz8YDBIRUUFf/3rXwH48Y9/zOWXX46u63R1dXHllVfyla98hUgkQjwe55prruGb3/wmQggAXnvtNQAuu+wyfvaznwGwe/dudu7cOenreOihhwrrCy+88ISv+6KLLuIXv/gFAD/96U+59NJLT3jOdDj//PN56qmnGB0dRVVVfvWrX53w3pFIhKamJgAefPDBCa97+PBhNm/ezBe/+EVqamomTSeR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sVqtrF+/ngceeICPfvSjXH/99axdu5Zrr712ylHfj3zkI7S3t7NhwwaEENTU1BTykSfjjjvu4Nprr6WxsZEnnnhi3PHR0VHa2tpwOp38/Oc/P2EbvvnNb/KhD32Ir371q9TU1HD//fdPqe1Tpampic9//vNs2rSJyspKli9fXkgDmeze99xzD9u2baOiooItW7Zw9OjRcdf9zGc+w8GDBxFCsHXr1kKetUQikcwGihBirtswbTZu3ChefvnluW6GZC4oHU5BJo9JgH379rFixYq5bsYZS0tLCy+//PKknQ7ning8js/nQ1VVbrjhBj784Q9zww03zHWzCsj3lWQukB9xZyaKorwihNg4tlxGoiVnF9/7XnFb/oWRSM5a7rnnHv785z+TTqe5+uqrede73jXXTZJI5hz5EXd2ISVaIpFIzmHa29vn9P6bN28mk8mUlf34xz/ma1/72hy1SCKRSGYGKdESiUQimTVefPHFuW6CRCKRzApydA6JRHLWczb27ZCcucj3k0QimQpSoiUSyVmNy+VieHhYio9kRhBCMDw8jMvlmuumSCSSMxyZziGRSM5qmpub6e7uZnBwcK6bIjlHcLlchZkhJRKJZDKkREskkrMau90+4RTQEolEIpHMJjKdQyKRSCQSiUQimSZSoiUSiUQikUgkkmkiJVoikUgkEolEIpkmZ+W034qiDAIds3DpamBoFq77ZkI+w5lBPsdTRz7DU0c+w1NHPsNTRz7DU0c+w1NjgRCiZmzhWSnRs4WiKC9PNDe6ZOrIZzgzyOd46shneOrIZ3jqyGd46shneOrIZzg7yHQOiUQikUgkEolkmkiJlkgkEolEIpFIpomU6HLum+sGnAPIZzgzyOd46shneOrIZ3jqyGd46shneOrIZzgLyJxoiUQikUgkEolkmshItEQikUgkEolEMk2kRJsoinKtoij7FUU5pCjK3891e84GFEX5oaIoA4qi7C4pq1QU5U+Kohw01xVz2cYzHUVR5imK8oSiKHsVRdmjKMrfmeXyOU4RRVFciqJsVxTldfMZfsEsb1UU5UXzd/ohRVEcc93WMx1FUayKorymKMrvzX35DKeJoijtiqLsUhRlh6IoL5tl8vd5GiiKElIU5ZeKoryhKMo+RVEulM9w6iiKssx8/+WXqKIon5LPcOaREo3xwQF8C3grsBJ4v6IoK+e2VWcFDwDXjin7e+BxIcQS4HFzXzI5KvA/hRArgQuAT5jvPfkcp04G2CKEWAusA65VFOUC4CvA/08IsRgYBf5m7pp41vB3wL6SffkMT44rhRDrSoYUk7/P0+Pfgf8WQiwH1mK8J+UznCJCiP3m+28dcB6QBP4T+QxnHCnRBpuAQ0KII0KILPAL4Po5btMZjxDiaWBkTPH1wIPm9oPAu05nm842hBB9QohXze0YxodFE/I5ThlhEDd37eYigC3AL81y+QxPgKIozcDbge+b+wryGc4U8vd5iiiKEgQuA34AIITICiHCyGd4smwFDgshOpDPcMaREm3QBHSV7HebZZLpUyeE6DO3jwF1c9mYswlFUVqA9cCLyOc4Lcw0hB3AAPAn4DAQFkKoZhX5O31i/g34LKCb+1XIZ3gyCOAxRVFeURTlDrNM/j5PnVZgELjfTC36vqIoXuQzPFluAn5ubstnOMNIiZbMGsIY+kUO/zIFFEXxAb8CPiWEiJYek8/xxAghNPOry2aMb5aWz22Lzi4URXkHMCCEeGWu23IOcIkQYgNGeuAnFEW5rPSg/H0+ITZgA/AdIcR6IMGYtAP5DKeG2YfhOuDhscfkM5wZpEQb9ADzSvabzTLJ9OlXFKUBwFwPzHF7zngURbFjCPRPhRC/NovlczwJzK99nwAuBEKKotjMQ/J3+vhcDFynKEo7RjrbFoy8VPkMp4kQosdcD2DkoW5C/j5Ph26gWwjxorn/Swypls9w+rwVeFUI0W/uy2c4w0iJNngJWGL2RHdgfP3xyBy36WzlEeA2c/s24Ldz2JYzHjPv9AfAPiHE10sOyec4RRRFqVEUJWRuu4G3YOSWPwG816wmn+FxEEL8byFEsxCiBePv31+EEDcjn+G0UBTFqyiKP78NXA3sRv4+TxkhxDGgS1GUZWbRVmAv8hmeDO+nmMoB8hnOOHKyFRNFUd6GkRNoBX4ohPjnuW3RmY+iKD8HrgCqgX7g/wP8BvgPYD7QAbxPCDG286HERFGUS4C/Arso5qJ+HiMvWj7HKaAoShtGJxkrRmDgP4QQX1QUZSFGVLUSeA24RQiRmbuWnh0oinIF8L+EEO+Qz3B6mM/rP81dG/AzIcQ/K4pShfx9njKKoqzD6ODqAI4AH8L83UY+wylh/hPXCSwUQkTMMvk+nGGkREskEolEIpFIJNNEpnNIJBKJRCKRSCTTREq0RCKRSCQSiUQyTaRESyQSiUQikUgk00RKtEQikUgkEolEMk2kREskEolEIpFIJNNESrREIpFIJBKJRDJNpERLJBLJOYqiKC2Kouyexet/UVGUq2br+hKJRHImYztxFYlEIpFIylEUxSqE+MeTOEebrTZJJBLJ6URGoiUSieQ0YEaF9ymK8j1FUfYoivKYOU35RHXPVxRlp6IoOxRF+Wo+mqwoiktRlPsVRdmlKMpriqJcWXLtvyqK8qq5XDTBNVcpirLdvOZORVGWHKedbyiK8lOzvb9UFMVjHmtXFOUriqK8CmxTFOUBRVHeax7barZpl6IoP1QUxTnROTPxLCUSieRMQEq0RCKRnD6WAN8SQqwCwsB7Jql3P/C3Qoh1QGnk9hOAEEKsAd4PPKgoigsYAN4ihNgA3Ah8Y4Jr3gn8u3nNjUD3cdq5DPi2EGIFEAU+XnJsWAixQQjxi3yB2YYHgBvNttmAjx3vHIlEIjnbkRItkUgkp4+jQogd5vYrQMvYCoqihAC/EOJ5s+hnJYcvAX4CIIR4A+gAlgJ24HuKouwCHgZWTnDv54HPK4ryOWCBECJ1nHZ2CSGeNbd/Yt43z0MT1F9mvrYD5v6DwGUnOEcikUjOaqRESyQSyekjU7KtMXP9Uj4N9ANrMaLMjrEVhBA/A64DUsB/KYqy5TjXE8fZT5xE+07mHIlEIjmjkRItkUgkZxBCiDAQUxRls1l0U8nhvwI3AyiKshSYD+wHgkCfEEIHbgWsY6+rKMpC4IgQ4hvAb4G24zRjvqIoF5rbHwCeOUGz9wMtiqIsNvdvBZ46wTkSiURyViMlWiKRSM48/gYjPWMH4AUiZvm3AYuZtvEQcLsQImOW36YoyuvAciaO/L4P2G1eczXwo+Pcfz/wCUVR9gEVwHeO11ghRBr4EPCw2TYduHcKr1MikUjOWhQhxn5rJ5FIJJK5RFEUnxAibm7/PdAghPi703TvFuD3QojVp+N+EolEcrYix4mWSCSSM4+3K4ryvzH+RncAt89tcyQSiUQyFhmJlkgkkjlCUZRvARePKf53IcT9p+HeVcDjExzaKoQYnu37SyQSydmOlGiJRCKRSCQSiWSayI6FEolEIpFIJBLJNJESLZFIJBKJRCKRTBMp0RKJRCKRSCQSyTSREi2RSCQSiUQikUwTKdESiUQikUgkEsk0+f8DQVHNiBBFf90AAAAASUVORK5CYII=\n", "text/plain": [ "
" ] @@ -2682,7 +2761,7 @@ " label=\"current prior n_goals\",\n", ")\n", "plt.xlabel(\"n_goals_prior\")\n", - "plt.ylabel(\"p_score\")\n", + "plt.ylabel(\"posterior p_score\")\n", "plt.title(\"FWD\")\n", "plt.legend()" ] @@ -2825,7 +2904,7 @@ { "cell_type": "code", "execution_count": null, - "id": "a398eac7", + "id": "a1b21674", "metadata": {}, "outputs": [], "source": [] From 9391caab16d319dcdd2e2fd9d2d93b2a0108b05e Mon Sep 17 00:00:00 2001 From: tdarnell Date: Wed, 8 Sep 2021 00:04:01 +0100 Subject: [PATCH 37/43] Add webhook for transfer suggestions and reformat --- airsenal/framework/utils.py | 73 +++++++++------- .../scripts/fill_transfersuggestion_table.py | 87 ++++++++++++++++++- 2 files changed, 130 insertions(+), 30 deletions(-) diff --git a/airsenal/framework/utils.py b/airsenal/framework/utils.py index 29ec0042..ece7f45d 100644 --- a/airsenal/framework/utils.py +++ b/airsenal/framework/utils.py @@ -926,21 +926,25 @@ def get_top_predicted_points( ) # If a valid discord webhook URL has been stored in env variables, send a webhook message - if re.match('^.*(discord|discordapp)\.com\/api\/webhooks\/([\d]+)\/([a-zA-Z0-9_-]+)$', discord_webhook): - payload = get_discord_payload( - discord_embed=discord_embed, - position=position, - pts=pts[:n_players], - season=season, - first_gw=first_gw - ) - result = requests.post(discord_webhook, json=payload) - if 200 <= result.status_code < 300: - print(f"Webhook sent {result.status_code}") + if discord_webhook != "MISSING_ID": + # Use regex to check the discord webhook url is correctly formatted + if re.match('^.*(discord|discordapp)\.com\/api\/webhooks\/([\d]+)\/([a-zA-Z0-9_-]+)$', discord_webhook): + # Maximum fields on a discord embed is 25, so limit this to n_players=8 + payload = predicted_points_discord_payload( + discord_embed=discord_embed, + position=position, + pts=pts[:min(n_players,8)], + season=season, + first_gw=first_gw + ) + result = requests.post(discord_webhook, json=payload) + if 200 <= result.status_code < 300: + print(f"Discord webhook sent, status code: {result.status_code}") + else: + print(f"Not sent with {result.status_code}, response:\n{result.json()}") else: - print(f"Not sent with {result.status_code}, response:\n{result.json()}") - else: - print("Warning: Discord webhook url is malformed!\n", discord_webhook) + #TODO make this so it won't warn if the variable isn't set + print("Warning: Discord webhook url is malformed!\n", discord_webhook) else: for position in ["GK", "DEF", "MID", "FWD"]: @@ -969,30 +973,41 @@ def get_top_predicted_points( ) ) print("-" * 25) + + discord_embed['fields'] = [] # If a valid discord webhook URL has been stored in env variables, send a webhook message - if re.match('^.*(discord|discordapp)\.com\/api\/webhooks\/([\d]+)\/([a-zA-Z0-9_-]+)$', discord_webhook): - payload = get_discord_payload( - discord_embed=discord_embed, - position=position, - pts=pts[:n_players], - season=season, - first_gw=first_gw - ) - result = requests.post(discord_webhook, json=payload) - if 200 <= result.status_code < 300: - print(f"Webhook sent {result.status_code}") + if discord_webhook != "MISSING_ID": + # Use regex to check the discord webhook url is correctly formatted + if re.match('^.*(discord|discordapp)\.com\/api\/webhooks\/([\d]+)\/([a-zA-Z0-9_-]+)$', discord_webhook): + # create a formatted team lineup message for the discord webhook + # Maximum fields on a discord embed is 25, so limit this to n_players=8 + payload = predicted_points_discord_payload( + discord_embed=discord_embed, + position=position, + pts=pts[:min(n_players,8)], + season=season, + first_gw=first_gw + ) + result = requests.post(discord_webhook, json=payload) + if 200 <= result.status_code < 300: + print(f"Discord webhook sent, status code: {result.status_code}") + else: + print(f"Not sent with {result.status_code}, response:\n{result.json()}") else: - print(f"Not sent with {result.status_code}, response:\n{result.json()}") - else: - print("Warning: Discord webhook url is malformed!\n", discord_webhook) + #TODO make this so it won't warn if the variable isn't set + print("Warning: Discord webhook url is malformed!\n", discord_webhook) -def get_discord_payload( + +def predicted_points_discord_payload( discord_embed, position, pts, season, first_gw ): + """ + json formated discord webhook contentent. + """ discord_embed['fields'].append( { "name": 'Position', diff --git a/airsenal/scripts/fill_transfersuggestion_table.py b/airsenal/scripts/fill_transfersuggestion_table.py index 381bdc78..a4dc514a 100644 --- a/airsenal/scripts/fill_transfersuggestion_table.py +++ b/airsenal/scripts/fill_transfersuggestion_table.py @@ -18,6 +18,7 @@ import os +import re import shutil import time import json @@ -27,6 +28,7 @@ from multiprocessing import Process +import requests from tqdm import tqdm, TqdmWarning import argparse @@ -336,6 +338,47 @@ def print_strat(strat): print(" Total score: {} \n".format(int(strat["total_score"]))) +def discord_payload(strat, lineup): + """ + json formated discord webhook contentent. + """ + gameweeks_as_str = strat["points_per_gw"].keys() + gameweeks_as_int = sorted([int(gw) for gw in gameweeks_as_str]) + discord_embed = { + "title": "AIrsenal webhook", + "description": "Optimum strategy for gameweek(S) "\ + "{}:".format(','.join(str(x) for x in gameweeks_as_int)), + "color": 0x35a800, + "fields": [] + } + for gw in gameweeks_as_int: + discord_embed['fields'].append( + { + "name": "GW{} chips:".format(gw), + "value": "Chips played: {}\n".format(strat["chips_played"][str(gw)]), + "inline": False + } + ) + for i in range(len(strat["players_in"][str(gw)])): + pin = get_player_name(strat["players_in"][str(gw)][i]) + pout = get_player_name(strat["players_out"][str(gw)][i]) + discord_embed['fields'].append( + { + "name": "GW{} transfer {}:".format(gw, i), + "value": "out: {}\nin:{}".format(pin, pout), + "inline": True + } + ) + payload = { + "content": '\n'.join(lineup), + "username": "AIrsenal", + "embeds": [ + discord_embed + ], + } + return payload + + def print_team_for_next_gw(strat, fpl_team_id=None): """ Display the team (inc. subs and captain) for the next gameweek @@ -351,6 +394,7 @@ def print_team_for_next_gw(strat, fpl_team_id=None): tag = get_latest_prediction_tag() t.get_expected_points(next_gw, tag) print(t) + return t def run_optimization( @@ -375,6 +419,7 @@ def run_optimization( is not to be played, 0 for 'play it any week', or the gw in which it should be played. """ + discord_webhook = fetcher.DISCORD_WEBHOOK if fpl_team_id is None: fpl_team_id = fetcher.FPL_TEAM_ID @@ -508,7 +553,47 @@ def update_progress(increment=1, index=None): print("Baseline score: {}".format(baseline_score)) print("Best score: {}".format(best_strategy["total_score"])) print_strat(best_strategy) - print_team_for_next_gw(best_strategy, fpl_team_id) + t = print_team_for_next_gw(best_strategy, fpl_team_id) + + # If a valid discord webhook URL has been stored in env variables, send a webhook message + if discord_webhook != "MISSING_ID": + # Use regex to check the discord webhook url is correctly formatted + if re.match('^.*(discord|discordapp)\.com\/api\/webhooks\/([\d]+)\/([a-zA-Z0-9_-]+)$', discord_webhook): + # create a formatted team lineup message for the discord webhook + lineup_strings = [ + "__Strategy for Team ID: **{}**__".format(fpl_team_id), + "Baseline score: *{}*".format(int(baseline_score)), + "Best score: *{}*".format(int(best_strategy["total_score"])), + "\n__starting 11__", + ] + for position in ["GK", "DEF", "MID", "FWD"]: + lineup_strings.append("== **{}** ==\n```".format(position)) + for p in t.players: + if p.position == position and p.is_starting: + player_line = "{} ({})".format(p.name, p.team) + if p.is_captain: + player_line += "(C)" + elif p.is_vice_captain: + player_line += "(VC)" + lineup_strings.append(player_line) + lineup_strings.append("```\n") + lineup_strings.append("=== **subs** ===") + lineup_strings.append("```") + subs = [p for p in t.players if not p.is_starting] + subs.sort(key=lambda p: p.sub_position) + for p in subs: + lineup_strings.append("{} ({})".format(p.name, p.team)) + lineup_strings.append("```\n") + + # generate a discord embed json and send to webhook + payload = discord_payload(best_strategy, lineup_strings) + result = requests.post(discord_webhook, json=payload) + if 200 <= result.status_code < 300: + print(f"Discord webhook sent, status code: {result.status_code}") + else: + print(f"Not sent with {result.status_code}, response:\n{result.json()}") + else: + print("Warning: Discord webhook url is malformed!\n", discord_webhook) shutil.rmtree(OUTPUT_DIR, ignore_errors=True) return From dd77a0363d2e270f0ef5d3ced6822b61c8f0e6a5 Mon Sep 17 00:00:00 2001 From: tdarnell Date: Wed, 8 Sep 2021 00:41:45 +0100 Subject: [PATCH 38/43] FLAKE8 compliance --- airsenal/framework/data_fetcher.py | 5 +- airsenal/framework/utils.py | 59 ++++++++++++------- .../scripts/fill_transfersuggestion_table.py | 28 +++++---- 3 files changed, 58 insertions(+), 34 deletions(-) diff --git a/airsenal/framework/data_fetcher.py b/airsenal/framework/data_fetcher.py index feef4f57..111e0402 100644 --- a/airsenal/framework/data_fetcher.py +++ b/airsenal/framework/data_fetcher.py @@ -32,7 +32,10 @@ def __init__(self, fpl_team_id=None, rsession=None): self.fpl_league_data = None self.fpl_team_data = {} # players in squad, by gameweek self.fixture_data = None - for ID in ["FPL_LEAGUE_ID", "FPL_TEAM_ID", "FPL_LOGIN", "FPL_PASSWORD", "DISCORD_WEBHOOK"]: + for ID in [ + "FPL_LEAGUE_ID", "FPL_TEAM_ID", "FPL_LOGIN", + "FPL_PASSWORD", "DISCORD_WEBHOOK" + ]: if ID in os.environ.keys(): self.__setattr__(ID, os.environ[ID]) elif os.path.exists( diff --git a/airsenal/framework/utils.py b/airsenal/framework/utils.py index ece7f45d..d0844270 100644 --- a/airsenal/framework/utils.py +++ b/airsenal/framework/utils.py @@ -888,7 +888,8 @@ def get_top_predicted_points( discord_embed = { "title": "AIrsenal webhook", - "description": "PREDICTED TOP {} PLAYERS FOR GAMEWEEK(S) {}:".format(n_players, gameweek), + "description": "PREDICTED TOP {} " + "PLAYERS FOR GAMEWEEK(S) {}:".format(n_players, gameweek), "color": 0x35a800, "fields": [] } @@ -924,16 +925,21 @@ def get_top_predicted_points( p[0].team(season, first_gw), ) ) - - # If a valid discord webhook URL has been stored in env variables, send a webhook message + + # If a valid discord webhook URL has been stored + # in env variables, send a webhook message if discord_webhook != "MISSING_ID": - # Use regex to check the discord webhook url is correctly formatted - if re.match('^.*(discord|discordapp)\.com\/api\/webhooks\/([\d]+)\/([a-zA-Z0-9_-]+)$', discord_webhook): + # Use regex to check the discord webhook url is correctly formatted + if re.match( + '^.*(discord|discordapp)\.com\/api' + '\/webhooks\/([\d]+)\/([a-zA-Z0-9_-]+)$', + discord_webhook + ): # Maximum fields on a discord embed is 25, so limit this to n_players=8 payload = predicted_points_discord_payload( discord_embed=discord_embed, position=position, - pts=pts[:min(n_players,8)], + pts=pts[:min(n_players, 8)], season=season, first_gw=first_gw ) @@ -941,9 +947,9 @@ def get_top_predicted_points( if 200 <= result.status_code < 300: print(f"Discord webhook sent, status code: {result.status_code}") else: - print(f"Not sent with {result.status_code}, response:\n{result.json()}") + print(f"Not sent with {result.status_code}," + "response:\n{result.json()}") else: - #TODO make this so it won't warn if the variable isn't set print("Warning: Discord webhook url is malformed!\n", discord_webhook) else: @@ -975,34 +981,45 @@ def get_top_predicted_points( print("-" * 25) discord_embed['fields'] = [] - # If a valid discord webhook URL has been stored in env variables, send a webhook message + # If a valid discord webhook URL has been stored + # in env variables, send a webhook message if discord_webhook != "MISSING_ID": # Use regex to check the discord webhook url is correctly formatted - if re.match('^.*(discord|discordapp)\.com\/api\/webhooks\/([\d]+)\/([a-zA-Z0-9_-]+)$', discord_webhook): - # create a formatted team lineup message for the discord webhook - # Maximum fields on a discord embed is 25, so limit this to n_players=8 + if re.match( + '^.*(discord|discordapp)\.com\/api' + '\/webhooks\/([\d]+)\/([a-zA-Z0-9_-]+)$', + discord_webhook + ): + # create a formatted team lineup message for the discord webhook + # Maximum fields on a discord embed is 25 + # limit this to n_players=8 payload = predicted_points_discord_payload( discord_embed=discord_embed, position=position, - pts=pts[:min(n_players,8)], + pts=pts[:min(n_players, 8)], season=season, first_gw=first_gw ) result = requests.post(discord_webhook, json=payload) if 200 <= result.status_code < 300: - print(f"Discord webhook sent, status code: {result.status_code}") + print( + f"Discord webhook sent, status code: {result.status_code}" + ) else: - print(f"Not sent with {result.status_code}, response:\n{result.json()}") + print( + f"Not sent with {result.status_code}, " + f"response:\n{result.json()}" + ) else: - #TODO make this so it won't warn if the variable isn't set - print("Warning: Discord webhook url is malformed!\n", discord_webhook) + print("Warning: Discord webhook url is malformed!\n", + discord_webhook) def predicted_points_discord_payload( - discord_embed, - position, - pts, - season, + discord_embed, + position, + pts, + season, first_gw ): """ diff --git a/airsenal/scripts/fill_transfersuggestion_table.py b/airsenal/scripts/fill_transfersuggestion_table.py index a4dc514a..c38627ff 100644 --- a/airsenal/scripts/fill_transfersuggestion_table.py +++ b/airsenal/scripts/fill_transfersuggestion_table.py @@ -346,8 +346,8 @@ def discord_payload(strat, lineup): gameweeks_as_int = sorted([int(gw) for gw in gameweeks_as_str]) discord_embed = { "title": "AIrsenal webhook", - "description": "Optimum strategy for gameweek(S) "\ - "{}:".format(','.join(str(x) for x in gameweeks_as_int)), + "description": "Optimum strategy for gameweek(S)" + " {}:".format(','.join(str(x) for x in gameweeks_as_int)), "color": 0x35a800, "fields": [] } @@ -555,11 +555,15 @@ def update_progress(increment=1, index=None): print_strat(best_strategy) t = print_team_for_next_gw(best_strategy, fpl_team_id) - # If a valid discord webhook URL has been stored in env variables, send a webhook message + # If a valid discord webhook URL has been stored + # in env variables, send a webhook message if discord_webhook != "MISSING_ID": # Use regex to check the discord webhook url is correctly formatted - if re.match('^.*(discord|discordapp)\.com\/api\/webhooks\/([\d]+)\/([a-zA-Z0-9_-]+)$', discord_webhook): - # create a formatted team lineup message for the discord webhook + if re.match( + '^.*(discord|discordapp)\.com\/api\/webhooks\/([\d]+)\/([a-zA-Z0-9_-]+)$', + discord_webhook + ): + # create a formatted team lineup message for the discord webhook lineup_strings = [ "__Strategy for Team ID: **{}**__".format(fpl_team_id), "Baseline score: *{}*".format(int(baseline_score)), @@ -569,13 +573,13 @@ def update_progress(increment=1, index=None): for position in ["GK", "DEF", "MID", "FWD"]: lineup_strings.append("== **{}** ==\n```".format(position)) for p in t.players: - if p.position == position and p.is_starting: - player_line = "{} ({})".format(p.name, p.team) - if p.is_captain: - player_line += "(C)" - elif p.is_vice_captain: - player_line += "(VC)" - lineup_strings.append(player_line) + if p.position == position and p.is_starting: + player_line = "{} ({})".format(p.name, p.team) + if p.is_captain: + player_line += "(C)" + elif p.is_vice_captain: + player_line += "(VC)" + lineup_strings.append(player_line) lineup_strings.append("```\n") lineup_strings.append("=== **subs** ===") lineup_strings.append("```") From 929810bab1bee8f7132910690d9e8a8c4d5f2213 Mon Sep 17 00:00:00 2001 From: tdarnell Date: Wed, 8 Sep 2021 17:55:33 +0100 Subject: [PATCH 39/43] re-formatted transfer embed to be clearer --- .../scripts/fill_transfersuggestion_table.py | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/airsenal/scripts/fill_transfersuggestion_table.py b/airsenal/scripts/fill_transfersuggestion_table.py index c38627ff..d3b1fa3a 100644 --- a/airsenal/scripts/fill_transfersuggestion_table.py +++ b/airsenal/scripts/fill_transfersuggestion_table.py @@ -359,15 +359,21 @@ def discord_payload(strat, lineup): "inline": False } ) - for i in range(len(strat["players_in"][str(gw)])): - pin = get_player_name(strat["players_in"][str(gw)][i]) - pout = get_player_name(strat["players_out"][str(gw)][i]) - discord_embed['fields'].append( + pin = [get_player_name(p) for p in strat["players_in"][str(gw)]] + pout = [get_player_name(p) for p in strat["players_out"][str(gw)]] + discord_embed['fields'].extend( + [ + { + "name": "GW{} transfers out:".format(gw), + "value": "{}".format('\n'.join(pout)), + "inline": True + }, { - "name": "GW{} transfer {}:".format(gw, i), - "value": "out: {}\nin:{}".format(pin, pout), + "name": "GW{} transfers in:".format(gw), + "value": "{}".format('\n'.join(pin)), "inline": True } + ] ) payload = { "content": '\n'.join(lineup), @@ -581,7 +587,7 @@ def update_progress(increment=1, index=None): player_line += "(VC)" lineup_strings.append(player_line) lineup_strings.append("```\n") - lineup_strings.append("=== **subs** ===") + lineup_strings.append("__subs__") lineup_strings.append("```") subs = [p for p in t.players if not p.is_starting] subs.sort(key=lambda p: p.sub_position) From 05190d20133327ea80ccb0249670c6a4659b644e Mon Sep 17 00:00:00 2001 From: tdarnell Date: Wed, 8 Sep 2021 18:12:29 +0100 Subject: [PATCH 40/43] further FLAKE8 compliance --- airsenal/framework/utils.py | 10 +++++----- airsenal/scripts/fill_transfersuggestion_table.py | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/airsenal/framework/utils.py b/airsenal/framework/utils.py index d0844270..a007fcf4 100644 --- a/airsenal/framework/utils.py +++ b/airsenal/framework/utils.py @@ -7,7 +7,7 @@ from datetime import datetime, timezone, date from typing import TypeVar import dateparser -import re +import regex as re from pickle import loads, dumps import requests from sqlalchemy import or_, case, desc @@ -931,8 +931,8 @@ def get_top_predicted_points( if discord_webhook != "MISSING_ID": # Use regex to check the discord webhook url is correctly formatted if re.match( - '^.*(discord|discordapp)\.com\/api' - '\/webhooks\/([\d]+)\/([a-zA-Z0-9_-]+)$', + r'^.*(discord|discordapp)\.com\/api' + r'\/webhooks\/([\d]+)\/([a-zA-Z0-9_-]+)$', discord_webhook ): # Maximum fields on a discord embed is 25, so limit this to n_players=8 @@ -986,8 +986,8 @@ def get_top_predicted_points( if discord_webhook != "MISSING_ID": # Use regex to check the discord webhook url is correctly formatted if re.match( - '^.*(discord|discordapp)\.com\/api' - '\/webhooks\/([\d]+)\/([a-zA-Z0-9_-]+)$', + r'^.*(discord|discordapp)\.com\/api' + r'\/webhooks\/([\d]+)\/([a-zA-Z0-9_-]+)$', discord_webhook ): # create a formatted team lineup message for the discord webhook diff --git a/airsenal/scripts/fill_transfersuggestion_table.py b/airsenal/scripts/fill_transfersuggestion_table.py index d3b1fa3a..e923a417 100644 --- a/airsenal/scripts/fill_transfersuggestion_table.py +++ b/airsenal/scripts/fill_transfersuggestion_table.py @@ -18,7 +18,7 @@ import os -import re +import regex as re import shutil import time import json @@ -566,7 +566,7 @@ def update_progress(increment=1, index=None): if discord_webhook != "MISSING_ID": # Use regex to check the discord webhook url is correctly formatted if re.match( - '^.*(discord|discordapp)\.com\/api\/webhooks\/([\d]+)\/([a-zA-Z0-9_-]+)$', + r'^.*(discord|discordapp)\.com\/api\/webhooks\/([\d]+)\/([a-zA-Z0-9_-]+)$', discord_webhook ): # create a formatted team lineup message for the discord webhook From 881e8c101e14fa98d26d10eb7aa00e245a231629 Mon Sep 17 00:00:00 2001 From: tdarnell Date: Thu, 9 Sep 2021 10:11:37 +0100 Subject: [PATCH 41/43] reformat using black --- airsenal/framework/data_fetcher.py | 7 +- airsenal/framework/utils.py | 92 ++++++++----------- .../scripts/fill_transfersuggestion_table.py | 48 +++++----- 3 files changed, 68 insertions(+), 79 deletions(-) diff --git a/airsenal/framework/data_fetcher.py b/airsenal/framework/data_fetcher.py index 111e0402..062edb78 100644 --- a/airsenal/framework/data_fetcher.py +++ b/airsenal/framework/data_fetcher.py @@ -33,8 +33,11 @@ def __init__(self, fpl_team_id=None, rsession=None): self.fpl_team_data = {} # players in squad, by gameweek self.fixture_data = None for ID in [ - "FPL_LEAGUE_ID", "FPL_TEAM_ID", "FPL_LOGIN", - "FPL_PASSWORD", "DISCORD_WEBHOOK" + "FPL_LEAGUE_ID", + "FPL_TEAM_ID", + "FPL_LOGIN", + "FPL_PASSWORD", + "DISCORD_WEBHOOK", ]: if ID in os.environ.keys(): self.__setattr__(ID, os.environ[ID]) diff --git a/airsenal/framework/utils.py b/airsenal/framework/utils.py index a007fcf4..2f700fd5 100644 --- a/airsenal/framework/utils.py +++ b/airsenal/framework/utils.py @@ -890,8 +890,8 @@ def get_top_predicted_points( "title": "AIrsenal webhook", "description": "PREDICTED TOP {} " "PLAYERS FOR GAMEWEEK(S) {}:".format(n_players, gameweek), - "color": 0x35a800, - "fields": [] + "color": 0x35A800, + "fields": [], } first_gw = gameweek[0] if isinstance(gameweek, (list, tuple)) else gameweek @@ -931,24 +931,26 @@ def get_top_predicted_points( if discord_webhook != "MISSING_ID": # Use regex to check the discord webhook url is correctly formatted if re.match( - r'^.*(discord|discordapp)\.com\/api' - r'\/webhooks\/([\d]+)\/([a-zA-Z0-9_-]+)$', - discord_webhook + r"^.*(discord|discordapp)\.com\/api" + r"\/webhooks\/([\d]+)\/([a-zA-Z0-9_-]+)$", + discord_webhook, ): # Maximum fields on a discord embed is 25, so limit this to n_players=8 payload = predicted_points_discord_payload( - discord_embed=discord_embed, - position=position, - pts=pts[:min(n_players, 8)], - season=season, - first_gw=first_gw - ) + discord_embed=discord_embed, + position=position, + pts=pts[: min(n_players, 8)], + season=season, + first_gw=first_gw, + ) result = requests.post(discord_webhook, json=payload) if 200 <= result.status_code < 300: print(f"Discord webhook sent, status code: {result.status_code}") else: - print(f"Not sent with {result.status_code}," - "response:\n{result.json()}") + print( + f"Not sent with {result.status_code}," + "response:\n{result.json()}" + ) else: print("Warning: Discord webhook url is malformed!\n", discord_webhook) @@ -980,75 +982,63 @@ def get_top_predicted_points( ) print("-" * 25) - discord_embed['fields'] = [] + discord_embed["fields"] = [] # If a valid discord webhook URL has been stored # in env variables, send a webhook message if discord_webhook != "MISSING_ID": # Use regex to check the discord webhook url is correctly formatted if re.match( - r'^.*(discord|discordapp)\.com\/api' - r'\/webhooks\/([\d]+)\/([a-zA-Z0-9_-]+)$', - discord_webhook + r"^.*(discord|discordapp)\.com\/api" + r"\/webhooks\/([\d]+)\/([a-zA-Z0-9_-]+)$", + discord_webhook, ): # create a formatted team lineup message for the discord webhook # Maximum fields on a discord embed is 25 # limit this to n_players=8 payload = predicted_points_discord_payload( - discord_embed=discord_embed, - position=position, - pts=pts[:min(n_players, 8)], - season=season, - first_gw=first_gw - ) + discord_embed=discord_embed, + position=position, + pts=pts[: min(n_players, 8)], + season=season, + first_gw=first_gw, + ) result = requests.post(discord_webhook, json=payload) if 200 <= result.status_code < 300: print( f"Discord webhook sent, status code: {result.status_code}" - ) + ) else: print( f"Not sent with {result.status_code}, " f"response:\n{result.json()}" - ) + ) else: - print("Warning: Discord webhook url is malformed!\n", - discord_webhook) + print( + "Warning: Discord webhook url is malformed!\n", discord_webhook + ) -def predicted_points_discord_payload( - discord_embed, - position, - pts, - season, - first_gw -): +def predicted_points_discord_payload(discord_embed, position, pts, season, first_gw): """ json formated discord webhook contentent. """ - discord_embed['fields'].append( - { - "name": 'Position', - "value": str(position), - "inline": False - } + discord_embed["fields"].append( + {"name": "Position", "value": str(position), "inline": False} ) for i, p in enumerate(pts): - discord_embed['fields'].extend( + discord_embed["fields"].extend( [ { "name": "Player", - "value": "{}. {}".format( - i + 1, - p[0].name - ), - "inline": True + "value": "{}. {}".format(i + 1, p[0].name), + "inline": True, }, { "name": "Predicted points", "value": "{:.2f}pts".format( p[1], ), - "inline": True + "inline": True, }, { "name": "Attributes", @@ -1057,16 +1047,14 @@ def predicted_points_discord_payload( p[0].position(season), p[0].team(season, first_gw), ), - "inline": True - } + "inline": True, + }, ] ) payload = { "content": "", "username": "AIrsenal", - "embeds": [ - discord_embed - ], + "embeds": [discord_embed], } return payload diff --git a/airsenal/scripts/fill_transfersuggestion_table.py b/airsenal/scripts/fill_transfersuggestion_table.py index e923a417..fad86134 100644 --- a/airsenal/scripts/fill_transfersuggestion_table.py +++ b/airsenal/scripts/fill_transfersuggestion_table.py @@ -347,40 +347,38 @@ def discord_payload(strat, lineup): discord_embed = { "title": "AIrsenal webhook", "description": "Optimum strategy for gameweek(S)" - " {}:".format(','.join(str(x) for x in gameweeks_as_int)), - "color": 0x35a800, - "fields": [] + " {}:".format(",".join(str(x) for x in gameweeks_as_int)), + "color": 0x35A800, + "fields": [], } for gw in gameweeks_as_int: - discord_embed['fields'].append( + discord_embed["fields"].append( { "name": "GW{} chips:".format(gw), "value": "Chips played: {}\n".format(strat["chips_played"][str(gw)]), - "inline": False + "inline": False, } ) pin = [get_player_name(p) for p in strat["players_in"][str(gw)]] pout = [get_player_name(p) for p in strat["players_out"][str(gw)]] - discord_embed['fields'].extend( - [ - { - "name": "GW{} transfers out:".format(gw), - "value": "{}".format('\n'.join(pout)), - "inline": True - }, - { - "name": "GW{} transfers in:".format(gw), - "value": "{}".format('\n'.join(pin)), - "inline": True - } - ] - ) + discord_embed["fields"].extend( + [ + { + "name": "GW{} transfers out:".format(gw), + "value": "{}".format("\n".join(pout)), + "inline": True, + }, + { + "name": "GW{} transfers in:".format(gw), + "value": "{}".format("\n".join(pin)), + "inline": True, + }, + ] + ) payload = { - "content": '\n'.join(lineup), + "content": "\n".join(lineup), "username": "AIrsenal", - "embeds": [ - discord_embed - ], + "embeds": [discord_embed], } return payload @@ -566,8 +564,8 @@ def update_progress(increment=1, index=None): if discord_webhook != "MISSING_ID": # Use regex to check the discord webhook url is correctly formatted if re.match( - r'^.*(discord|discordapp)\.com\/api\/webhooks\/([\d]+)\/([a-zA-Z0-9_-]+)$', - discord_webhook + r"^.*(discord|discordapp)\.com\/api\/webhooks\/([\d]+)\/([a-zA-Z0-9_-]+)$", + discord_webhook, ): # create a formatted team lineup message for the discord webhook lineup_strings = [ From 2b882087335a263d4e1887db26b09a6747dea376 Mon Sep 17 00:00:00 2001 From: Jack Roberts Date: Thu, 16 Sep 2021 15:52:20 +0100 Subject: [PATCH 42/43] Add season as an attribute of the Squad class (#354) * add season as an argument in many places (rather than CURRENT_SEASON) * define season as an attribute in the Squad and CandidatePlayer classes and remove it as an argument in functions like Squad.add_player, which now use the class attribute instead --- airsenal/framework/optimization_pygmo.py | 12 ++- airsenal/framework/optimization_squad.py | 12 ++- airsenal/framework/optimization_transfers.py | 30 ++----- airsenal/framework/optimization_utils.py | 11 ++- airsenal/framework/player.py | 3 +- airsenal/framework/squad.py | 13 ++- airsenal/framework/utils.py | 10 ++- .../scripts/fill_transfersuggestion_table.py | 4 +- airsenal/scripts/squad_builder.py | 20 ++++- airsenal/tests/test_squad.py | 82 +++++++++---------- 10 files changed, 101 insertions(+), 96 deletions(-) diff --git a/airsenal/framework/optimization_pygmo.py b/airsenal/framework/optimization_pygmo.py index e07d3003..8e0205f0 100644 --- a/airsenal/framework/optimization_pygmo.py +++ b/airsenal/framework/optimization_pygmo.py @@ -127,11 +127,10 @@ def fitness(self, player_ids): - weghted sum of gameweek points otherwise """ # Make squad from player IDs - squad = Squad(budget=self.budget) + squad = Squad(budget=self.budget, season=self.season) for idx in player_ids: add_ok = squad.add_player( self.players[int(idx)].player_id, - season=self.season, gameweek=self.start_gw, ) if not add_ok: @@ -351,18 +350,17 @@ def make_new_squad_pygmo( print("Best score:", -pop.champion_f[0], "pts") # construct optimal squad - squad = Squad(budget=opt_squad.budget) + squad = Squad(budget=opt_squad.budget, season=season) for idx in pop.champion_x: if verbose > 0: print( - opt_squad.players[int(idx)].position(CURRENT_SEASON), + opt_squad.players[int(idx)].position(season), opt_squad.players[int(idx)].name, - opt_squad.players[int(idx)].team(CURRENT_SEASON, 1), - opt_squad.players[int(idx)].price(CURRENT_SEASON, 1) / 10, + opt_squad.players[int(idx)].team(season, 1), + opt_squad.players[int(idx)].price(season, 1) / 10, ) squad.add_player( opt_squad.players[int(idx)].player_id, - season=opt_squad.season, gameweek=opt_squad.start_gw, ) diff --git a/airsenal/framework/optimization_squad.py b/airsenal/framework/optimization_squad.py index 70796edd..d6d5d110 100644 --- a/airsenal/framework/optimization_squad.py +++ b/airsenal/framework/optimization_squad.py @@ -87,14 +87,14 @@ def make_new_squad_iter( # this was passed as a tuple (func, increment, pid) update_func_and_args[0](update_func_and_args[1], update_func_and_args[2]) predicted_points = {} - t = Squad(budget) + t = Squad(budget, season=season) # first iteration - fill up from the front for pos in positions: predicted_points[pos] = get_predicted_points( gameweek=gw_range, position=pos, tag=tag, season=season ) for pp in predicted_points[pos]: - t.add_player(pp[0], season=season, gameweek=transfer_gw) + t.add_player(pp[0], gameweek=transfer_gw) if t.num_position[pos] == TOTAL_PER_POSITION[pos]: break @@ -105,9 +105,7 @@ def make_new_squad_iter( # same position player_to_remove = t.players[random.randint(0, len(t.players) - 1)] remove_cost = player_to_remove.purchase_price - t.remove_player( - player_to_remove.player_id, season=season, gameweek=transfer_gw - ) + t.remove_player(player_to_remove.player_id, gameweek=transfer_gw) excluded_player_ids.append(player_to_remove.player_id) for pp in predicted_points[player_to_remove.position]: if ( @@ -117,7 +115,7 @@ def make_new_squad_iter( if cp.purchase_price >= remove_cost: continue else: - t.add_player(pp[0], season=season, gameweek=transfer_gw) + t.add_player(pp[0], gameweek=transfer_gw) # now try again to fill up the rest of the squad for pos in positions: num_missing = TOTAL_PER_POSITION[pos] - t.num_position[pos] @@ -126,7 +124,7 @@ def make_new_squad_iter( for pp in predicted_points[pos]: if pp[0] in excluded_player_ids: continue - t.add_player(pp[0], season=season, gameweek=transfer_gw) + t.add_player(pp[0], gameweek=transfer_gw) if t.num_position[pos] == TOTAL_PER_POSITION[pos]: break # we have a complete squad diff --git a/airsenal/framework/optimization_transfers.py b/airsenal/framework/optimization_transfers.py index 5244b44d..d46e3eea 100644 --- a/airsenal/framework/optimization_transfers.py +++ b/airsenal/framework/optimization_transfers.py @@ -58,13 +58,11 @@ def make_optimum_single_transfer( position = p_out.position if verbose: print("Removing player {}".format(p_out.player_id)) - new_squad.remove_player(p_out.player_id, season=season, gameweek=transfer_gw) + new_squad.remove_player(p_out.player_id, gameweek=transfer_gw) for p_in in ordered_player_lists[position]: if p_in[0].player_id == p_out.player_id: continue # no point in adding the same player back in - added_ok = new_squad.add_player( - p_in[0], season=season, gameweek=transfer_gw - ) + added_ok = new_squad.add_player(p_in[0], gameweek=transfer_gw) if added_ok: if verbose: print("Added player {}".format(p_in[0].name)) @@ -127,9 +125,7 @@ def make_optimum_double_transfer( pout_1 = squad.players[i] new_squad_remove_1 = fastcopy(squad) - new_squad_remove_1.remove_player( - pout_1.player_id, season=season, gameweek=transfer_gw - ) + new_squad_remove_1.remove_player(pout_1.player_id, gameweek=transfer_gw) for j in range(i + 1, len(squad.players)): if update_func_and_args: # call function to update progress bar. @@ -140,9 +136,7 @@ def make_optimum_double_transfer( pout_2 = squad.players[j] new_squad_remove_2 = fastcopy(new_squad_remove_1) - new_squad_remove_2.remove_player( - pout_2.player_id, season=season, gameweek=transfer_gw - ) + new_squad_remove_2.remove_player(pout_2.player_id, gameweek=transfer_gw) if verbose: print("Removing players {} {}".format(i, j)) # what positions do we need to fill? @@ -153,9 +147,7 @@ def make_optimum_double_transfer( if pin_1[0].player_id in [pout_1.player_id, pout_2.player_id]: continue # no point in adding same player back in new_squad_add_1 = fastcopy(new_squad_remove_2) - added_1_ok = new_squad_add_1.add_player( - pin_1[0], season=season, gameweek=transfer_gw - ) + added_1_ok = new_squad_add_1.add_player(pin_1[0], gameweek=transfer_gw) if not added_1_ok: continue for pin_2 in ordered_player_lists[positions_needed[1]]: @@ -167,7 +159,7 @@ def make_optimum_double_transfer( ): continue # no point in adding same player back in added_2_ok = new_squad_add_2.add_player( - pin_2[0], season=season, gameweek=transfer_gw + pin_2[0], gameweek=transfer_gw ) if added_2_ok: # calculate the score @@ -248,9 +240,7 @@ def make_random_transfers( for p in players_to_remove: positions_needed.append(squad.players[p].position) removed_players.append(squad.players[p].player_id) - new_squad.remove_player( - removed_players[-1], season=season, gameweek=transfer_gw - ) + new_squad.remove_player(removed_players[-1], gameweek=transfer_gw) predicted_points = { pos: get_predicted_points(position=pos, gameweek=gw_range, tag=tag) for pos in set(positions_needed) @@ -265,9 +255,7 @@ def make_random_transfers( for pos in positions_needed: index = int(random.triangular(0, len(predicted_points[pos]), 0)) pid_to_add = predicted_points[pos][index][0] - added_ok = new_squad.add_player( - pid_to_add, season=season, gameweek=transfer_gw - ) + added_ok = new_squad.add_player(pid_to_add, gameweek=transfer_gw) if added_ok: added_players.append(pid_to_add) complete_squad = new_squad.is_complete() @@ -280,7 +268,7 @@ def make_random_transfers( # take those players out again. for ap in added_players: removed_ok = new_squad.remove_player( - ap.player_id, season=season, gameweek=transfer_gw + ap.player_id, gameweek=transfer_gw ) if not removed_ok: print("Problem removing {}".format(ap.name)) diff --git a/airsenal/framework/optimization_utils.py b/airsenal/framework/optimization_utils.py index 6de79d0c..751c74d4 100644 --- a/airsenal/framework/optimization_utils.py +++ b/airsenal/framework/optimization_utils.py @@ -94,19 +94,17 @@ def get_starting_squad(fpl_team_id=None, use_api=False, apifetcher=None): """ use the transactions table in the db, or the API if requested """ - s = Squad() - if use_api: if not fpl_team_id: raise RuntimeError( "Please specify fpl_team_id to get current squad from API" ) players_prices = get_current_squad_from_api(fpl_team_id, apifetcher=apifetcher) + s = Squad(season=CURRENT_SEASON) for pp in players_prices: s.add_player( pp[0], price=pp[1], - season=CURRENT_SEASON, gameweek=NEXT_GAMEWEEK - 1, check_budget=False, check_team=False, @@ -122,6 +120,8 @@ def get_starting_squad(fpl_team_id=None, use_api=False, apifetcher=None): .filter_by(free_hit=0) .first() ) + if most_recent is None: + raise ValueError("No transactions in database.") fpl_team_id = most_recent.fpl_team_id print("Getting starting squad for {}".format(fpl_team_id)) @@ -134,6 +134,10 @@ def get_starting_squad(fpl_team_id=None, use_api=False, apifetcher=None): .filter_by(free_hit=0) .all() ) + if len(transactions) == 0: + raise ValueError(f"No transactions in database for team ID {fpl_team_id}") + + s = Squad(season=transactions[0].season) for trans in transactions: if trans.bought_or_sold == -1: s.remove_player(trans.player_id, price=trans.price) @@ -143,7 +147,6 @@ def get_starting_squad(fpl_team_id=None, use_api=False, apifetcher=None): s.add_player( trans.player_id, price=trans.price, - season=trans.season, gameweek=trans.gameweek, check_budget=False, check_team=False, diff --git a/airsenal/framework/player.py b/airsenal/framework/player.py index 5827944d..37acc62d 100644 --- a/airsenal/framework/player.py +++ b/airsenal/framework/player.py @@ -29,6 +29,7 @@ def __init__( pdata = get_player(player, self.dbsession) self.player_id = pdata.player_id self.name = pdata.name + self.season = season self.team = pdata.team(season, gameweek) self.position = pdata.position(season) self.purchase_price = pdata.price(season, gameweek) @@ -48,7 +49,7 @@ def calc_predicted_points(self, method): """ if method not in self.predicted_points.keys(): self.predicted_points[method] = get_predicted_points_for_player( - self.player_id, method, dbsession=self.dbsession + self.player_id, method, season=self.season, dbsession=self.dbsession ) def get_predicted_points(self, gameweek, method): diff --git a/airsenal/framework/squad.py b/airsenal/framework/squad.py index 07770ed8..7eb0f875 100644 --- a/airsenal/framework/squad.py +++ b/airsenal/framework/squad.py @@ -31,13 +31,14 @@ class Squad(object): Squad class. Contains 15 players """ - def __init__(self, budget=1000): + def __init__(self, budget=1000, season=CURRENT_SEASON): """ constructor - start with an initial empty player list, and £100M """ self.players = [] self.budget = budget + self.season = season self.num_position = {"GK": 0, "DEF": 0, "MID": 0, "FWD": 0} self.free_subs = 0 self.subs_this_week = 0 @@ -77,7 +78,6 @@ def add_player( self, p, price=None, - season=CURRENT_SEASON, gameweek=NEXT_GAMEWEEK, check_budget=True, check_team=True, @@ -90,7 +90,7 @@ def add_player( with that value. """ if isinstance(p, (int, str, Player)): - player = CandidatePlayer(p, season, gameweek, dbsession=dbsession) + player = CandidatePlayer(p, self.season, gameweek, dbsession=dbsession) else: # already a CandidatePlayer (or an equivalent test class) player = p # set the price if one was specified. @@ -130,7 +130,6 @@ def remove_player( self, player_id, price=None, - season=CURRENT_SEASON, gameweek=NEXT_GAMEWEEK, use_api=False, dbsession=None, @@ -150,7 +149,6 @@ def remove_player( self.budget += self.get_sell_price_for_player( p, use_api=use_api, - season=season, gameweek=gameweek, dbsession=dbsession, ) @@ -163,7 +161,6 @@ def get_sell_price_for_player( self, player, use_api=False, - season=CURRENT_SEASON, gameweek=NEXT_GAMEWEEK, dbsession=None, apifetcher=fetcher, @@ -174,7 +171,7 @@ def get_sell_price_for_player( player_id = player.player_id price_now = None - if use_api and season == CURRENT_SEASON and gameweek >= NEXT_GAMEWEEK: + if use_api and self.season == CURRENT_SEASON and gameweek >= NEXT_GAMEWEEK: try: # first try getting the price for the player from the API player_db = get_player(player_id) @@ -196,7 +193,7 @@ def get_sell_price_for_player( player_db = get_player(player_id, dbsession=dbsession) if player_db: - price_now = player_db.price(season, gameweek) + price_now = player_db.price(self.season, gameweek) if not price_now: # if all else fails just use the purchase price as the sale # price for this player. diff --git a/airsenal/framework/utils.py b/airsenal/framework/utils.py index 2f700fd5..665055bb 100644 --- a/airsenal/framework/utils.py +++ b/airsenal/framework/utils.py @@ -823,9 +823,10 @@ def get_predicted_points( "gameweek" argument can either be a single integer for one gameweek, or a list of gameweeks, in which case we will get the sum over all of them """ - players = list_players(position, team, season=season, dbsession=dbsession) - if isinstance(gameweek, int): # predictions for a single gameweek + players = list_players( + position, team, season=season, gameweek=gameweek, dbsession=dbsession + ) output_list = [ ( p, @@ -836,6 +837,9 @@ def get_predicted_points( for p in players ] else: # predictions for a list of gameweeks + players = list_players( + position, team, season=season, gameweek=gameweek[0], dbsession=dbsession + ) output_list = [ ( p, @@ -848,7 +852,6 @@ def get_predicted_points( ) for p in players ] - output_list.sort(key=itemgetter(1), reverse=True) return output_list @@ -908,7 +911,6 @@ def get_top_predicted_points( season=season, dbsession=dbsession, ) - if max_price is not None: pts = [p for p in pts if p[0].price(season, first_gw) <= max_price] diff --git a/airsenal/scripts/fill_transfersuggestion_table.py b/airsenal/scripts/fill_transfersuggestion_table.py index fad86134..85548872 100644 --- a/airsenal/scripts/fill_transfersuggestion_table.py +++ b/airsenal/scripts/fill_transfersuggestion_table.py @@ -750,7 +750,7 @@ def main(): num_free_transfers = args.num_free_transfers else: num_free_transfers = None # will work it out in run_optimization - tag = args.tag or get_latest_prediction_tag() + tag = args.tag or get_latest_prediction_tag(season=season) max_total_hit = args.max_hit allow_unused_transfers = args.allow_unused num_thread = args.num_thread @@ -762,7 +762,7 @@ def main(): "bench_boost": args.bench_boost_week, } - if not check_tag_valid(tag, gameweeks, season=CURRENT_SEASON): + if not check_tag_valid(tag, gameweeks, season=season): print( "ERROR: Database does not contain predictions", "for all the specified optimsation gameweeks.\n", diff --git a/airsenal/scripts/squad_builder.py b/airsenal/scripts/squad_builder.py index 40734cc0..cc9c1a4f 100644 --- a/airsenal/scripts/squad_builder.py +++ b/airsenal/scripts/squad_builder.py @@ -1,15 +1,19 @@ #!/usr/bin/env python import argparse +import sys from airsenal.framework.utils import ( NEXT_GAMEWEEK, get_latest_prediction_tag, fetcher, ) +from airsenal.framework.optimization_utils import ( + check_tag_valid, + fill_initial_suggestion_table, +) from airsenal.framework.season import get_current_season from airsenal.framework.optimization_squad import make_new_squad -from airsenal.framework.optimization_utils import fill_initial_suggestion_table positions = ["FWD", "MID", "DEF", "GK"] # front-to-back @@ -77,6 +81,14 @@ def main(): gw_start = args.gw_start or NEXT_GAMEWEEK gw_range = list(range(gw_start, min(38, gw_start + args.num_gw))) tag = get_latest_prediction_tag(season) + if not check_tag_valid(tag, gw_range, season=season): + print( + "ERROR: Database does not contain predictions", + "for all the specified optimsation gameweeks.\n", + "Please run 'airsenal_run_prediction' first with the", + "same input gameweeks and season you specified here.", + ) + sys.exit(1) algorithm = args.algorithm num_iterations = args.num_iterations num_generations = args.num_generations @@ -113,6 +125,12 @@ def main(): num_iterations=num_iterations, verbose=verbose, ) + if best_squad is None: + raise RuntimeError( + "best_squad is None: make_new_squad failed to generate a valid team or " + "something went wrong with the squad expected points calculation." + ) + points = best_squad.get_expected_points(gw_start, tag) print("---------------------") print("Best expected points for gameweek {}: {}".format(gw_start, points)) diff --git a/airsenal/tests/test_squad.py b/airsenal/tests/test_squad.py index a786ab27..4638f4ad 100644 --- a/airsenal/tests/test_squad.py +++ b/airsenal/tests/test_squad.py @@ -17,8 +17,8 @@ def test_add_player_by_id(fill_players): Should be able to add a player with integer argument """ with test_session_scope() as ts: - t = Squad() - added_ok = t.add_player(50, season=TEST_SEASON, dbsession=ts) + t = Squad(season=TEST_SEASON) + added_ok = t.add_player(50, dbsession=ts) assert added_ok @@ -27,8 +27,8 @@ def test_add_player_by_name(fill_players): Should be able to add a player with string argument """ with test_session_scope() as ts: - t = Squad() - added_ok = t.add_player("Alice", season=TEST_SEASON, dbsession=ts) + t = Squad(season=TEST_SEASON) + added_ok = t.add_player("Alice", dbsession=ts) assert added_ok @@ -37,10 +37,10 @@ def test_cant_add_same_player(fill_players): can't add a player thats already on the squad. """ with test_session_scope() as ts: - t = Squad() - added_ok = t.add_player(1, season=TEST_SEASON, dbsession=ts) + t = Squad(season=TEST_SEASON) + added_ok = t.add_player(1, dbsession=ts) assert added_ok - added_ok = t.add_player(1, season=TEST_SEASON, dbsession=ts) + added_ok = t.add_player(1, dbsession=ts) assert not added_ok @@ -49,18 +49,18 @@ def test_cant_add_too_many_per_position(fill_players): no more than two keepers, 5 defenders, 5 midfielders, 3 forwards. """ with test_session_scope() as ts: - t = Squad() + t = Squad(season=TEST_SEASON) # keepers - assert t.add_player("Alice", season=TEST_SEASON, dbsession=ts) - assert t.add_player("Bob", season=TEST_SEASON, dbsession=ts) - assert not t.add_player("Pedro", season=TEST_SEASON, dbsession=ts) + assert t.add_player("Alice", dbsession=ts) + assert t.add_player("Bob", dbsession=ts) + assert not t.add_player("Pedro", dbsession=ts) # defenders - assert t.add_player("Carla", season=TEST_SEASON, dbsession=ts) - assert t.add_player("Donald", season=TEST_SEASON, dbsession=ts) - assert t.add_player("Erica", season=TEST_SEASON, dbsession=ts) - assert t.add_player("Frank", season=TEST_SEASON, dbsession=ts) - assert t.add_player("Gerry", season=TEST_SEASON, dbsession=ts) - assert not t.add_player("Stefan", season=TEST_SEASON, dbsession=ts) + assert t.add_player("Carla", dbsession=ts) + assert t.add_player("Donald", dbsession=ts) + assert t.add_player("Erica", dbsession=ts) + assert t.add_player("Frank", dbsession=ts) + assert t.add_player("Gerry", dbsession=ts) + assert not t.add_player("Stefan", dbsession=ts) def test_cant_add_too_many_per_squad(fill_players): @@ -68,11 +68,11 @@ def test_cant_add_too_many_per_squad(fill_players): no more than three from the same squad. """ with test_session_scope() as ts: - t = Squad() - assert t.add_player(1, season=TEST_SEASON, dbsession=ts) - assert t.add_player(21, season=TEST_SEASON, dbsession=ts) - assert t.add_player(41, season=TEST_SEASON, dbsession=ts) - assert not t.add_player(61, season=TEST_SEASON, dbsession=ts) + t = Squad(season=TEST_SEASON) + assert t.add_player(1, dbsession=ts) + assert t.add_player(21, dbsession=ts) + assert t.add_player(41, dbsession=ts) + assert not t.add_player(61, dbsession=ts) def test_cant_exceed_budget(): @@ -80,23 +80,23 @@ def test_cant_exceed_budget(): try and make an expensive squad """ with test_session_scope() as ts: - t = Squad() + t = Squad(season=TEST_SEASON) added_ok = True - added_ok = added_ok and t.add_player(45, season=TEST_SEASON, dbsession=ts) - added_ok = added_ok and t.add_player(46, season=TEST_SEASON, dbsession=ts) - added_ok = added_ok and t.add_player(47, season=TEST_SEASON, dbsession=ts) - added_ok = added_ok and t.add_player(48, season=TEST_SEASON, dbsession=ts) - added_ok = added_ok and t.add_player(49, season=TEST_SEASON, dbsession=ts) - added_ok = added_ok and t.add_player(50, season=TEST_SEASON, dbsession=ts) - added_ok = added_ok and t.add_player(51, season=TEST_SEASON, dbsession=ts) - added_ok = added_ok and t.add_player(52, season=TEST_SEASON, dbsession=ts) - added_ok = added_ok and t.add_player(53, season=TEST_SEASON, dbsession=ts) - added_ok = added_ok and t.add_player(54, season=TEST_SEASON, dbsession=ts) - added_ok = added_ok and t.add_player(55, season=TEST_SEASON, dbsession=ts) - added_ok = added_ok and t.add_player(56, season=TEST_SEASON, dbsession=ts) - added_ok = added_ok and t.add_player(57, season=TEST_SEASON, dbsession=ts) - added_ok = added_ok and t.add_player(58, season=TEST_SEASON, dbsession=ts) - added_ok = added_ok and t.add_player(59, season=TEST_SEASON, dbsession=ts) + added_ok = added_ok and t.add_player(45, dbsession=ts) + added_ok = added_ok and t.add_player(46, dbsession=ts) + added_ok = added_ok and t.add_player(47, dbsession=ts) + added_ok = added_ok and t.add_player(48, dbsession=ts) + added_ok = added_ok and t.add_player(49, dbsession=ts) + added_ok = added_ok and t.add_player(50, dbsession=ts) + added_ok = added_ok and t.add_player(51, dbsession=ts) + added_ok = added_ok and t.add_player(52, dbsession=ts) + added_ok = added_ok and t.add_player(53, dbsession=ts) + added_ok = added_ok and t.add_player(54, dbsession=ts) + added_ok = added_ok and t.add_player(55, dbsession=ts) + added_ok = added_ok and t.add_player(56, dbsession=ts) + added_ok = added_ok and t.add_player(57, dbsession=ts) + added_ok = added_ok and t.add_player(58, dbsession=ts) + added_ok = added_ok and t.add_player(59, dbsession=ts) assert not added_ok @@ -105,11 +105,11 @@ def test_remove_player(fill_players): add a player then remove them. """ with test_session_scope() as ts: - t = Squad() - t.add_player(1, season=TEST_SEASON, dbsession=ts) + t = Squad(season=TEST_SEASON) + t.add_player(1, dbsession=ts) assert len(t.players) == 1 assert t.num_position["GK"] == 1 - t.remove_player(1, season=TEST_SEASON, use_api=False, dbsession=ts) + t.remove_player(1, use_api=False, dbsession=ts) assert len(t.players) == 0 assert t.num_position["GK"] == 0 assert t.budget == 1000 From f602d40a7db3ad0b9dc32fbcd7dffe04c346a843 Mon Sep 17 00:00:00 2001 From: jack89roberts Date: Fri, 17 Sep 2021 16:16:29 +0100 Subject: [PATCH 43/43] bump version to v1.1.0 --- airsenal/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/airsenal/__init__.py b/airsenal/__init__.py index 5831c712..aafec1f5 100644 --- a/airsenal/__init__.py +++ b/airsenal/__init__.py @@ -6,7 +6,7 @@ import tempfile # AIrsenal package version. -__version__ = "1.0.0" +__version__ = "1.1.0" # Cross-platform temporary directory TMPDIR = "/tmp/" if os.name == "posix" else tempfile.gettempdir()