Atelier : paris sportifs et intelligence collective

Conjuguons football et machine learning !

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

TL;DR

Cet atelier te propose de faire des paris sur les matchs de football de Ligue 1 pour apparaître dans un classement individuel (plutôt cool) et pour faire de Clem un agrume à super-pronos (super cool !), en utilisant un algorithme simple de machine learning. N'hésitez pas à participer, aucune connaissance sportive n'est requise :D


Salut !

Quel bar (même servant uniquement des smoothies) digne de ce nom n'a pas de discussions sportives de comptoir ?!

Alors que la ligue 11, le championnat de football français, reprend aujourd'hui, je vous propose un petit atelier de paris sportifs, avec, en bonus, l'utilisation d'un algorithme implémenté par mes soins ici pour faire des super-pronos : faisons preuve d'un peu d'intelligence collective !

Les règles de l'atelier sont simples : les participants doivent pronostiquer l'issue de tous les matchs de chaque journée de championnat, c'est-à-dire faire un pari 1/N/2. Un pari 1/N/2 consiste à prédire l'issue d'un match joué entre l'équipe 1 et l'équipe 2 (où l'équipe 1 est l'équipe qui reçoit le match et l'équipe 2 est l'équipe qui visite). Si vous pensez que l'équipe qui reçoit va gagner le match, vous pariez 1, si vous pensez qu'elle va le perdre vous pariez 2, si vous pensez qu'il y aura match nul vous pariez N.

Si vous voulez participer à l'atelier, vous voudrez remplir deux objectifs. Le premier, individuel, est de vous tromper le moins souvent possible pour être bien classé dans le classement des parieurs qui sera tenu à jour ici (idéalement). Le second, collectif, est de faire en sorte que nous (la communauté) fassions des super-paris et que nous nous trompions moins souvent que nous ne le ferions chacun individuellement.

Principe

Plusieurs stratégies permettent d'accomplir ce souhait. Comme dans une démocratie, nous pourrions, pour un match donné, suivre le pari donné par la majorité des participants. Le problème de cette approche est que la majorité des participants peut se tromper. Pour pallier à ce soucis, je vous propose d'utiliser un algorithme très simple, l'algorithme de la majorité pondérée (Weighted Majority Algorithm en anglais). Le principe est d'attribuer un poids initial à tous les parieurs et de diminuer ce poids quand le parieur se trompe. Le vote se fait ensuite sur la base de ces poids. Un exemple permettra peut-être d'expliciter un peu mes propos.

Pierre, Paul et Jacques participent. Chacun a un poids de $w=1$ au début du jeu. Mettons que l'on diminue de $\tau$ le poids d'un joueur à chaque fois que celui-ci se trompe.

  1. Premier match : Pierre et Paul parient 1, Jacques parie N.
  2. L'algorithme prédit donc la victoire de l'équipe 1. ($w_{\text{Pierre}} + w_{\text{Paul}} = 2$ voix en faveur de la victoire de l'équipe 1 contre $w_{\text{Jacques}} = 1$ voix en faveur d'un match nul).
  3. L'équipe 1 gagne le match.
  4. On a donc $w_{\text{Pierre}} = w_{\text{Paul}} = 1$ et $w_{\text{Jacques}} = 1 - \tau \times 1$.

On voit ici que la voix de Jacques aura moins d'importance dans le prochain vote. Il sera donc moins bien classé au classement des parieurs et sa voix sera moins prise en compte pour donner le super-prono.

Concrètement, mon implémentation (en R) n'est pas optimale pour un atelier en ligne comme celui-ci mais je pense que ça fera l'affaire, au moins dans un premier temps (s'il y a des volontaires pour porter l'affaire en Python et éditer le site qui va avec, n'hésitez pas :D).

Comment jouer ?

Voilà la procédure que je suggère :

  1. Les joueurs parient pour une journée de championnat (c'est-à-dire les 10 matchs du week-end prochain) et indiquent leurs paris sur le forum, en suivant le format indiqué pour la journée en cours (voir plus bas).
  2. Je fais tourner l'algorithme (idéalement le vendredi midi, avant le début de la journée de championnat et indique la liste des super-pronos qu'a fait Clem sur ce sujet.
  3. Les résultats effectifs de l'ensemble de la journée de championnat arrivent.
  4. Je refais tourner mon programme, cette fois pour recalculer les poids de tous les participants, en accord avec les résultats.
  5. J'affiche le classement des participants et l'efficacité des super-pronos de Clem et les participants retournent à l'étape 1 sur la prochaine journée de championnat.

N'hésitez pas à m'envoyer vos questions si quelque chose n'est pas clair !

Saison 2016/2017

Tous les résultats et les jeux de données sont à retrouver sur la page dédiée. Pour commencer à jouer, il suffit cliquer sur la dernière journée de championnat pour connaître la liste des matchs à pronostiquer :

Méthodes pour parier utilisées par les joueurs :

Saison 2014/2015

Liste des journées

Clique sur la journée en cours pour savoir comment participer !

Classement des participants et historiques des pronostics2

Classement par pourcentage de pronostics justes

Pour le moment, les participants à l'atelier ont réalisé 41.09% de bons paris !

Classement par pourcentage de bons pronostics après 4 journées de championnat

Classement par poids

Classement par poids après 4 journées de championnat

Détail par participant

Le tableau suivant résume les poids (weights), le nombre de matchs pronostiqués (nb_match_played) et le nombre de pronostics réussis (en %) (efficiency) par joueur (expert).

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
       expert      weights nb_match_played efficiency
  adndebanane 1.173393e-09              39   25.64103
       Nath22 1.182706e-08              20   35.00000
       hasard 1.907349e-06              40   52.50000
         Vinm 4.693572e-09              30   30.00000
        Asvin 7.509715e-08              30   43.33333
      hichbra 3.754857e-08              30   40.00000
     Aure1000 9.387143e-09              30   33.33333
    Why Not ? 3.784659e-07              20   60.00000
       Javier 9.461648e-08              20   50.00000

Historique des pronostics des participants

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
idmatch;expert;pronostic
08082014-ligue1-reims-paris;adndebanane;2
09082014-ligue1-bastia-marseille;adndebanane;2
09082014-ligue1-evian-caen;adndebanane;N
09082014-ligue1-guingamp-stetienne;adndebanane;2
09082014-ligue1-lille-metz;adndebanane;1
09082014-ligue1-montpellier-bordeaux;adndebanane;N
09082014-ligue1-nantes-lens;adndebanane;1
09082014-ligue1-nice-toulouse;adndebanane;2
10082014-ligue1-lyon-rennes;adndebanane;1
10082014-ligue1-monaco-lorient;adndebanane;1
08082014-ligue1-reims-paris;Nath22;N
09082014-ligue1-bastia-marseille;Nath22;2
09082014-ligue1-evian-caen;Nath22;N
09082014-ligue1-guingamp-stetienne;Nath22;1
09082014-ligue1-lille-metz;Nath22;1
09082014-ligue1-montpellier-bordeaux;Nath22;1
09082014-ligue1-nantes-lens;Nath22;N
09082014-ligue1-nice-toulouse;Nath22;1
10082014-ligue1-lyon-rennes;Nath22;1
10082014-ligue1-monaco-lorient;Nath22;1
08082014-ligue1-reims-paris;hasard;1
09082014-ligue1-bastia-marseille;hasard;N
09082014-ligue1-evian-caen;hasard;2
09082014-ligue1-guingamp-stetienne;hasard;2
09082014-ligue1-lille-metz;hasard;N
09082014-ligue1-montpellier-bordeaux;hasard;N
09082014-ligue1-nantes-lens;hasard;1
09082014-ligue1-nice-toulouse;hasard;N
10082014-ligue1-lyon-rennes;hasard;N
10082014-ligue1-monaco-lorient;hasard;2
15082014-ligue1-caen-lille;adndebanane;N
16082014-ligue1-paris-bastia;adndebanane;1
16082014-ligue1-lens-guingamp;adndebanane;N
16082014-ligue1-lorient-nice;adndebanane;1
16082014-ligue1-metz-nantes;adndebanane;2
16082014-ligue1-rennes-evian;adndebanane;N
16082014-ligue1-toulouse-lyon;adndebanane;2
17082014-ligue1-marseille-montpellier;adndebanane;1
17082014-ligue1-stetienne-reims;adndebanane;1
17082014-ligue1-bordeaux-monaco;adndebanane;2
15082014-ligue1-caen-lille;Nath22;N
16082014-ligue1-paris-bastia;Nath22;1
16082014-ligue1-lens-guingamp;Nath22;N
16082014-ligue1-lorient-nice;Nath22;1
16082014-ligue1-metz-nantes;Nath22;1
16082014-ligue1-rennes-evian;Nath22;1
16082014-ligue1-toulouse-lyon;Nath22;N
17082014-ligue1-marseille-montpellier;Nath22;2
17082014-ligue1-stetienne-reims;Nath22;1
17082014-ligue1-bordeaux-monaco;Nath22;N
15082014-ligue1-caen-lille;hasard;2
16082014-ligue1-paris-bastia;hasard;N
16082014-ligue1-lens-guingamp;hasard;2
16082014-ligue1-lorient-nice;hasard;1
16082014-ligue1-metz-nantes;hasard;N
16082014-ligue1-rennes-evian;hasard;1
16082014-ligue1-toulouse-lyon;hasard;N
17082014-ligue1-marseille-montpellier;hasard;1
17082014-ligue1-stetienne-reims;hasard;1
17082014-ligue1-bordeaux-monaco;hasard;1
15082014-ligue1-caen-lille;Vinm;N
16082014-ligue1-paris-bastia;Vinm;1
16082014-ligue1-lens-guingamp;Vinm;2
16082014-ligue1-lorient-nice;Vinm;2
16082014-ligue1-metz-nantes;Vinm;2
16082014-ligue1-rennes-evian;Vinm;2
16082014-ligue1-toulouse-lyon;Vinm;2
17082014-ligue1-marseille-montpellier;Vinm;1
17082014-ligue1-stetienne-reims;Vinm;1
17082014-ligue1-bordeaux-monaco;Vinm;N
15082014-ligue1-caen-lille;Asvin;2
16082014-ligue1-paris-bastia;Asvin;N
16082014-ligue1-lens-guingamp;Asvin;2
16082014-ligue1-lorient-nice;Asvin;N
16082014-ligue1-metz-nantes;Asvin;2
16082014-ligue1-rennes-evian;Asvin;N
16082014-ligue1-toulouse-lyon;Asvin;2
17082014-ligue1-marseille-montpellier;Asvin;1
17082014-ligue1-stetienne-reims;Asvin;1
17082014-ligue1-bordeaux-monaco;Asvin;2
15082014-ligue1-caen-lille;hichbra;2
16082014-ligue1-paris-bastia;hichbra;1
16082014-ligue1-lens-guingamp;hichbra;N
16082014-ligue1-lorient-nice;hichbra;N
16082014-ligue1-metz-nantes;hichbra;1
16082014-ligue1-rennes-evian;hichbra;1
16082014-ligue1-toulouse-lyon;hichbra;2
17082014-ligue1-marseille-montpellier;hichbra;1
17082014-ligue1-stetienne-reims;hichbra;N
17082014-ligue1-bordeaux-monaco;hichbra;2
15082014-ligue1-caen-lille;Aure1000;2
16082014-ligue1-paris-bastia;Aure1000;1
16082014-ligue1-lens-guingamp;Aure1000;1
16082014-ligue1-lorient-nice;Aure1000;2
16082014-ligue1-metz-nantes;Aure1000;N
16082014-ligue1-rennes-evian;Aure1000;1
16082014-ligue1-toulouse-lyon;Aure1000;2
17082014-ligue1-marseille-montpellier;Aure1000;1
17082014-ligue1-stetienne-reims;Aure1000;N
17082014-ligue1-bordeaux-monaco;Aure1000;N
15082014-ligue1-caen-lille;"Why Not ?";2
16082014-ligue1-paris-bastia;"Why Not ?";1
16082014-ligue1-lens-guingamp;"Why Not ?";2
16082014-ligue1-lorient-nice;"Why Not ?";N
16082014-ligue1-metz-nantes;"Why Not ?";1
16082014-ligue1-rennes-evian;"Why Not ?";1
16082014-ligue1-toulouse-lyon;"Why Not ?";2
17082014-ligue1-marseille-montpellier;"Why Not ?";1
17082014-ligue1-stetienne-reims;"Why Not ?";1
17082014-ligue1-bordeaux-monaco;"Why Not ?";N
22082014-ligue1-evian-paris;Asvin;2
23082014-ligue1-guingamp-marseille;Asvin;N
23082014-ligue1-bastia-toulouse;Asvin;2
23082014-ligue1-lille-lorient;Asvin;1
23082014-ligue1-montpellier-metz;Asvin;1
23082014-ligue1-nice-bordeaux;Asvin;2
23082014-ligue1-reims-caen;Asvin;1
24082014-ligue1-lyon-lens;Asvin;1
24082014-ligue1-stetienne-rennes;Asvin;N
24082014-ligue1-nantes-monaco;Asvin;2
22082014-ligue1-evian-paris;Vinm;2
23082014-ligue1-guingamp-marseille;Vinm;1
23082014-ligue1-bastia-toulouse;Vinm;2
23082014-ligue1-lille-lorient;Vinm;1
23082014-ligue1-montpellier-metz;Vinm;1
23082014-ligue1-nice-bordeaux;Vinm;2
23082014-ligue1-reims-caen;Vinm;N
24082014-ligue1-lyon-lens;Vinm;1
24082014-ligue1-stetienne-rennes;Vinm;1
24082014-ligue1-nantes-monaco;Vinm;N
22082014-ligue1-evian-paris;hichbra;2
23082014-ligue1-guingamp-marseille;hichbra;N
23082014-ligue1-bastia-toulouse;hichbra;1
23082014-ligue1-lille-lorient;hichbra;1
23082014-ligue1-montpellier-metz;hichbra;N
23082014-ligue1-nice-bordeaux;hichbra;2
23082014-ligue1-reims-caen;hichbra;1
24082014-ligue1-lyon-lens;hichbra;1
24082014-ligue1-stetienne-rennes;hichbra;1
24082014-ligue1-nantes-monaco;hichbra;2
22082014-ligue1-evian-paris;adndebanane;2
23082014-ligue1-guingamp-marseille;adndebanane;N
23082014-ligue1-bastia-toulouse;adndebanane;2
23082014-ligue1-lille-lorient;adndebanane;2
23082014-ligue1-montpellier-metz;adndebanane;1
23082014-ligue1-nice-bordeaux;adndebanane;2
23082014-ligue1-reims-caen;adndebanane;N
24082014-ligue1-lyon-lens;adndebanane;1
24082014-ligue1-stetienne-rennes;adndebanane;1
24082014-ligue1-nantes-monaco;adndebanane;1
22082014-ligue1-evian-paris;hasard;2
23082014-ligue1-guingamp-marseille;hasard;N
23082014-ligue1-bastia-toulouse;hasard;N
23082014-ligue1-lille-lorient;hasard;N
23082014-ligue1-montpellier-metz;hasard;1
23082014-ligue1-nice-bordeaux;hasard;2
23082014-ligue1-reims-caen;hasard;N
24082014-ligue1-lyon-lens;hasard;2
24082014-ligue1-stetienne-rennes;hasard;N
24082014-ligue1-nantes-monaco;hasard;2
22082014-ligue1-evian-paris;Aure1000;2
23082014-ligue1-guingamp-marseille;Aure1000;2
23082014-ligue1-bastia-toulouse;Aure1000;2
23082014-ligue1-lille-lorient;Aure1000;1
23082014-ligue1-montpellier-metz;Aure1000;N
23082014-ligue1-nice-bordeaux;Aure1000;1
23082014-ligue1-reims-caen;Aure1000;N
24082014-ligue1-lyon-lens;Aure1000;1
24082014-ligue1-stetienne-rennes;Aure1000;N
24082014-ligue1-nantes-monaco;Aure1000;N
22082014-ligue1-evian-paris;Javier;2
23082014-ligue1-guingamp-marseille;Javier;2
23082014-ligue1-bastia-toulouse;Javier;N
23082014-ligue1-lille-lorient;Javier;1
23082014-ligue1-montpellier-metz;Javier;1
23082014-ligue1-nice-bordeaux;Javier;N
23082014-ligue1-reims-caen;Javier;1
24082014-ligue1-lyon-lens;Javier;N
24082014-ligue1-stetienne-rennes;Javier;1
24082014-ligue1-nantes-monaco;Javier;2
29082014-ligue1-marseille-nice;Vinm;1
30082014-ligue1-monaco-lille;Vinm;2
30082014-ligue1-caen-rennes;Vinm;2
30082014-ligue1-lens-reims;Vinm;1
30082014-ligue1-lorient-guingamp;Vinm;2
30082014-ligue1-nantes-montpellier;Vinm;2
30082014-ligue1-toulouse-evian;Vinm;2
31082014-ligue1-bordeaux-bastia;Vinm;1
24082014-ligue1-metz-lyon;Vinm;2
24082014-ligue1-paris-stetienne;Vinm;N
29082014-ligue1-marseille-nice;Asvin;1
30082014-ligue1-monaco-lille;Asvin;1
30082014-ligue1-caen-rennes;Asvin;2
30082014-ligue1-lens-reims;Asvin;N
30082014-ligue1-lorient-guingamp;Asvin;N
30082014-ligue1-nantes-montpellier;Asvin;1
30082014-ligue1-toulouse-evian;Asvin;1
31082014-ligue1-bordeaux-bastia;Asvin;1
24082014-ligue1-metz-lyon;Asvin;N
24082014-ligue1-paris-stetienne;Asvin;2
29082014-ligue1-marseille-nice;Javier;1
30082014-ligue1-monaco-lille;Javier;N
30082014-ligue1-caen-rennes;Javier;2
30082014-ligue1-lens-reims;Javier;N
30082014-ligue1-lorient-guingamp;Javier;1
30082014-ligue1-nantes-montpellier;Javier;N
30082014-ligue1-toulouse-evian;Javier;1
31082014-ligue1-bordeaux-bastia;Javier;1
24082014-ligue1-metz-lyon;Javier;2
24082014-ligue1-paris-stetienne;Javier;1
29082014-ligue1-marseille-nice;"Why Not ?";1
30082014-ligue1-monaco-lille;"Why Not ?";N
30082014-ligue1-caen-rennes;"Why Not ?";2
30082014-ligue1-lens-reims;"Why Not ?";N
30082014-ligue1-lorient-guingamp;"Why Not ?";1
30082014-ligue1-nantes-montpellier;"Why Not ?";2
30082014-ligue1-toulouse-evian;"Why Not ?";1
31082014-ligue1-bordeaux-bastia;"Why Not ?";1
24082014-ligue1-metz-lyon;"Why Not ?";2
24082014-ligue1-paris-stetienne;"Why Not ?";1
29082014-ligue1-marseille-nice;hichbra;1
30082014-ligue1-monaco-lille;hichbra;1
30082014-ligue1-caen-rennes;hichbra;N
30082014-ligue1-lens-reims;hichbra;N
30082014-ligue1-lorient-guingamp;hichbra;2
30082014-ligue1-nantes-montpellier;hichbra;1
30082014-ligue1-toulouse-evian;hichbra;1
31082014-ligue1-bordeaux-bastia;hichbra;1
24082014-ligue1-metz-lyon;hichbra;2
24082014-ligue1-paris-stetienne;hichbra;1
29082014-ligue1-marseille-nice;Aure1000;2
30082014-ligue1-monaco-lille;Aure1000;2
30082014-ligue1-caen-rennes;Aure1000;2
30082014-ligue1-lens-reims;Aure1000;N
30082014-ligue1-lorient-guingamp;Aure1000;1
30082014-ligue1-nantes-montpellier;Aure1000;2
30082014-ligue1-toulouse-evian;Aure1000;1
31082014-ligue1-bordeaux-bastia;Aure1000;1
24082014-ligue1-metz-lyon;Aure1000;2
24082014-ligue1-paris-stetienne;Aure1000;N
30082014-ligue1-monaco-lille;adndebanane;N
30082014-ligue1-caen-rennes;adndebanane;1
30082014-ligue1-lens-reims;adndebanane;N
30082014-ligue1-lorient-guingamp;adndebanane;1
30082014-ligue1-nantes-montpellier;adndebanane;N
30082014-ligue1-toulouse-evian;adndebanane;1
31082014-ligue1-bordeaux-bastia;adndebanane;1
24082014-ligue1-metz-lyon;adndebanane;N
24082014-ligue1-paris-stetienne;adndebanane;N
29082014-ligue1-marseille-nice;hasard;1
30082014-ligue1-monaco-lille;hasard;1
30082014-ligue1-caen-rennes;hasard;2
30082014-ligue1-lens-reims;hasard;2
30082014-ligue1-lorient-guingamp;hasard;1
30082014-ligue1-nantes-montpellier;hasard;N
30082014-ligue1-toulouse-evian;hasard;N
31082014-ligue1-bordeaux-bastia;hasard;2
24082014-ligue1-metz-lyon;hasard;1
24082014-ligue1-paris-stetienne;hasard;2

Historique des super-pronos de Clem !

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
"idmatch";"random_prono";"deterministic_prono"
"15082014-ligue1-caen-lille";"2";"2"
"16082014-ligue1-paris-bastia";"1";"N"
"16082014-ligue1-lens-guingamp";"N";"2"
"16082014-ligue1-lorient-nice";"1";"1"
"16082014-ligue1-metz-nantes";"2";"N"
"16082014-ligue1-rennes-evian";"1";"1"
"16082014-ligue1-toulouse-lyon";"N";"N"
"17082014-ligue1-marseille-montpellier";"1";"1"
"17082014-ligue1-stetienne-reims";"1";"1"
"17082014-ligue1-bordeaux-monaco";"1";"1"
"22082014-ligue1-evian-paris";"2";"2"
"23082014-ligue1-guingamp-marseille";"N";"N"
"23082014-ligue1-bastia-toulouse";"N";"N"
"23082014-ligue1-lille-lorient";"N";"N"
"23082014-ligue1-montpellier-metz";"1";"1"
"23082014-ligue1-nice-bordeaux";"2";"2"
"23082014-ligue1-reims-caen";"N";"N"
"24082014-ligue1-lyon-lens";"2";"2"
"24082014-ligue1-stetienne-rennes";"N";"N"
"24082014-ligue1-nantes-monaco";"2";"2"
"29082014-ligue1-marseille-nice";"1";"1"
"30082014-ligue1-monaco-lille";"N";"1"
"30082014-ligue1-caen-rennes";"2";"2"
"30082014-ligue1-lens-reims";"2";"2"
"30082014-ligue1-lorient-guingamp";"2";"1"
"30082014-ligue1-nantes-montpellier";"N";"N"
"30082014-ligue1-toulouse-evian";"N";"N"
"31082014-ligue1-bordeaux-bastia";"2";"2"
"24082014-ligue1-metz-lyon";"1";"1"
"24082014-ligue1-paris-stetienne";"2";"2"

Historique des résultats des matchs

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
idmatch;resultat
08082014-ligue1-reims-paris;N
09082014-ligue1-bastia-marseille;N
09082014-ligue1-evian-caen;2
09082014-ligue1-guingamp-stetienne;2
09082014-ligue1-lille-metz;N
09082014-ligue1-montpellier-bordeaux;2
09082014-ligue1-nantes-lens;1
09082014-ligue1-nice-toulouse;1
10082014-ligue1-lyon-rennes;1
10082014-ligue1-monaco-lorient;2
15082014-ligue1-caen-lille;2
16082014-ligue1-paris-bastia;1
16082014-ligue1-lens-guingamp;2
16082014-ligue1-lorient-nice;N
16082014-ligue1-metz-nantes;N
16082014-ligue1-rennes-evian;1
16082014-ligue1-toulouse-lyon;1
17082014-ligue1-marseille-montpellier;2
17082014-ligue1-stetienne-reims;1
17082014-ligue1-bordeaux-monaco;1
22082014-ligue1-evian-paris;N
23082014-ligue1-guingamp-marseille;2
23082014-ligue1-bastia-toulouse;1
23082014-ligue1-lille-lorient;1
23082014-ligue1-montpellier-metz;1
23082014-ligue1-nice-bordeaux;2
23082014-ligue1-reims-caen;2
24082014-ligue1-lyon-lens;2
24082014-ligue1-stetienne-rennes;N
24082014-ligue1-nantes-monaco;2
29082014-ligue1-marseille-nice;1
30082014-ligue1-monaco-lille;N
30082014-ligue1-caen-rennes;2
30082014-ligue1-lens-reims;1
30082014-ligue1-lorient-guingamp;1
30082014-ligue1-nantes-montpellier;1
30082014-ligue1-toulouse-evian;1
31082014-ligue1-bordeaux-bastia;N
24082014-ligue1-metz-lyon;1
24082014-ligue1-paris-stetienne;1

Notes

Note : le but du jeu pour la communauté est d'arriver à ce que Clem prédise l'issue des matchs avec une efficacité supérieure à 33% (i.e. les super-pronos sont plus précis que si l'algorithme choisissait l'issue des matchs au hasard) - si on dépasse 50%, nous pourrons commencer à investir l'argent de l'association (je plaisante).

Note 2 : un des petit problème présenté par cet atelier est qu'il est fort probable que la liste des joueurs jouant effectivement toutes les semaines ne sera pas stable avec notamment :

  • des joueurs ne jouant pas à chaque fois
  • de nouveaux joueurs arrivant en cours de route

En ce qui concerne le premier point, cela voudrait dire que les joueurs ayant peu joué ont plus de chance d'avoir un poids plus fort que ceux ayant joué souvent (et qui se sont donc potentiellement beaucoup trompés). Pour pallier à ce soucis, j'ai choisi de pondérer les poids par le nombre de matchs joués par chaque joueur (chaque joueur va gagner les $\bar{r}$ matchs non joués, avec $\bar{r}$ le ratio moyen de victoire des joueurs ayant déjà joué).


  1. désolé pour tous les membres francophones qui s'intéressent à un autre championnat (ou même un autre sport) que le championnat de France de football. Je fais ce choix parce que je n'ai pas le temps de gérer tous les championnats. 

  2. je fournis le contenu de tous les fichiers nécessaires pour faire tourner mon programme, au cas où quelqu'un voudrait prendre ma relève, si je venais à être absent par exemple. 

Édité par adndebanane

+2 -0

Bon ! c'est un peu cheaté pour le 1er match (match nul à l'heure où j'écris, c'est-à-dire 75e minute)…

Et c'était bien en dessous de tes paris qu'il fallait que j'ajoute les miens ?

Puis c'est pas dit que je sois assidu jusqu'à la fin du championnat. :lol:

+0 -0
Auteur du sujet

Oui, c'est exactement comme ça qu'il faut faire :) Pour les prochaines semaines, je pense que l'on pourra arrêter les paris le vendredi midi pour éviter que les paris ne puissent être modifiés pendant les matchs !


Edit : des précisions pour répondre au soucis de l'assiduité

En ce qui concerne l'assiduité, comme j'ai essayé de l'expliquer dans les notes de premier message, il est vrai que cela pose potentiellement un problème, a fortiori sur un forum, où les gens vont régulièrement arrêter de jouer / reprendre / arriver en cours de route : le score des gens jouant très peu reste théoriquement proche de 1, alors que les gens qui jouent souvent voient leur score baisser à mesure qu'ils font de mauvais paris. La solution que j'ai mis en œuvre est la suivante : pour chaque joueur ayant participé au moins une fois à l'atelier, je calcule le nombre de matchs non joués (i.e. pour lesquels le joueur n'a proposé aucun pari) et je considère arbitrairement que 2/3 de ce nombre de matchs non joués sont considérés comme paris perdus. Ainsi, les joueurs qui ne jouent pas tout le temps restent quand même dans la course (et peuvent même être mieux classés que les joueurs assidus) et peuvent reprendre à tout moment pour aider Clem (car c'est bien elle qui représente l'intelligence collective de notre communauté, n'est-ce pas ? :)) à faire ses super-pronos. Si on se rend compte que les joueurs épisodiques sont toujours mieux classés que les joueurs assidus, il suffira de changer le rapport de 2/3 de matchs non joués considérés perdus en l'augmentant un peu.

