La loi de Benford: Apprendre à frauder ou à détecter les fraudes?

Vignette écrite par Christiane Rousseau.
Il est vraiment risqué de modifier trop de nombres dans un document financier si on ne s’y connaît pas en mathématiques. En effet, dans de tels documents les nombres suivent souvent une règle mathématique étrange appelée loi de Benford, ou loi des nombres anormaux. Si on oublie de suivre cette règle les nombres échoueront des tests statistiques et seront alors étudiés avec soin. La loi de Benford assure que si vous collectez aléatoirement des nombres et calculez les fréquences de leur premier chiffre non nul, alors 30% des nombres devraient avoir 1 comme premier chiffre non nul, alors que seulement 4.5% des nombres devraient avoir 9 comme premier chiffre non nul. Cette règle peut être observée dans de nombreux ensembles de nombres, comme les puissances de 2 ou la suite de Fibonacci.

Pourquoi?

Nous avons des explications satisfaisantes, que nous allons partager avec vous.

Le loi de Benford concerne la distribution du premier chiffre non nul des nombres. Le premier chiffre non nul d’un nombre positif est le chiffre non nul se situant le plus à gauche de son écriture décimale. Par exemple, le premier chiffre non nul de \pi est 3, celui de 2371.5 est 2, et celui de 0.00563 est 5. Une autre façon de le définir, qui sera utile pour notre discussion mathématique, consiste à écrire tout nombre réel positif x comme un nombre m \in [ 1 , 9 ) multiplié par une puissance de 10:

    \[x = m 10^n ~ , ~~ n \in \mathbb{Z}.\]

Le premier chiffre non nul de x est alors la partie entière de m, ce qui peut être noté \lfloor m \rfloor. Le nombre m est appelé la mantisse de x. Déclarons maintenant que que si vous collectez des nombres aléatoires et calculez la fréquence B(i) du premier chiffre non nul i, alors B(i) est donné approximativement par \log_{10} (1 + \frac{1}{i}). Ceci nous donne les fréquences:


Rendered by QuickLaTeX.com

Tableau 1: Fréquences de la loi de Benford.

Figure 1: Fréquences B(i) de la loi de Benford.

Donnons à présent une brève note historique. Le phénomène a d’abord été observé par l’astronome Simon Newcombe (1835-1909) qui a remarqué que les premières pages des tables logarithmiques correspondant à des premiers chiffres non nuls faibles étaient bien plus remplies que les pages suivantes. Sa découverte a été oubliée et la loi a été redécouverte par Frank Benford (1883-1948) vers 1938. Frank Benford a collecté des dizaines de milliers de nombres d’origines diverses suivant sa loi. La base de données moderne de Simon Plouff e, qui contient 215 millions de constantes mathématiques, suit également la loi de Benford.

Beaucoup d’ensembles de nombres non aléatoires suivent également la loi de Benford. C’est le cas des populations de pays, de leurs superficies, des longueurs des rivières, etc. Peut-être allez-vous me demander d’arrêter et commencez à douter… Dans quelle unité ces longueurs et superficies sont elles écrites? Les longueurs sont-elles des miles ou des kilomètres? Ça n’a aucune importance… Si les longueurs des rivières en kilomètres suivent la loi de Benford alors les longueurs des rivières en miles suivent la loi de Benford aussi! Un changement d’unité correspond à un changement d’échelle. Nous allons voir que la loi de Benford est invariante par changement d’échelle. De plus, c’est la seule loi de probabilité qui soit invariante par changement d’échelle.

Figure 2: Des données suivant approximativement la loi de Benford: superficies de pays en kilomètres carrés, en miles carrés, et populations de pays.

