Fabriquer des données comme des montants de fausses factures demande un certain doigté car il existe des tests statistiques permettant de mesurer leur vraisemblance. Le plus usité de ces tests consiste à vérifier que les données suivent la surprenante loi de Benford, qui dit que le chiffre le plus à gauche de données statistiques est plus souvent un 1 qu’un 2, plus souvent un 2 qu’un 3 et ainsi de suite jusqu’à 9.
Par exemple, en examinant les données de la population de 196 pays, on constate que 55 pays soit 28.1% ont une population qui commence par le chiffre 1 alors qu’il n’y en a que 11 (5.6%) dont la population commence par un 9. Étonnant, non ?
Et ce phénomène se produit pour une multitude de données aussi différentes que la longueur des rivières, les cornes et les oeufs les cours de la bourse, la quantité de minerai extrait, l’âge des capitaines, etc. La loi de Benford reste valable quelles que soient les unités de mesure utilisées, ou la base considérée. Elle s’applique même au second chiffre, qui est plus fréquemment un 0 qu’un 9 (12% contre 8% environ). A partir du 3ème chiffre, les probabilités prévues la loi de Benford généralisée au n-ième digit deviennent très proches des 10% auxquels on s’attend d’après la loi de probabilité uniforme:
Donc la prochaine fois qu’on vous présentera une liste de nombres, vérifiez rapidement que près d’un tiers commencent par le chiffre 1. Si ce n’est pas le cas, passez en mode méfiance.
Pour une analyse plus rigoureuse, on utilise des tests statistiques comme le test du χ² pour déterminer si des données suivent bien la loi « naturelle » de Benford. Par exemple sur les populations des 196 pays, on obtient χ²= 1.69 pour le premier digit. D’après cette table (ligne 8 car il y a 9 chiffres possibles pour le 1er digit) , on peut être confiant à 95% que ces données de population mondiale suivent la loi de Benford, alors que si on génère 196 valeurs avec la fonction RAND d’Excel on obtient un χ²= 112 environ indiquant qu’il n’y a pas une chance sur mille qu’elles aient été produites par un processus « naturel » (*).
Ce test est aujourd’hui appliqué dans plusieurs domaines : fraude fiscale ou électorale, comptabilité [1] et a montré par exemple que « les données financières rapportées par le Grèce montrent la plus grande déviation par rapport à la loi de Benford de tous les pays de la zone Euro. » [2] Ce qui ne signifie pas que la Grèce ait plus fraudé que les autres, mais seulement qu’elle a (probablement) fraudé moins bien.
Car il est facile de fabriquer des données satisfaisant la loi de Benford, et donc de passer le test du χ². Voici 3 méthodes:
- Recycler des données déjà existantes dans un autre contexte, comme celles de la population des pays. On peut supprimer ou changer les chiffres les plus à droite, tant qu’on ne touche pas aux 2 digits de gauche, ça passe.
- Utiliser un générateur de nombres aléatoires fabriquant le nombre digit par digit en respectant les probabilités de la loi de Benford. Il existe de tels générateurs en ligne [3]
- Appliquer la formule magique Excel = POWER(10;6*RAND()) pour obtenir des nombres « Benford compatibles » entre 0 et un million (10^6)
La formule « magique » est aussi simple que ça parce que la loi de Benford n’est pas mystérieuse [4] : elle traduit simplement le fait que dans la nature, la taille d’un nombre a plus de « sens » que sa valeur exacte. Pour choisir un grand nombre au hasard, il faut donc surtout choisir au hasard sa taille, donnée par son logarithme. Jean-Paul Delahaye clarifie ceci dans le « Pour la Science » de novembre [5]. En utilisant la complexité de Kolmogorov, il relie la loi de Benford à la loi de Zipf (dont Xochipili a causé ici) , mentionne au passage mon désormais célèbre « nuage de Sloane » et arrive à cette conclusion:
Le monde mathématique est déconcertant : l’infini dénombrable, le plus simple de tous, semble interdire qu’on en pioche les éléments au hasard équitablement, alors que le continu de l’intervalle [0,1], plus gros et plus compliqué que l’infini dénombrable, l’autorise. Heureusement, la loi de Zipf( ou de Benford, nDrG), à sa façon, joue ce rôle de probabilité uniforme sur les entiers.
La loi de Benford s’applique donc lorsque les données couvrent plusieurs ordres de grandeur [6]
Pour terminer, voici pourquoi je m’intéresse (aussi…) à la loi de Benford. J’ai été nommé à la Commission Électorale Centrale, qui surveille le bon déroulement des votations et élections du Canton de Genève. Parmi divers tests anti-fraude effectués, il y a un test de χ² sur la loi de Benford du 2ème digit (2BL) publié après chaque vote (par exemple [6]), mais auquel je ne comprenais pas grand chose.
Maintenant ça va mieux:
- J’ai compris que ce test ne permet pas de détecter des fraudes commises par des électeurs mais « seulement » une éventuelle falsification des résultats par l’administration chargée du dépouillement.
- Or comme le dit très bien un article récent sur la fraude électorale « ce n’est pas le vote qui fait la démocratie, c’est le dépouillement » [7]
- Si le test de Benford a permis de soupçonner des irrégularités dans certaines élections [8], il est fortement contesté [9,10,11], en particulier pour les élections avec peu de bureaux de vote où le nombre de votants ne varie pas sur plusieurs ordres de grandeur. Or ce dernier point est crucial pour l’applicabilité du test [12].
- J’ai une feuille de calcul Google munie de fonctions Javascript permettant d’effectuer ce test. Et aussi un module Python. Je publierai ce code bientôt, mais en jouant avec sur des votes falsifiés par mes soins, il me semble de plus en plus que le test de Benford est compliqué et peu fiable…
- Il existe des tests plus simples, facilement compréhensibles et rapides comme celui dont a causé Guillaume [7] : un simple graphique X/Y affichant un point par bureau de vote aux coordonnées participation/résultat. En voici un que j’ai fait avec les résultats d’un vote récent [6] . C’est pas plus clair que de savoir que χ² =5.096106 ?
Note*: en fait l’interprétation de la table est plus délicate que ça, et ma « sur-vulgarisation » de ce passage traduit mon inconfort avec le langage des stats… Si quelqu’un pouvait m’aider via un commentaire éclairé svp…
Références:
- Xavier Labouze et Robert Labouze « La détection des fraudes comptables« , 2000, Revue Française de Comptabilité n°321
- Bernhard Rauch, Max Göttsche, Gernot Brähler, & Stefan Engel (2011). Fact and Fiction in EU-Governmental Economic Data German Economic Review, 12 (3), 243-255 DOI: 10.1111/j.1468-0475.2011.00542.x
- Robert Harder « How To Generate Your Own Benford’s Law Numbers » 2010 (avec générateur PHP en ligne)
- Nicolas Gauvrit, & Jean-Paul Delahaye (2008). Pourquoi la loi de Benford n’est pas mystérieuse Mathématiques & Sciences humaines (182) DOI: 10.4000/msh.10363 (pdf)
- Jean-Paul Delahaye, « Les entiers ne naissent pas égaux », Pour la Science N°421 – novembre 2012
- « Tests de détection de fraudes pour la votation du 23 septembre 2012« , Chancellerie d’Etat, Canton de Genève, Suisse
- Peter Klimek, Yuri Yegorov, Rudolf Hanel, & Stefan Thurner (2012). It’s not the voting that’s democracy, it’s the counting: Statistical detection of systematic election irregularities PNAS DOI: 10.1073/pnas.1210722109 (pdf)
- Luis Pericchi, & David Torres (2011). Quick Anomaly Detection by the Newcomb–Benford Law, with Applications to Electoral Processes Data from the USA, Puerto Rico and Venezuela Statistical Science, 26 (4), 502-516 DOI: 10.1214/09-STS296 (pdf)
- Walter R. Mebane, « Election Fraud or Strategic Voting? Can Second-digit Tests Tell the Difference?« , Summer Meeting of the Political Methodology Society, University of Iowa, July 22–24, 2010
- Joseph Deckert, Mikhail Myagkov and Peter C. Ordeshook « The Irrelevance of Benford’s Law for Detecting Fraud in Elections«
- Susumu Shikano and Verena Mack, « When Does the Second-Digit Benford’s Law-Test Signal an Election Fraud? Facts or Misleading Test Results », Journal of Economics and Statistics (Jahrbuecher fuer Nationaloekonomie und Statistik, 2011, vol. 231, issue 5-6, pages 719-732
- Antoine Nectoux « La loi de Benford: Apprendre à frauder ou à détecter les fraudes? » sur Blog Projet Klein, 2012
[altmetric doi= »10.1111/j.1468-0475.2011.00542.x » float= »right »]
[altmetric doi= »10.4000/msh.10363″ float= »right »]
[altmetric doi= »10.1073/pnas.1210722109″ float= »right »]
[altmetric doi= »10.1214/09-STS296″ float= »right »]
11 commentaires sur “Fraudez fort, fraudez Benford”
Si vous êtes arrivés sur cette page depuis le « problème du mois » de RTS Découverte, vous êtes au bon endroit 😉
Concernant l’interprétation des stats: ces « p-values » que l’on obtient des tables statistiques sont effectivement (et notoirement) compliquées à interpréter.
Pour la première: χ²=1.69, qui est plus petit que le 2.73 indiqué dans la table. On en déduit que la p-value p est au dessus de 0.95 (« p>0.95 », précisément p=0.99), ce qui signifie que si les données sont effectivement distribuées selon la loi de Benford, on a une probabilité 0.99 d’observer un tel résultat ou un résultat plus extrême. En d’autres termes: les données obtenues sont très compatibles avec la loi de Benford + une certaine variation aléatoire.
Si χ²=112, on a « p<0.001" (valeur "un peu" plus fine: p<1e-22…) qui montre qu'un processus qui suit la loi de Benford ne donnerait "quasiment" jamais (le quasiment est là uniquement pour la rigueur…) un tel résultat uniquement à cause de variations aléatoires (un tirage plutôt qu'un autre, p.ex.).
La première interprétation ("on peut être confiant à 95% que ces données de population mondiale suivent la loi de Benford") est erronée: on montre juste que le résultat obtenu est cohérent avec un processus suivant la loi de Benford, mais on n'en tire pas une quantification de la confiance. Dans le 2ème cas ("il n'y a pas une chance sur mille qu'elles aient été produites par un processus "naturel"), l'interprétation est correcte (en remplaçant "naturel" par "suivant la loi de Benford).
Mais ces p-values sont subtiles; entre autres, le nombre d'observations a une grande influence dessus, et on leur fait souvent dire plus qu'elles ne le peuvent (c'est clairement le cas par exemple dans les analyses des votations genevoises).
Merci beaucoup pour ces précisions. J’avoue volontiers ne pas être à l’aise avec ces notions et ces nuances relativement claires en langage mathématique me semblent souvent difficiles à traduire clairement en français.
Oui, c’est un problème central de ce type de statistiques: elles sont utilisées partout, mais sont très contre-intuitives. En gros, il faut y avoir été exposé en détail 3 fois (dans trois cours différents, p.ex.) pour avoir l’impression de les maitriser. Et elles sont controversées (cf p.ex. le livre « The Cult of Statistical Significance », de Ziliak and McCloskey).
J’ai trouvé un article de Ziliak et McCloskey en ligne qui m’a fait envie… Ajouté leur livre dans ma liste « à lire », merci !
Il va falloir que je lise ça avant de me lancer dans un projet d’article que j’ai depuis l’histoire des téléphones portables sur comment interpréter des résultats d’études scientifiques apparemment contradictoires.
Oui pour que la loi de Benford marche bien il faut vraiment que la quantité considerée varie sur plusieurs ordres de grandeur, et que la probabilité soit à peu pres identique d’un ordre de grandeur à l’autre.
Donc pour la pyramide des ages, c’est un peu juste à mon avis : il faudrait qu’il y ait autant de bébés entre 1 et 10 mois que d’enfants entre 10 et 100 mois, que de gens entre 100 et 1000 mois.
Là où çà marche le mieux je crois, c’est justement quand on prend une liste de chiffres assez hétérogènes, par exemple l’ensemble des nombres qui figurent dans un exemplaire donné d’un journal économique.
«ce phénomène se produit pour [ … ] l’âge des capitaines»
bof, quand l’age du capitaine commence par 1, ça me donne furieusement l’envie de débarquer !
Et n’allez pas me reprocher un esprit critique .
Merci pour tous vos articles.
Effectivement, pour l’âge des capitaines il faut soit les mesurer en jours ou mois, soit utiliser le 2ème digit car exprimés en années, ils ne varient pas sur plusieurs ordres de grandeur.
On ne reproche JAMAIS l’esprit critique sur ici car c’est une grande qualité. Merci et bienvenue !
La loi de Benford s’applique-t-elle à la pyramide des âges ?
Cela semble être le cas pour l’Angola : https://upload.wikimedia.org/wikipedia/commons/3/31/Afghanistan_population_pyramid_2005.png mais pas pour la France : https://upload.wikimedia.org/wikipedia/commons/thumb/c/c4/Pyramide_age_fr.svg/512px-Pyramide_age_fr.svg.png
C’est pourtant bien une données statistique, non ?
Mais que voilà une bonne question, merci de l’avoir posée 🙂
A priori je dirais que oui, le nombre de personnes à chaque âge devrait suivre Benford car il varie sur plusieurs ordres de grandeur (des milliers de bébés et des dizaines de centenaires). Mais d’un autre côté c’est une dynamique assez déterministe qui pilote la démographie, qui est, sauf accident, une courbe assez lisse. Le hasard n’y joue pas un grand rôle, donc j’ai un doute.
Alors pour en avoir le coeur net, j’ai pris les valeurs numériques de la pyramide des âges suisse de « la feuille Excel au bas de cette page et je les ai collé dans ma feuille de calcul Google et j’ai obtenu le chi2 du premier digit = 55.95 : pas bon. En regardant les valeurs, on voit qu’elles oscillent autour de 100’000, ce qui fait qu’on a 37% de 1 et 13% de 9 et de 8, mais seulement entre 5 et 6% de 2,3,4,5,6
C’est un cas où certains préconisent d’utiliser le 2ème digit. Et effectivement le 2ème digit suit bien Benford avec un chi2 de 6.51.
pour l’Angola, la France ou un autre pays, il me faudrait les données détaillées, année par année pour qu’il y en ait assez. Je vais aussi réfléchir à un test de Benford en ligne pour que chacun puisse jouer lui-même…
il ya dans le cas de l’angola et de la france de grosses différences factuelles qui facilitent aussi la validation des statistiques, dans ce cas guerre d’indépendance et chaos prononcés qui dure depuis les années 60. C’est d’ailleurs bien la raison qui pousse à prendre avec des pincettes les statistiques sur l’allongement de la vie, vu que cela a été biaisé par les 2 guerres mondiales. Mais c’es toujours mieux que rien.