Édité par adndebanane

+0 -0
Auteur du sujet

Résultats de la première journée de Ligue 1

Vous retrouverez toutes les statistiques des matchs de cette première journée sur le site de la ligue et tous les buts sur cette vidéo.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
Vendredi 8 août 2014
20:30   Stade de Reims      2 - 2   Paris Saint-Germain     

Samedi 9 août 2014
21:00   SC Bastia           3 - 3       Olympique de Marseille  
21:00   Evian TG FC         0 - 3       SM Caen     
21:00   EA Guingamp         0 - 2       AS Saint-Etienne    
21:00   LOSC Lille      0 - 0       FC Metz     
21:00   Montpellier Hérault SC      0 - 1       Girondins de Bordeaux   
21:00   FC Nantes       1 - 0       RC Lens     
21:00   OGC Nice        3   - 2         Toulouse FC     

Dimanche 10 août 2014
17:00   Olympique Lyonnais      2 - 0       Stade Rennais FC    
21:00   AS Monaco FC        1 - 2       FC Lorient 

Qu'avez-vous pensé de cette reprise ?

Classement des participants à l'atelier

De façon amusante, Nath22 et moi-même sommes ex æquo, avec une prestation plutôt moyenne de 3 pronostics corrects sur 10 !

Classement par poids après 1 journée de championnat