Je vous ai dit en introduction que les nombres de la suite de Fibonacci suivent la loi de Benford. Mais d’une certaine façon la loi de Benford est subjective, puisqu’elle dépend de la base 10 dans laquelle nous écrivons les nombres. Dans une base bb \neq 10, les chiffres non nuls sont les éléments de l’ensemble \{ 1; ... ; b-1\}, et la loi de Benford en base b nous dit que la fréquence du premier chiffre non nul i est B_b (i) = \log_b (1+\frac{1}{i}). Et bien les nombres de la suite de Fibonacci suivent la loi de Benford dans n’importe quelle base b! La loi de Benford est invariante par changement de base. Et c’est la seule loi de probabilité non triviale qui soit invariante par changement de base.

Il est maintenant temps de donner des explications. Elles requièrent des souvenirs de vos cours de probabilité. Mais peut-être préférez-vous expérimenter vous-même la loi avant de lire des mathématiques plus sérieuses.

1. Invariance par changement d’échelle

Considérons un changement d’échelle simple obtenu en multipliant tous les nombres d’un ensemble de nombres par 2. Si on considère les nombres dont le premier chiffre est 1, alors ils sont changés en nombres dont le premier chiffre est 2 ou 3. Il est facile de vérifier que B(1) = B(2) + B(3). En effet,


Rendered by QuickLaTeX.com

