Une obscure province des États-Unis d'Europe va bientôt tenir
l'élection de son gouverneur. Les deux candidats encore en course
s'appellent M. Sarlande et M. Holkozy. Toutes sortes d'instruments
sont utilisés pour mesurer l'état de l'opinion de l'électorat avant
cette échéance (sondages, pronostics de politologues et autres boules
de cristal), mais au final on aimerait avoir des résultats lisibles
sous la forme M. Sarlande a x% de chances d'être élu
gouverneur, M. Holkozy a (100−x)% de chances
. Déjà, il
est un peu difficile de donner un sens à une telle affirmation : si je
prétends que M. Sarlande a 85% de chances et M. Holkozy en a 15%, que
l'un ou l'autre soit élu, on ne pourra pas me dire que j'avais tort
(après tout, les deux nombres étaient strictement positifs) ; or
l'expérience (=l'élection) n'a lieu qu'une fois, on ne va pas la
répéter d'une manière qui permette de donner un sens statistique aux
probabilités.
On pourrait cependant faire des statistiques pour
savoir si je suis un fin analyste politique. Si, par exemple, à
chaque fois qu'il y a une élection je fais un pronostic du style le
candidat 1 a une probabilité q1 d'être élu, le
candidat 2 en a q2, le candidat 3 en
a q3, etc.
(la somme
∑i(qi) des
probas annoncées valant 1), si c'est le candidat numéro i
qui est effectivement élu on m'attribue un score de fiabilité
de valeur log(n)+log(qi)
où n est le nombre total de candidats. (Pourquoi
log(qi) ? Parce qu'il est facile de
se convaincre que la stratégie optimale pour maximiser son succès dans
ce contexte, si on connaît les « vraies »
probabilités pi, consiste à annoncer
effectivement qi=pi,
auquel cas on a une espérance de gain de l'opposé de
l'entropie
de Shannon de la distribution, plus le terme ajouté
log(n) (=l'entropie d'une distribution uniforme sur les
candidats) qui est là pour assurer qu'on ne gagne ni ne perd rien en
faisant la prévision triviale de donner la même
proba qi=1/n à chaque
candidat.) Par exemple, quand je prédis 85% de chances à M. Sarlande
et 15% à M. Holkozy, il convient d'ajouter 0.77 logons à mon score de
fiabilité si c'est le premier qui est élu et d'y retranche 1.74 logons
si c'est le second qui est élu. Et si mes chiffres sont corrects, mon
espérance de score est de 0.39 logons.
(Le mot logon
indiquant que
j'ai pris des logs base 2.) Si on somme ce score fiabilité sur un
grand nombre de prévisions, on peut comparer mes capacités d'analyse à
celles d'autres analystes. Je me dis souvent qu'on devrait faire des
concours de prévisions de ce genre entre analystes politiques.
Bon, maintenant, comme les gens aiment bien jouer aux jeux de
hasard, inévitablement, on va vouloir transformer cette question
d'évaluer les chances en un pari. La conversion est la suivante :
dire que je considère que M. Sarlande a x% de chances
d'être élu et que M. Holkozy en a (100−x)%, ça signifie que
je suis prêt à accepter de payer x¤ pour un contrat qui me
promet 100¤ si c'est M. Sarlande qui gagne, et dualement
(100−x)¤ pour un contrat qui me promet 100¤ si c'est
M. Holkozy qui l'emporte. Il y a donc moyen de mettre en place un
marché de tels contrats, laisser faire l'axiome libéral de
l'efficience des marchés, et voir ce qu'il en résulte. C'est ce que
fait le
site intrade.com
(dont le fonctionnement
est résumé
ici), et sur lequel on peut notamment voir le cours de
MM. Sarlande et
Holkozy ici
et là
(à moins que ce soit le contraire). Ces cours (le prix auquel
s'échange un contrat je paie 10$ en cas d'élection de Untel
) se
lisent assez directement comme des probabilités, c'est assez agréable.
Il serait intéressant de les évaluer sur un grand nombre d'élections
selon le score de fiabilité que je propose plus haut. À vrai dire, je
ne suis pas trop convaincu par l'efficience de ces marchés, qui ont
des volumes assez petits dont les acteurs sont largement des
Américains pas forcément bons analystes de la situation politique
française (même si ceux qui parient, évidemment, doivent se
renseigner). La logique voudrait que j'intervinsse moi-même dans le
marché si je m'estime meilleur analyste (ou simplement pour acheter
une assurance
contre l'élection d'un candidat qui me
déplairait), mais j'ai assez peu de confiance dans ce genre de site et
dans mes chances de récupérer effectivement une grosse somme d'argent
si je parie comme je le pense.
Un système apparenté mais différent est utilisé par les bookmakers
anglais : il s'agit cette fois de cotations (on n'échange pas des
contrats mais on place des paris à une certaine cote), et on
peut voir
ici une synthèse des cotes qu'ils attribuent (c'est un peu pénible
à lire : le système traditionnel
d'affichage de la cotation
indique la fraction de la mise qu'on récupère en plus de
celle-ci si on a raison sur la prévision — sachant que si on a tort on
perd tout ; alors que le système décimal
indique combien on
récupère au total, mise comprise, si on a raison, comme un nombre
décimal).
J'en viens à la question qui m'a pas mal tracassé : comment fait-on, au juste, pour établir une cote de paris ? (Autrement dit, je veux imaginer un système où chacun peut décider de placer un pari sur un des candidats, à une cote instantanée déterminée automatiquement en fonction des paris précédents, pari qui sera payé par une autorité centrale organisatrice, et pas un système de marché comme sur intrade.com ; notamment, une personne doit pouvoir parier même si elle est seule à le faire.)
Une première idée naïve pour un système de paris pourrait être ceci : tous ceux qui le veulent placent un pari de la somme qu'ils veulent sur un des deux candidats, toutes ces sommes sont mises en commun (mettons que u zorkmids aient été pariés sur Sarlande et v sur Holkozy), et lorsque le gagnant est connu, la somme totale u+v est redistribuée à ceux qui ont parié sur ce gagnant, proportionnellement à leur mise (donc par exemple si c'est Sarlande qui gagne, la mise de ceux qui ont parié sur lui est multipliée par (u+v)/u, autrement dit ils emportent v/u fois leur mise en plus de celle-ci). Ce système est extrêmement simple, mais souffre de défauts rédhibitoires : essentiellement, la cote est la même pour tous et n'est connue qu'à la clôture des paris et ne dépend pas du moment où on a parié — ce qui va conduire à des paris de dernière minute alors que le résultat de l'élection se précise, et pénaliser les parieurs de la première heure qui auraient une vision claire bien en avance. On peut imaginer un tel système où les paris seraient clos à une date butoir, ou renouvelés dans le temps, ou ce genre de choses, mais on ne résout pas vraiment le problème.
Ensuite, je me suis imaginé la chose suivante : lorsqu'on parie une somme sur l'un des deux candidats, la cote instantanée utilisée est donnée simplement par le rapport entre la somme totale qui a été pariée sur l'un et celle qui a été pariée sur l'autre. Plus exactement, le système serait le suivant : initialement, l'autorité centrale place 100¤ (disons) comme somme fictive pariée sur Sarlande et autant sur Holkozy ; puis, si à un instant donné u zorkmids ont été pariés sur le premier et v sur le second, et si je veux miser δ (une somme infinitésimale) sur Sarlande, je récupérerai δ·(u+v)/u (c'est-à-dire ma mise δ plus encore δ·v/u de bonus) si j'ai eu raison et 0 (=ma mise est perdue) si j'ai eu tort. On convient que les cotations sont modifiées instantanément : pour parier une somme non infinitésimale, il faut diviser celle-ci en mises infinitésimales et faire l'intégrale qui convient — je n'insiste pas là-dessus. L'ennui c'est qu'avec ce système, les pertes de l'autorité centrale ne sont pas bornées : si après la mise fictive initiale de 100¤ de chaque côté je suis seul à parier et que je mise A sur Sarlande, et si j'ai gagné, je récupère ma mise A plus un gain de 100¤·log(1+(A/100¤)) payé par la banque (comme on le vérifie en calculant l'intégrale — ici écrite en MathML — qui vaut ). La divergence est certes logarithmique, mais elle est là (sans regarder le détail de l'intégrale, on voit bien que la divergence doit être logarithmique parce que le gain varie comme l'inverse de u).
Voici comment on peut y remédier. Disons que la banque
(=l'autorité qui mène les paris) veut limiter ses pertes à 100¤ dans
le pire cas. Elle met donc initialement 100¤ dans deux comptes, le
compte u somme pariée sur Sarlande et restant à
distribuer
et le compte v somme pariée sur Holkozy
et restant à distribuer
. Si je veux miser δ (une somme
infinitésimale) sur Sarlande, ce δ est ajouté
à u comme précédemment, et placé à la même cote que
précédemment (je
récupérerai δ·(u+v)/u en
cas de victoire de Sarlande, c'est-à-dire ma mise
plus δ·v/u), mais cette fois
je déduis la somme δ·v/u du
compte v, puisque c'est à partir de là que je paie les
gains. Il est facile de se convaincre que dans ce système, le
produit u·v (ou, si on veut, la moyenne
géométrique entre les deux) reste constant ; la banque réalise un
bénéfice net de v−100¤ si c'est Sarlande qui gagne,
et u−100¤ si c'est Holkozy, ses pertes sont donc minorées
dans le pire cas (le reste des gains éventuels venant des mises des
autres joueurs). Cette fois, si après la mise fictive initiale de
100¤ de chaque côté je suis seul à parier et que je parie A
sur Sarlande, et si j'ai gagné, je récupère ma mise A plus
un gain de 100¤·(A/(100¤+A)) payé par la banque,
puisque u vaut 100¤+A après mes mises
et v vaut 10000¤²/(100¤+A). Cette fois il n'y a
pas de divergence puisqu'on intègre quelque chose
en v/u, c'est-à-dire en fait en 1/u²
(précisément, l'intégrale est
ce qui vaut
).
Ce système semble mathématiquement assez naturel (et se généralise assez bien à plus de 2 candidats), et il me rappelle l'apparition de la moyenne géométrique que j'avais vue dans la réalisation des paniers de monnaies. Mais je ne sais pas si elle porte un nom standard, ni si c'est ce qu'utilisent les bookmakers anglais (modulo leurs marges, et modulo le fait qu'ils ne remettent évidemment pas à jour leur cotation instantanément).