Le tableau suivant résume les poids (weights), le nombre de matchs pronostiqués (nb_match_played) et le nombre de pronostics réussis (en %) (efficiency) par joueur (expert).

1
2
3
      expert   weights nb_match_played efficiency
 adndebanane 0.0078125              10         30
      Nath22 0.0078125              10         30

Seconde journée de Ligue 1

Pour cette seconde journée, je vous propose de changer la façon de poster vos pronostics (pour éviter les risques de dégradation de la feuille de calcul proposée précédemment). Il vous suffit maintenant de copier/coller le code markdown suivant, d'indiquer si c'est la première fois que vous participez à l'atelier puis de remplacer pseudo par votre pseudo et N par votre pronostic.

Vous pouvez poster vos pronostics jusqu'à vendredi 15 août, 12h (avec une tolérance pour l'après-midi, tant que ça reste avant le début du premier match, parce que je ne suis qu'amour et bonté).

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
C'est la première fois que je participe (oui/non) : 

match | pseudo | prono
------|--------|------
15082014-ligue1-caen-lille | pseudo | N
16082014-ligue1-paris-bastia | pseudo | N
16082014-ligue1-lens-guingamp | pseudo | N
16082014-ligue1-lorient-nice | pseudo | N
16082014-ligue1-metz-nantes | pseudo | N
16082014-ligue1-rennes-evian | pseudo | N
16082014-ligue1-toulouse-lyon | pseudo | N
17082014-ligue1-marseille-montpellier | pseudo | N
17082014-ligue1-stetienne-reims | pseudo | N
17082014-ligue1-bordeaux-monaco | pseudo | N