De même, vous pouvez vérifier que B(2) = B(4)+B(5), etc. Mais comment faire si on change des miles en kilometers, i.e. si on multiplie les nombres par 1.6? La loi de Benford énoncée ci-dessus est trop restrictive et on a besoin de la généraliser. Que signifie avoir pour premier chiffre non nul i? Cela signifie que la mantisse m appartient à l’intervalle [i, i + 1). Donc la loi de Benford est une distribution de probabilité partielle de la mantisse. La loi de Benford généralisée (que par abus de langage nous allons appeler loi de Benford) sur la mantisse est donnée par une fonction de densité sur l’intervalle [1, 10). Lorsque l’on choisit une nombre aléatoirement, on peut calculer sa mantisse. Ceci nous donne une variable aléatoire M à valeurs dans [1, 10). On dit qu’elle suit la loi de Benford si sa fonction de densité est donnée par

    \[f(x) = \left\{ \begin{array}{ll}  \frac{1}{x \log 10}, & x \in [1 , 10 ), \\ 0, & \mbox{sinon.} \end{array}\right.\]

Si P(a \leqslant M < b) représente la probabilité que a \leqslant M < b, alors cela signifie que l’on doit avoir

    \[P( a \leqslant M < b ) = \int_a^b  f(x) d x.\]

C’est réellement une généralisation de la loi de Benford puisque


Rendered by QuickLaTeX.com

Qu’est ce que cela signifie de dire qu’une variable aléatoire X sur [1, 10) est invariante par changement d’échelle? Cela signifie que, si c est un nombre réel strictement positif et si on prend la variable aléatoire Y = cX, alors la mantisse M de la variable aléatoire Y a la même fonction de densité que X. Il n’est pas difficile de montrer que c’est le cas lorsque X suit la loi de Benford, mais il y a plusieurs cas à distinguer selon la taille de c. Nous allons étudier un cas et nous vous laisserons regarder les autres cas. On peut écrire c = m 10^r, avec m \in [1, 10) la mantisse de c. Puisque la mantisse de cX est la même que celle de mX, il suffit de considérer le cas c \in [1, 10).
Quel est l’outil pour montrer cela? Vous vous souvenez peut-être de vos cours de probabilités que la fonction de répartition est parfois plus pratique que la fonction de densité pour une variable aléatoire continue. La fonction de répartition d’une variable aléatoire M est définie par

    \[F(x) = P(M \leqslant x).\]

Si X suit la loi de Benford, alors sa fonction de répartition est donnée par

(1)   \begin{eqnarray*} F(x) = \left\{ \begin{array}{ll}  0, & x < 1, \\ \log_{10} x, & x \in [1 , 10), \\  1, & x \geqslant 10. \end{array}\right. \end{eqnarray*}

Nous devons donc montrer que si X suit la loi de Benford et M est la mantisse de cX pour c \in [1, 10), alors la fonction de répartition de M est donnée par (1).

Pour cela, nous avons besoin de calculer P(M \leqslant z) pour z \in [1, 10]. M est la mantisse de cX à valeurs dans [c, 10c). Donc M = cX, lorsque cX < 10 et cX / 10 lorsque cX \geqslant 10. Le premier cas arrive lorsque z < c. Pour que la mantisse de cX soit dans [1, c), la seule possibilité est que cX \in [10, 10c]. Alors la mantisse de cX est égal à cX / 10.
Par conséquent,


Rendered by QuickLaTeX.com

Comme prévu. Les autres cas sont étudiées de la même façon.

La réciproque est plus excitante…

2. La loi de Benford est la seule loi de probabilité de la mantisse qui soit invariante par changement d’échelle

Quel énoncé impressionnant! Et pourtant vous allez voir que sa preuve est à peine plus compliquée que la précédente. Soit X une variable aléatoire représentant la mantisse et à valeurs dans [1, 10). Regardons sa fonction de répartition F(x), avec l’hypothèse que X soit invariante par changement d’échelle. Nous avons donc besoin de calculer

    \[F(x) = P(X \leqslant x) = P(1 \leqslant X \leqslant x).\]

Nous devons donc avoir F(0) = 0 et F(10) = 1.
La difficulté principale de la preuve est dans l’interprétation de ce que cela signifie pour X d’être invariante par changement d’échelle. Puisque 1 \leqslant X \leqslant x et c \leqslant cX \leqslant cx sont les mêmes événements, on a

(2)   \begin{eqnarray*} P(1 \leqslant X \leqslant x) = P(c \leqslant cX \leqslant cx) = F(x). \end{eqnarray*}

Comme précédemment, considérons le cas c \in [1, 10) de sorte que cx < 10 (c dépend de x). Ainsi, pour c \leqslant cX \leqslant cx, cX est égal à sa mantisse. Puisque X est invariante par changement d’échelle, la mantisse de cX a la même fonction de répartition que X. Et donc

    \[P(c \leqslant cX \leqslant cx) = F(cx) - F(c).\]

En combinant avec (2) on voit que F(x) vérifie

(3)   \begin{eqnarray*} F(x) = F(cx) - F(c),~~~ F(1) = 0,~~ F(10) = 1. \end{eqnarray*}

à condition que c \in [1, 10) ne soit pas trop grand. Nous devons trouver F à partir de l’équation fonctionnel (3). Voyons comment faire cela. Si on a c = 1 + \varepsilon, cela nous conduit à

    \[F(x) = F(x(1 + \varepsilon)) - F(1 + \varepsilon)\]

qui peut être écrit

    \[\frac{F(x(1 + \varepsilon)) - F(x)}{x \varepsilon} = \frac{F(1 + \varepsilon) - F(1)}{x \varepsilon},\]

puisque F(1) = 0. Prenons la limite lorsque \varepsilon \longrightarrow 0. On reconnaît de chaque coté un quotient dont la limite est une dérivée. À gauche on a \frac{F(x + x \varepsilon) - F(x)}{x \varepsilon}, dont la limite est F'(x), et à droite on a \frac{F(1 + \varepsilon) - F(1)}{\varepsilon} qui tend vers F'(1). Par conséquent on obtient l’équation différentielle à variables séparables

    \[F'(x) = \frac{F'(1)}{x},\]

dont la solution est F(x) = F'(1) \ln x + C. Puisque F(1) = 0 on a C = 0, et puisque F(10) = 1, on a F'(1) = \frac{1}{\ln 10}. Par conséquent F(x) = \frac{\ln x}{\ln 10} = \log_{10} x et nous avons terminé!

3. Pourquoi les nombres de toutes origines suivent la loi de Benford?

Une réponse a été fournie par Theodore Hill en 1995, et nous allons discuter brièvement son idée. Bien sûr, tous les ensembles de nombres ne suivent pas la loi de Benford. Par exemple, si on considère la taille des humains en mètres, alors, à quelques exceptions près, seuls les premiers chiffres 1 et 2 vont apparaître, et si on convertit la taille en pieds (un pieds mesure environ 30 cm) on changera la loi de distribution du premier chiffre. Donc cet ensemble de nombre n’est pas invariant par changement d’échelle. Mais supposons que l’on considère un grand ensemble de nombres venant de toutes origines et que nous changeons l’échelle. Il y a des sous-ensembles de nombres avec leurs échelles particulières. Puisque l’ensemble est grand et les nombres de toutes origines, toutes les échelles sont probablement présentes. Multiplier tous les nombres de l’ensemble par une constante positive induit une permutation des échelles dans le nouvel ensemble. Donc, de façon générale, on peut considérer que l’ensemble de nombres se comporte comme s’il n’avait pas d’échelle particulière. Et donc il va suivre la loi de Benford.

Cette explication est valable pour un des ensembles de nombres venant de toutes origines. Mais elle n’explique pas pourquoi les superficies et les populations des pays, ou les longueurs des rivières, suivent la loi de Benford. Nous allons discuter des explication très récentes (2008!) pour ce cas, données par Gauvrit, Delahaye et Fewster. Leur explication est aussi valide pour de grands ensembles de nombres de toutes origines.

4. Les ensembles de nombres étalés sur plusieurs ordres de grandeur sont susceptibles de suivre la loi de Benford!

Nous travaillons en base 10 et nous avons vu que des nombres positifs x peuvent être écrits comme x = m 10^n, où m \in [1, 10) et n \in \mathbb{Z}. On peut considérer n comme l’ordre de grandeur et on dit que notre ensemble de nombre est étalé sur plusieurs ordres de grandeurs si on a plusieurs valeurs pour n dans notre ensemble de nombres. (Remarquons qu’une telle propriété est invariante par changement d’échelle!) Pour simplifier l’explication, supposons que les nombres sont dans l’intervalle [1, 10^6). Les nombres dont le premier chiffre est 1 sont ceux de l’ensemble

    \[S_1 = [1, 2) \cup [10,20) \cup [100,200) \cup [1000, 2000) \cup [10^4 , 2 \times 10^4 ) \cup [10^5 , 2 \times 10^5),\]

et des ensembles similaire S_i pour les autres chiffres. Il est préférable d’utiliser le logarithme en base 10 pour ces nombres: y = \log_{10} x. Alors y = \log_{10} m + n. Montrons que si une variable aléatoire M sur [1, 10) suit la loi de Benford, alors la variable aléatoire Z = \log_{10} M est simplement uniforme sur [0, 1). Pour cela, il suffit de montrer que la fonction de répartition de Z est celle de la variable aléatoire uniforme sur [0, 1), à savoir

    \[F(z) = \left\{ \begin{array}{ll}  0, & z < 0, \\ z, & z \in [0 , 1), \\  1, & z \geqslant 1. \end{array}\right.\]

En effet, si z \in [0, 1),

    \[P(Z \leqslant z) = P(0 \leqslant \log_{10} M \leqslant z) = P(1 \leqslant M \leqslant 10^z) = \log_{10} 10^z = z.\]

Si X appartient à l’ensemble S_1, alors Y appartient à l’ensemble T_1 = \log_{10} S_1:


Rendered by QuickLaTeX.com

et de façon similaire pour les autres chiffres. Supposons que choisir un nombre au hasard dans notre ensemble soit une variable aléatoire X à valeurs dans [1, 10^6). Alors Y = \log_{10} X est à valeurs dans [0 , 6). Rappelons que la probabilité qu’une variable aléatoire appartiennent à un ensemble est égal à l’aire entre la courbe de la fonction de densité et l’ensemble. Si la fonction de densité f de Y sur [0 , 6) était uniforme comme dans la Figure 3 (a) on aurait terminé. Cependant, ce ne sera pas souvent le cas, comme dans la Figure 3 (b). C’est pourquoi il est si important que l’ensemble de nombres de départ soit étalé sur plusieurs ordres de grandeur. Les différentes sections correspondant à un premier chiffre donné i sont étalées horizontalement sur plusieurs segments, dont la somme des longueurs est de l’ordre de \log_{10} (1 + \frac{1}{i}) de la longueur totale. Dons, même si la hauteur de f(x) n’est pas la même d’un segment à l’autre, on peut espérer que la hauteur moyenne soit du même ordre de grandeur pour les différents chiffres. Quand cela arrive, alors les données suivent la loi de Benford.

(a) fonction de densité f uniforme
(b) fonction de densité f non uniforme
Figure 3: Les aires correspondantes aux fréquences des premiers chiffres 1, 2, 3 et 4 pour deux
fonctions de densité différentes de Y. Les valeurs des aires correspondantes sont données dans la Figure 4.

(a) Fonction de densité de f
(b) Aires sous la courbe pour les premiers chiffres pour f et pour la fonction uniforme
Figure 4: Les aires correspondant aux fréquences des premiers chiffres 1, 2, 3 et 4 pour la fonction de densité de la Figure 3(b). À droite on peut voir que ces valeurs sont proches de celles obtenues par la loi de Benford dans le cas d’une fonction de densité uniforme pour Y.

5. Comment vérifier si un ensemble de nombres suit la loi de Benford?

Si vous avez suivi un cours de statistiques, vous avez probablement étudié la loi du \chi^2. Ce test nous permet de vérifier si des données suivent une distribution de probabilité. Supposons que vous voulez faire le test pour un ensemble de n nombres. Vous avez simplement besoin de construire un tableau dans lequel n_i représente le nombre de nombres dans votre ensemble ayant pour premier chiffre i. Bien sûr, n = n_1 + ... + n_9. Les N_i représentent le nombre de nombres qui auraient pour premier chiffre i si votre ensemble suivait la loi de Benford, c’est-à-dire N_i = nB(i).


Rendered by QuickLaTeX.com

Tableau 2: Le tableau pour la loi du \chi^2.

Puis vous calculez

    \[\chi^2 = \sum \limits_{i=1}^9 {\frac{(n_i - N_i)^2}{N_i}},\]

et vous regardez dans un tableau de \chi^2 à la ligne correspondant à 8 degrés de liberté. Si vous voulez faire un test avec 5% d’erreur, alors vous acceptez que les données suivent la loi de Benford si \chi^2 < 15.51, sinon vous les refusez. C’est une recette rapide, mais si vous voulez faire ce test avec vos élèves, alors prenez le temps pour vous familiariser avec les détails du test et sa signification.

6. Invariance de la loi de Benford par changement de base

Ceci pourrait être modélisé de façon similaire à l’invariance par changement d’échelle. C’est cependant plus astucieux, puisqu’on ne peut pas limiter le travail à la mantisse. En effet, si x = m 10^n, alors la partie 10^n a également besoin d’être convertie à la nouvelle base. En fait, la principale difficulté est d’exprimer en termes mathématiques ce que cela signifie pour une variable aléatoire d’être indépendante par changement de base. On saute les détails.

7. Conclusion

La loi de Benford est fascinante: elle défie l’intuition, et c’est quelque chose que vous pouvez tester vous-même et adapter à une activité en classe. Il s’agissait d’une curiosité, mais c’est maintenant un outil standard pour détecter les fraudes. Bien sûr, de plus en plus de fraudeurs en entendent parler. Mais faites attention: le premier chiffre n’est pas la seule chose à laquelle il faut faire attention. La loi de Benford généralisée permet de créer une loi pour le second chiffre, le troisième, etc. Vous pouvez essayez de le trouver vous-même: demandez-vous simplement dans quelles unions d’intervalles la mantisse d’un nombre doit être de sorte que son second chiffre soit i.

Ce post est disponible en: Anglais, Allemand, Italien, Espagnol, Arabe, Khmère, Portugais - du Brésil

This entry was posted in Vignettes. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *