Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
mathisdrn committed Apr 10, 2024
2 parents eaaf88f + 3fd847d commit f609aa4
Show file tree
Hide file tree
Showing 5 changed files with 37 additions and 37 deletions.
24 changes: 12 additions & 12 deletions Paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -265,9 +265,9 @@ Loss Ratio of Clubs versus Number of Head Coaches Appointed by Club
:::

Ainsi, nous observons :
- [({number})](#club_win_vs_cc) une corrélation négative modérée ($r = −0.27$) statistiquement significative ($p = 0.03$) entre le nombre d'entraîneurs nommés par le club et son ratio de victoires.
- [({number})](#club_draw_vs_cc) une corrélation positive modérée ($r = 0.25$) statistiquement significative ($p = 0.04$) entre le nombre d'entraîneurs nommés par le club et son ratio de matchs nuls.
- [({number})](#club_loss_vs_cc) une corrélation positive faible ($r = 0.24$) statistiquement significative ($p = 0.05$) entre le nombre d'entraîneurs nommés par le club et son ratio de défaites.
- [({number})](#club_win_vs_cc) une corrélation négative modérée ($r = −0.33$) statistiquement significative ($p = 0.01$) entre le nombre d'entraîneurs nommés par le club et son ratio de victoires.
- [({number})](#club_draw_vs_cc) une corrélation positive modérée ($r = 0.35$) statistiquement significative ($p = 0.00$) entre le nombre d'entraîneurs nommés par le club et son ratio de matchs nuls.
- [({number})](#club_loss_vs_cc) une corrélation positive faible ($r = 0.28$) statistiquement significative ($p = 0.03$) entre le nombre d'entraîneurs nommés par le club et son ratio de défaites.

Ces résultats suggèrent que le renouvellement régulier des entraîneurs a un impact négatif sur les performances des équipes.
Cela pourrait s'expliquer par le fait que les entraîneurs ont besoin de temps pour s'adapter à leur nouvel environnement et pour mettre en place leur stratégie de jeu. De plus, les entraîneurs qui restent plus longtemps à la tête de l'équipe ont tendance à mieux connaître les joueurs et à mieux comprendre les forces et les faiblesses de l'équipe, ce qui peut contribuer à améliorer les performances de l'équipe.
Expand Down Expand Up @@ -302,7 +302,7 @@ Head Coach Appointment Performance versus Appointment Count

La [](#hc_results_over_appointment_count) s'intéresse aux pourcentage de victoires, de matchs nuls et de défaites des mandats individuel des entraîneurs par rapport au nombre de clubs pour lesquel ils ont travaillés durant la saison 2017 - 2022. Ces graphiques permettent de visualiser la relation entre l'expérience acquise par l'entraîneur et l'impact sur la performance de leurs équipes.

Nous observons qu'il n'existe pas de corrélation entre le nombre de clubs pour lesquels un entraîneur a travaillé et son pourcentage de victoires ($p = 0.27$), de matchs nuls ($p = 0.37$) ou de défaites ($p = 0.49$). Cela suggère que l'expérience acquise par l'entraîneur en travaillant pour plusieurs clubs n'a pas d'impact statistiquement observable sur la performance de l'équipe.
Nous observons qu'il n'existe pas de corrélation entre le nombre de clubs pour lesquels un entraîneur a travaillé et son pourcentage de victoires ($p = 0.48$), de matchs nuls ($p = 0.09$) ou de défaites ($p = 0.07$). Cela suggère que l'expérience acquise par l'entraîneur en travaillant pour plusieurs clubs n'a pas d'impact statistiquement observable sur la performance de l'équipe.

La [](#hc_results_over_club_count) suivante diffère quant à elle car elle s'intéresse à la performance agrégé des entraîneurs par rapport au nombre total de club pour lesquels ils ont travaillés durant la saison 2017 - 2022.

Expand All @@ -323,9 +323,9 @@ Performance of Head Coaches versus Number of Clubs Appointments
:::

Ces graphiques permettent de visualiser la relation entre la mobilité des entraîneurs par rapport à la performance de leurs équipes. Ainsi, nous observons :
- [({number})](#hc_win_vs_cc) une corrélation positive faible ($r = 0.19$) statistiquement significative ($p = 0.01$) entre le nombre de clubs entraînés par le coach et son ratio de victoires.
- [({number})](#hc_draw_vs_cc) une corrélation négative faible ($r = -0.09$) mais statistiquement non significative ($p = 0.25$) entre le nombre de clubs entraînés par le coach et son ratio de matchs nuls.
- [({number})](#hc_loss_vs_cc) une corrélation négative faible ($r = -0.18$) statistiquement significative ($p = 0.02$) entre le nombre de clubs entraînés par le coach et son ratio de défaites.
- [({number})](#hc_win_vs_cc) une corrélation positive faible ($r = 0.23$) statistiquement significative ($p = 0.00$) entre le nombre de clubs entraînés par le coach et son ratio de victoires.
- [({number})](#hc_draw_vs_cc) une corrélation positive très faible ($r = 0.01$) mais statistiquement non significative ($p = 0.89$) entre le nombre de clubs entraînés par le coach et son ratio de matchs nuls.
- [({number})](#hc_loss_vs_cc) une corrélation négative faible ($r = -0.25$) statistiquement significative ($p = 0.00$) entre le nombre de clubs entraînés par le coach et son ratio de défaites.

Ces graphiques ne suggèrent pas que le nombre de clubs pour lesquels un entraîneur a travaillé a un impact positif sur la performance des équipes qu'il entraîne car l'on a précédemment montré avec la [](#hc_results_over_appointment_count) qu'il n'existait pas de corrélation statistiquement significative. Cependant, ce graphique suggère que les entraîneurs qui ont montré une performance supérieure à celle de leurs pairs ont tendance à travailler pour un plus grand nombre de clubs.

Expand Down Expand Up @@ -370,12 +370,12 @@ Loss Ratio of Head Coaches Appointments versus Head Coach Tenure
:::

Les [](#hc_win_vs_tenure) et [](#hc_draw_vs_tenure) et [](#hc_loss_vs_tenure) s'intéressent aux différents ratios de victoires, de matchs nuls et de défaites en fonction de la durée du coach au sein du club. Cette analyse permet de mettre en évidence le lien existant entre les résultats directs du coach et la durée de son mandat à la tête de l'équipe.
- [({number})](#hc_win_vs_tenure) une corrélation positive modérée ($r = 0.36$) statistiquement significative ($p = 0.00$) entre la durée du coach et le ratio de victoires.
- [({number})](#hc_draw_vs_tenure) une corrélation négative faible ($r = −0.12$) statistiquement significative ($p = 0.05$) entre la durée du coach et le ratio de matchs nuls.
- [({number})](#hc_loss_vs_tenure) une corrélation négative modérée ($r = −0.35$) statistiquement significative ($p = 0.00$) entre la durée du coach et le ratio de défaites.
- [({number})](#hc_win_vs_tenure) une corrélation positive modérée ($r = 0.38$) statistiquement significative ($p = 0.00$) entre la durée du coach et le ratio de victoires.
- [({number})](#hc_draw_vs_tenure) une corrélation négative faible ($r = −0.06$) mais statistiquement non significative ($p = 0.25$) entre la durée du coach et le ratio de matchs nuls.
- [({number})](#hc_loss_vs_tenure) une corrélation négative modérée ($r = −0.37$) statistiquement significative ($p = 0.00$) entre la durée du coach et le ratio de défaites.

Il est à noter que les trois corrélations sont statistiquement significatives, étant donné que les valeurs de p sont inférieures (ou égales) à 0.05, qui est notre seuil d'acceptation. Ainsi, selon le coefficient de corrélation de Pearson
r, nous observons que lorsque qu'un entraîneur gagne ses matchs, il augmente en même temps sa durée à la tête de l'équipe. En revanche, pour les défaites, plus il y en a, moins longtemps il reste coach de l'équipe. Les résultats neutres, représentés par les matchs nuls, ne jouent pas en faveur du coach, étant considérés comme un résultat moyen voire mauvais (r négatif). Par conséquent, plus il y aura de matchs nuls, plus la durée du coach en tant que leader de l'équipe diminuera.
Il est à noter que deux des trois corrélations sont statistiquement significatives, étant donné que les valeurs de p sont inférieures à 0.05, qui est notre seuil d'acceptation. Ainsi, selon le coefficient de corrélation de Pearson
r, nous observons que lorsque qu'un entraîneur gagne ses matchs, il augmente en même temps sa durée à la tête de l'équipe. En revanche, pour les défaites, plus il y en a, moins longtemps il reste coach de l'équipe. Les résultats neutres, représentés par les matchs nuls, non pas de signification statistique au vue du coefficient p > 0.05.

#### Lien plus fin entre ancienneté du coach et performance de l'équipe

Expand Down
4 changes: 2 additions & 2 deletions src/00 Data extraction.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@
"id": "4ed56c64",
"metadata": {},
"source": [
"We collect data from Fbref and Transfermarkt using the WorldFootballR library. \n",
"Nous collectons les données de Fbref et Transfermarkt en utilisant la bibliothèque WorldFootballR. \n",
"\n",
"We collect data from 2015 to 2023 from major european first division leagues : England, Spain, Italy, Germany, France, Portugal, Scotland, Poland, Greece, Turkey, Switzerland, Netherlands, Belgium, Austria."
"Nous collectons des données de 2015 à 2023 auprès des principales ligues européennes de première division : Angleterre, Espagne, Italie, Allemagne, France, Portugal, Écosse, Pologne, Grèce, Turquie, Suisse, Pays-Bas, Belgique, Autriche."
]
},
{
Expand Down
30 changes: 15 additions & 15 deletions src/01 Preprocessing.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -286,7 +286,7 @@
"label": "split_match_results"
},
"source": [
"Since we are not interested in match opponents but rather individual team's result, we will modify this dataframe by splitting the match results into two separate rows, one for each team. This will allow us to calculate the statistics for each team separately."
"Étant donné que nous ne sommes pas intéressés par les résultats des équipes, mais plutôt par le résultat de chaque équipe, nous modifierons cette base de données en divisant les résultats du match en deux lignes distinctes, une pour chaque équipe. Cela nous permettra de calculer les statistiques pour chaque équipe séparément."
]
},
{
Expand Down Expand Up @@ -642,26 +642,26 @@
"metadata": {},
"source": [
":::{caution}\n",
"Head coach appointments records, extracted from TransferMarkt, contains data related to head coach in that specific club : tenure, number of matches played, number of matches won, etc. Those datapoint goes beyond our cut-off date of 2023 end season (2024-01-14).\n",
"Les dossiers de nomination des entraîneurs, extraits de TransferMarkt, contiennent des données relatives à l’entraîneur dans ce club particulier : durée, nombre de matchs joués, nombre de matchs gagnés, etc. Ces données dépassent notre date limite de fin de saison 2023 (2024-01-14).\n",
"\n",
"One important thing is that those feature beyond cut-off date still relate to a head coach appointment we have in our records. This guarantees us that metrics such *number of club head coach managed* are properly reflected and still relate to head coach performance. \n",
"Une chose importante est que ces caractéristiques au-delà de la date limite sont toujours liées à une nomination d’entraîneur que nous avons dans nos dossiers. Cela nous garantit que les indicateurs tels que *nombre d’entraîneurs de club gérés* sont correctement reflétés et toujours liés à la performance des entraîneurs. \n",
"\n",
"However, this create an asymetry in our data, as certain data point are limited by a time-frame and others not.\n",
"Moreover, we must be careful in how we compare these datapoint to others dataset such as match results as it could easily bias our statistical study.\n",
"Cependant, cela crée une asymétrie dans nos données, car certains points de données sont limités par une période et d’autres non.\n",
"De plus, nous devons être prudents dans la façon dont nous comparons ces points de données à d’autres ensembles de données, comme les résultats de correspondance, car cela pourrait facilement biaiser notre étude statistique.\n",
"\n",
"The only way we combine this dataset to match result is by extracting head coach tenure on day of a match. This does not bias our statistical study as it is a feature that is properly reflected by our cut-off date.\n",
"La seule façon de combiner ce jeu de données pour obtenir le résultat est d’extraire le titre d’entraîneur le jour d’un match. Cela ne biaise pas notre étude statistique car il s’agit d’une caractéristique qui est correctement reflétée par notre date limite.\n",
":::\n",
"\n",
":::{note}\n",
"I have considered computing Head Coach performance metric from match results but we would lose information on prior records as well as creating imbalance data for plot such as linear regression of head coach performance over head coach tenure : a long standing coach which would not been dismissed soon after our start date would have a lower number of matches, thus a performance metric with higher variance that would bias linear regression due to long tenure.\n",
"nous avons envisagé de calculer la mesure du rendement des coachs en chef à partir des résultats des matchs, mais nous perdrions de l’information sur les dossiers antérieurs et nous créerions des données de déséquilibre pour le tracé, comme une régression linéaire du rendement des coachs en chef par rapport à leur ancienneté : un entraîneur de longue date qui n’aurait pas été congédié peu de temps après notre date de début aurait un nombre inférieur de matchs, donc une mesure de performance avec une variance plus élevée qui biaiserait la régression linéaire en raison de la longue durée.\n",
":::"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We need to ensure that data is coherent and that there is only 1 head coach at a time for a team."
"Nous devons nous assurer que les données sont cohérentes et qu’il n’y a qu’un seul entraîneur-chef à la fois pour une équipe."
]
},
{
Expand Down Expand Up @@ -1117,7 +1117,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"Next we would like to add to each head coach record the number of appointment he is completing."
"Ensuite, nous aimerions ajouter à chaque entraîneur le nombre de rendez-vous qu’il termine."
]
},
{
Expand Down Expand Up @@ -1729,9 +1729,9 @@
"label": "join_head_coach_match"
},
"source": [
"We would like to add information about how long head coach has been in charge of the team when the match was played. This will allow us to see if the head coach's tenure have any impact on the match result.\n",
"Nous aimerions ajouter des informations sur combien de temps l’entraîneur a été en charge de l’équipe lorsque le match a été joué. Cela nous permettra de voir si le poste d’entraîneur a un impact sur le résultat du match.\n",
"\n",
"However, when trying to join the two dataframes, we found that team names are not consistent between the two dataframes. We will need to fix this before we can join the two dataframes."
"Cependant, en essayant de joindre les deux dataframes, nous avons constaté que les noms d’équipe ne sont pas cohérents entre les deux dataframes. Nous devrons corriger cela avant de pouvoir joindre les deux dataframes."
]
},
{
Expand Down Expand Up @@ -1767,11 +1767,11 @@
"label": "inconsistent_team_names"
},
"source": [
"In total, match_results dataset contains {eval}`len(match_team)` teams and head_coach dataset contains {eval}`len(coach_team)` teams. However some teams name are different between the two datasets. For example 'Liverpool' in match_results is 'Liverpool FC' in head_coach. This is problematic as we will need to join data on team's columns.\n",
"Au total, match_results contient {eval}`len(match_team)`teams et head_coach contient {eval}`len(coach_team). Cependant, le nom de certaines équipes est différent entre les deux ensembles de données. Par exemple, « Liverpool » dans match_results est « Liverpool FC » dans head_coach. C’est problématique, car nous devrons joindre des données dans les colonnes de l’équipe.\n",
"\n",
"In total, there is {eval}`len(coach_team_not_in_match)` teams present in head coach records that are not in match results and {eval}`len(match_team_not_in_coach)` teams present in match results but not in head coach records.\n",
"Au total, il y a {eval}`len(coach_team_not_in_match)` des équipes présentes dans les dossiers de l’entraîneur qui ne sont pas dans les résultats du match et {eval}`len(match_team_not_in_coach)` des équipes présentes dans les résultats du match, mais pas dans les dossiers de l’entraîneur.\n",
"\n",
"We will use Levenshtein distance to find the closest team of *match_results* that match each team in head coach records. We will then manually check the results to ensure that the matches are correct."
"Nous utiliserons la distance de Levenshtein pour trouver l’équipe la plus proche de *match_results* qui correspond à chaque équipe dans les dossiers de l’entraîneur-chef. Nous vérifierons ensuite manuellement les résultats pour nous assurer que les correspondances sont correctes."
]
},
{
Expand Down Expand Up @@ -2044,7 +2044,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"We can now add head coach days in post to match results."
"Nous pouvons maintenant ajouter le nombres de jours au poste d’entraîneur avec les résultats de match."
]
},
{
Expand Down
14 changes: 7 additions & 7 deletions src/02 Exploratory data analysis.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -191,14 +191,14 @@
"label": "match_data_summary"
},
"source": [
"We collected matches results and head coach records from Men's Football First Divisions during {eval}`min_season` - {eval}`max_season` seasons for the following leagues : {eval}`n_leagues`.\n",
"Nous avons collecté les résultats des matchs et les records des entraîneurs de la première division masculine de football pendant {eval}`min_season` - {eval}`max_season` saisons pour les ligues suivantes : {eval}`n_leagues`.\n",
"\n",
"This amount to a total of {eval}`n_matches` matches across {eval}`n_teams` teams.\n",
"Out of these {eval}`n_teams` we don't have any records of head coach for {eval}`n_teams_no_coach` teams.\n",
"Ce montant correspond à un total de {eval}`n_matches` matchs across {eval}`n_teams` équipes.\n",
"sur ces {eval}`n_teams` nous n’avons pas de dossier d’entraîneur pour {eval}`n_teams_no_coach` teams.\n",
"\n",
"For certain team information about head coach is present but no throughout the study period. From match results this represent {eval}`perc_match_no_coach`% of the matches.\n",
"Pour certaines équipes, l’information sur l’entraîneur est présente, mais non tout au long de la période d’étude. D’après les résultats des matchs, cela représente {eval}`perc_match_no_coach`% de matchs.\n",
"\n",
"There is a total of {eval}`n_unique_coach` unique head coaches in the dataset and {eval}`n_unique_coach_records` records of head coach appointments."
"Il y a un total de {eval}`n_unique_coach` entraîneurs uniques dans l’ensemble de données et {eval}`n_unique_coach_records` les dossiers des rendez-vous avec l’entraîneur."
]
},
{
Expand Down Expand Up @@ -371,9 +371,9 @@
"label": "home_advantage_text"
},
"source": [
"In average, team playing at home scored {eval}`home_goals:.2f` goals while away team scored {away_goals:.2f} goals ({eval}`diff_goal_perc:.0f` % less goals).\n",
"En moyenne, l’équipe qui joue à domicile a marqué {eval}`home_goals:.2f` tandis que l’équipe à l’extérieur a marqué {away_goals:.2f} goals ({eval}`diff_goal_perc:.0f` % moins de buts).\n",
"\n",
"This resulted in {eval}`home_win*100:.0f` matches won by team playing at home vs {eval}`away_win*100:.0f` for the team playing away ({eval}`diff_win_perc:.0f` % less wins). Draw matches accounted for {eval}`home_draw:.0f` % of the matches. This effect is called home advantage."
"Il en est résulté {eval}`home_win*100:.0f` matchs gagnés par une équipe jouant à domicile vs {eval}`away_win*100:.0f` pour l’équipe qui joue à l’extérieur ({eval}`diff_win_perc:.0f` % moins de victoires). Les matchs nuls représentaient {eval}`home_draw:.0f` % des matchs. Cet effet est appelé avantage à la maison."
]
},
{
Expand Down
Loading

0 comments on commit f609aa4

Please sign in to comment.