Édité par adndebanane

+0 -0
Auteur du sujet

J'ai préféré le foot au tennis ici parce qu'il y a probablement plus de beaufs que de rupins sur ce site :p Blague à part, je ne vois aucun problème à lancer une instance de pronostics tennis (ou handball, rugby, curling,…), mais je ne m'en occuperai pas, ça me demanderait trop de temps :) Ma boîte à MP est disponible pour ceux qui voudraient utiliser/améliorer mon programme pour d'autres sports/d'autres championnats.

+0 -0

Cool ce sujet ;)

C'est la première fois que je participe (oui/non) : oui

match pseudo prono
15082014-ligue1-caen-lille Vinm N
16082014-ligue1-paris-bastia Vinm 1
16082014-ligue1-lens-guingamp Vinm 2
16082014-ligue1-lorient-nice Vinm 2
16082014-ligue1-metz-nantes Vinm 2
16082014-ligue1-rennes-evian Vinm 2
16082014-ligue1-toulouse-lyon Vinm 2
17082014-ligue1-marseille-montpellier Vinm 1
17082014-ligue1-stetienne-reims Vinm 1
17082014-ligue1-bordeaux-monaco Vinm N
+0 -0

'est la première fois que je participe (oui/non) : Oui

match pseudo prono
15082014-ligue1-caen-lille Asvin 2
16082014-ligue1-paris-bastia Asvin N
16082014-ligue1-lens-guingamp Asvin 2
16082014-ligue1-lorient-nice Asvin N
16082014-ligue1-metz-nantes Asvin 2
16082014-ligue1-rennes-evian Asvin N
16082014-ligue1-toulouse-lyon Asvin 2
17082014-ligue1-marseille-montpellier Asvin 1
17082014-ligue1-stetienne-reims Asvin 1
17082014-ligue1-bordeaux-monaco Asvin 2
+0 -0

Je vais tenter :)

C'est la première fois que je participe (oui/non) : oui

match pseudo prono
15082014-ligue1-caen-lille hichbra 2
16082014-ligue1-paris-bastia hichbra 1
16082014-ligue1-lens-guingamp hichbra N
16082014-ligue1-lorient-nice hichbra N
16082014-ligue1-metz-nantes hichbra 1
16082014-ligue1-rennes-evian hichbra 1
16082014-ligue1-toulouse-lyon hichbra 2
17082014-ligue1-marseille-montpellier hichbra 1
17082014-ligue1-stetienne-reims hichbra N
17082014-ligue1-bordeaux-monaco hichbra 2

Édité par hichbra

Vise toujours la lune, même si tu la rates, tu atterriras parmi les étoiles - Oscar Wilde

+0 -0

C'est la première fois que je participe (oui/non) : oui

match pseudo prono
15082014-ligue1-caen-lille Aure1000 2
16082014-ligue1-paris-bastia Aure1000 1
16082014-ligue1-lens-guingamp Aure1000 1
16082014-ligue1-lorient-nice Aure1000 2
16082014-ligue1-metz-nantes Aure1000 N
16082014-ligue1-rennes-evian Aure1000 1
16082014-ligue1-toulouse-lyon pseudo 2
17082014-ligue1-marseille-montpellier Aure1000 1
17082014-ligue1-stetienne-reims Aure1000 N
17082014-ligue1-bordeaux-monaco Aure1000 N
+0 -0

C'est la première fois que je participe (oui/non) : non

match pseudo prono
15082014-ligue1-caen-lille Nath22 N
16082014-ligue1-paris-bastia Nath22 1
16082014-ligue1-lens-guingamp Nath22 N
16082014-ligue1-lorient-nice Nath22 1
16082014-ligue1-metz-nantes Nath22 1
16082014-ligue1-rennes-evian Nath22 1
16082014-ligue1-toulouse-lyon Nath22 N
17082014-ligue1-marseille-montpellier Nath22 2
17082014-ligue1-stetienne-reims Nath22 1
17082014-ligue1-bordeaux-monaco Nath22 N
+0 -0
Staff

@adndebanane : tu devrais faire jouer chaque semaine en plus un joueur "virtuel" qui ne fait que tirer les résultats au hasard. Les résultats qu'il obtiendra chaque semaine auront peu de sens indépendamment mais en auront sur la durée. Ça permetra a chacun de savoir si il est meilleur ou pire que le hasard.

+0 -0
Auteur du sujet

@Kje : c'est une bonne idée. Sur le premier tirage, ce joueur virtuel vient de faire 60% de bons pronostics - c'est la honte pour Nath22 et moi :D

Voici les tirages du joueur virtuel (sobrement appelé "hasard") pour les deux journées précédentes

Journée 1

match pseudo prono
08082014-ligue1-reims-paris hasard 1
09082014-ligue1-bastia-marseille hasard N
09082014-ligue1-evian-caen hasard 2
09082014-ligue1-guingamp-stetienne hasard 2
09082014-ligue1-lille-metz hasard N
09082014-ligue1-montpellier-bordeaux hasard N
09082014-ligue1-nantes-lens hasard 1
09082014-ligue1-nice-toulouse hasard N
10082014-ligue1-lyon-rennes hasard N
10082014-ligue1-monaco-lorient hasard 2

Journée 2

match pseudo prono
15082014-ligue1-caen-lille hasard 2
16082014-ligue1-paris-bastia hasard N
16082014-ligue1-lens-guingamp hasard 2
16082014-ligue1-lorient-nice hasard 1
16082014-ligue1-metz-nantes hasard N
16082014-ligue1-rennes-evian hasard 1
16082014-ligue1-toulouse-lyon hasard N
17082014-ligue1-marseille-montpellier hasard 1
17082014-ligue1-stetienne-reims hasard 1
17082014-ligue1-bordeaux-monaco hasard 1

Mes pronos pour ce week-end :

C'est la première fois que je participe (oui/non) : non

match pseudo prono
15082014-ligue1-caen-lille adndebanane N
16082014-ligue1-paris-bastia adndebanane 1
16082014-ligue1-lens-guingamp adndebanane N
16082014-ligue1-lorient-nice adndebanane 1
16082014-ligue1-metz-nantes adndebanane 2
16082014-ligue1-rennes-evian adndebanane N
16082014-ligue1-toulouse-lyon adndebanane 2
17082014-ligue1-marseille-montpellier adndebanane 1
17082014-ligue1-stetienne-reims adndebanane 1
17082014-ligue1-bordeaux-monaco adndebanane 2

Édité par adndebanane

+0 -0

Wouallez je me laisse tenter ! J'aime bien l'idée.

C'est la première fois que je participe (oui/non) : Oui

match pseudo prono
15082014-ligue1-caen-lille Why Not ? 2
16082014-ligue1-paris-bastia Why Not ? 1
16082014-ligue1-lens-guingamp Why Not ? 2
16082014-ligue1-lorient-nice Why Not ? N
16082014-ligue1-metz-nantes Why Not ? 1
16082014-ligue1-rennes-evian Why Not ? 1
16082014-ligue1-toulouse-lyon Why Not ? 2
17082014-ligue1-marseille-montpellier Why Not ? 1
17082014-ligue1-stetienne-reims Why Not ? 1
17082014-ligue1-bordeaux-monaco Why Not ? N
+0 -0
Auteur du sujet

Merci à tous pour votre participation à la seconde journée de championnat ! Je vous retrouve dimanche soir pour la mise à jour du classement !

Les super-pronos de Clem

matchs super-pronos
15082014-ligue1-caen-lille 2
16082014-ligue1-paris-bastia N
16082014-ligue1-lens-guingamp 2
16082014-ligue1-lorient-nice 1
16082014-ligue1-metz-nantes N
16082014-ligue1-rennes-evian 1
16082014-ligue1-toulouse-lyon N
17082014-ligue1-marseille-montpellier 1
17082014-ligue1-stetienne-reims 1
17082014-ligue1-bordeaux-monaco 1

Rappel : les pronostics des membres participant pour la première fois à l'atelier ne sont pas pris en compte dans la prise de décision de Clem - cf. Notes


Édité par adndebanane

+0 -0
Auteur du sujet

Résultats de la seconde journée de Ligue 1

Vous retrouverez toutes les statistiques des matchs de cette seconde journée sur le site de la ligue et tous les buts sur cette vidéo.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
Vendredi 15 août 2014

20:30   SM Caen         0 - 1       LOSC Lille  

Samedi 16 août 2014

17:00   Paris Saint-Germain     2 - 0       SC Bastia   
20:00   RC Lens         0 - 1       EA Guingamp     
20:00   FC Lorient      0 - 0       OGC Nice    
20:00   FC Metz         1 - 1       FC Nantes   
20:00   Stade Rennais FC        6 - 2       Evian TG FC     
20:00   Toulouse FC         2 - 1       Olympique Lyonnais  

Dimanche 17 août 2014

17:00   Olympique de Marseille      0 - 2       Montpellier Hérault SC
17:00   AS Saint-Etienne        3 - 1       Stade de Reims  
21:00   Girondins de Bordeaux       4 - 1       AS Monaco 

Qu'avez-vous pensé de cette journée ? Un but, une action en particulier ?

Classement des participants à l'atelier

Je profite de cette journée pour introduire un classement intuitif : le pourcentage de bons pronostics réalisés depuis la première participation.

Classement par pourcentage de bons pronostics après 2 journées de championnat

Bravo à Why Not ? qui fait une bonne entrée dans le classement, avec 6 pronostics sur 10 justes sur cette seconde journée ! Notez aussi la bonne entrée de Clem (en orange) ! Le hasard (joueur virtuel pronostiquant au hasard l'issue de chaque match, en bleu) complète le trio de tête.

La figure suivante présente les poids de chaque joueur, qui entreront en compte dans l'algorithme qui calculera les pronostics de Clem pour la prochaine journée de championnat.

Classement par poids après 2 journées de championnat

Le tableau suivant résume les poids (weights), le nombre de matchs pronostiqués (nb_match_played) et le nombre de pronostics réussis (en %) (efficiency) par joueur (expert).

1
2
3
4
5
6
7
8
9
       expert      weights nb_match_played efficiency
  adndebanane 3.051758e-05              20         25
       Nath22 1.220703e-04              20         35
       hasard 3.906250e-03              20         60
         Vinm 7.689948e-05              10         30
        Asvin 1.537990e-04              10         40
      hichbra 1.537990e-04              10         40
     Aure1000 1.537990e-04              10         40
    Why Not ? 6.151958e-04              10         60

Troisième journée de Ligue 1

Pour participer, il vous suffit de copier/coller le code markdown suivant, d'indiquer si c'est la première fois que vous participez à l'atelier puis de remplacer pseudo par votre pseudo et N par votre pronostic.

Vous pouvez poster vos pronostics jusqu'à vendredi 22 août, 12h.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
C'est la première fois que je participe (oui/non) : 

match | pseudo | prono
------|--------|------
22082014-ligue1-evian-paris | pseudo | N
23082014-ligue1-guingamp-marseille | pseudo | N
23082014-ligue1-bastia-toulouse | pseudo | N
23082014-ligue1-lille-lorient | pseudo | N
23082014-ligue1-montpellier-metz | pseudo | N
23082014-ligue1-nice-bordeaux | pseudo | N
23082014-ligue1-reims-caen | pseudo | N
24082014-ligue1-lyon-lens | pseudo | N
24082014-ligue1-stetienne-rennes | pseudo | N
24082014-ligue1-nantes-monaco | pseudo | N

Bonne chance ;)

+0 -0

C'est la première fois que je participe (oui/non) : NON

match pseudo prono
22082014-ligue1-evian-paris Asvin 2
23082014-ligue1-guingamp-marseille Asvin N
23082014-ligue1-bastia-toulouse Asvin 2
23082014-ligue1-lille-lorient Asvin 1
23082014-ligue1-montpellier-metz Asvin 1
23082014-ligue1-nice-bordeaux Asvin 2
23082014-ligue1-reims-caen Asvin 1
24082014-ligue1-lyon-lens Asvin 1
24082014-ligue1-stetienne-rennes Asvin N
24082014-ligue1-nantes-monaco pseudo 2

intéressant de voir que le hasard à plutôt bien fait les choses :) sinon sur cette journée à retenir un zlatan blessé, le coup de boule de brandao ! sa carrière en ligue 1 est terminé je pense. je retiens également la défaite de l'OM, qui plus est à domicile… les matchs de prépa semblaient être de bon augure mais les deux premières journées nous font douter… du coup je pense qu'ils vont déjouer à nouveau dans la 3e journée de championnat

et bien sur je pense qu'il faut parler de monaco, je pense que cet un accident mais bon… la 3e journée m'en dira plus :)

+0 -0

@adndebanane : tu devrais faire jouer chaque semaine en plus un joueur "virtuel" qui ne fait que tirer les résultats au hasard. Les résultats qu'il obtiendra chaque semaine auront peu de sens indépendamment mais en auront sur la durée. Ça permetra a chacun de savoir si il est meilleur ou pire que le hasard.

Kje

Au lieu du joueur virtuel, il suffit de voir si vos scores sont meilleurs que 33%, comme indiqué dans le premier post. Le fait d'avoir un joueur "hasard" qui fait des vrais pronostics ne peut qu'induire en erreur ; il fera de très bonnes et de très mauvaises semaines, sans que ce soit très pertinent.

Ce joueur peut être avantageusement remplacé par une ligne horizontale sur les graphiques pour visualiser la barre des 33% que tout le monde devrait dépasser sur la durée. Un joueur virtuel intéressant pourrait être basé sur les côtes le vendredi midi.

+0 -0
Staff

Oui mais dans ce cas là on ne va pas voir son influence dans le classement des joueurs pour la pondération automatique. Je trouvais ça drôle de voir l'évolution de sa responsabilité dans le choix collectif.

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte