La loi de Benford est une loi de probabilité discrète fondamentale qui s’observe de multiples façons dans la vie de tous les jours et est notamment utilisée aujourd’hui dans la détection des fraudes (financières, comptables, etc.). Cette loi est déjà tombée une fois dans le sujet ESSEC 2014 II voie appliquée et pourrait faire l’objet d’un sujet a priori relativement abordable.
Introduction
Afin d’étudier cette loi de Benford, il conviendra d’introduire le concept de manière empirique pour comprendre sa construction par les mathématiciens du XIXe siècle. Nous reviendrons ensuite évidemment sur sa définition et ses propriétés, avant de revenir sur la simulation Python d’une telle loi.
Concept de la loi de Benford
La loi de Benford, également connue sous le nom de « loi des nombres anormaux », est un phénomène empirique qui décrit la fréquence d’apparition des chiffres significatifs dans de nombreux ensembles de données réelles.
Contrairement à l’intuition, cette loi stipule que, dans de nombreux ensembles de données, le premier chiffre est plus susceptible d’être un 1 que tout autre chiffre.
Voici une table établissant cela :
En ce sens, la loi de Benford a diverses applications concrètes. Prenons le seul exemple de la fraude fiscale. Il est possible de relever si les données proposées comportent anormalement peu de chiffres, tels que le 1, le 2 ou le 3. En te référant à la précédente table, ces chiffres sont censés représenter à eux seuls environ 60 % des données. Si tel n’est pas le cas, on peut soupçonner que les données ont été manipulées !
Note : avant de poursuivre, précisons que cette loi nécessite l’utilisation du logarithme de base 10 et non l’utilisation du logarithme népérien (de base \(e\)), que tu maîtrises sûrement bien plus.
Définition
La loi de Benford peut être formulée mathématiquement comme suit : la probabilité que le premier chiffre significatif d’un nombre soit \( d \) est donnée par :
\[ P(d) = \log_{10}\left(1 + \frac{1}{d}\right) \]
Où \( d \) est un chiffre de 1 à 9.
Ainsi, soit \(X\) une variable aléatoire discrète telle que \(X(\Omega) = [\![1;9]\!]\) où \(P(X=k) = \log_{10}\left(1 + \frac{1}{k}\right)\). On dit alors que \(X\) suit la loi de Benford.
Pour démontrer qu’il s’agit bien d’une variable aléatoire discrète, tu peux noter que tous les \(P(X=k)\) sont positifs et que leur somme vaut bien 1 (indice : passe par une somme télescopique ultra-classique).
Prenons un exemple qui sera plus éclairant :
En utilisant la loi de Benford, la probabilité benfordienne qu’un nombre commence par \(271\) (mais cela fonctionnerait avec tout réel), comme \( 2,71159\ldots \), \( 271285,7\ldots \) ou \( 0,00271465\ldots \) vaut :
\[
\log\left(1 + \frac{1}{271}\right)
\]
Propriétés
Espérance et variance
Espérance
L’espérance \( E(X) \) est calculée comme suit grâce au théorème de transfert :
\[ E(X) = \sum_{d=1}^{9} d \cdot P(X=d) = \sum_{d=1}^{9} d \cdot \log_{10}\left(1 + \frac{1}{d}\right) \]
En utilisant cette formule, on trouve aisément que l’espérance vaut environ 3,44.
Comment l’interpréter dès lors ?
Tu peux noter que l’espérance serait de 4,5 si toutes les issues étaient équiprobables pour un choix de nombre entre 0 et 9. Or, 3,44 < 4,5, ce qui prouve que les petits chiffres tendent à revenir plus souvent que les grands, d’après la loi de Benford. Cela se verra encore mieux lors de la représentation graphique en Python de la loi que tu peux retrouver ci-dessous.
Variance
La variance \(\text{Var}(X)\) est calculée en utilisant l’espérance de \( X^2 \) par application de la formule de Koenig-Huygens :
\[ \text{Var}(X) = E(X^2) – (E(X))^2 \]
Après le calcul de \( X^2 \), on conclut sur le fait que la variance est d’environ 6,12. Nous ne préciserons pas les calculs qui ne posent pas de difficultés particulières et sont relativement hors des enjeux de cet article.
Loi de Benford comme transformation d’une loi
Si une variable aléatoire \(X\) suit une loi uniforme sur \([0;1[\) (loi uniforme à densité donc !), alors la variable transformée \(\Gamma = \left\lfloor 10^{X} \right\rfloor\) suit la loi de Benford. Tu remarques donc au passage que la transformation passe d’une loi de probabilité à densité à une loi de probabilité discrète.
Voici un rapide rappel de la définition de la partie fractionnaire avant de démontrer cette transformation de loi :
\( \{ \log X \} \) représente en effet la partie fractionnaire de \( \log X \) et la partie fractionnaire d’un réel \(x\) se définit comme :
\[ \{x\} = x – \left\lfloor x \right\rfloor\]
L’idée n’est pas ici de démontrer cette propriété, mais simplement de remarquer quelques éléments qui reviennent souvent lors des transformées de lois classiques. On peut ici remarquer la présence de la partie entière qui permet de « transformer » une loi de variable aléatoire à densité en une loi discrète. Tu pourras ici noter que la démonstration est relativement accessible en calculant \(P(\Gamma = k)\).
Simulation Python de la loi
Je te laisse t’entraîner par toi-même avec de regarder la manière de simuler la loi de Benford en te basant sur sa définition comme transformation d’une loi uniforme !
Voici une proposition de code qui permet d’y parvenir ainsi que le graphique que l’on obtient :
À l’évidence, ce code contient des éléments facultatifs qui ne seront pas attendus le jour du concours (par exemple : le choix de la couleur de la courbe, voire le fait de nommer les axes). De plus, il se peut, à certains endroits, que tu n’aies pas exactement vu les formules en Python de la même manière (la boucle dans le vecteur à la ligne 9, par exemple).
Pas de panique : tu peux toujours te ramener au même résultat en passant par la création d’un vecteur de taille 10000 rempli de 0 et par une boucle pour lui incrémenter les valeurs voulues une à une.
Ceci précisé, voici le graphique que l’on peut obtenir :
Ainsi, on comprend bien l’expérience empirique de la loi de Benford. En effet, si l’on reprend l’observation de l’usure des tables logarithmiques permettant de connaître les chiffres après la virgule, on remarque que les premières pages sont plus usées et que plus l’on avance dans la table, moins les pages ont été utilisées.
Conclusion
En définitive, la loi de Benford est une loi de probabilité discrète fondamentale dont l’étude pourrait faire l’objet d’une partie de sujet de concours. À ce titre, je ne peux que te conseiller de jeter un œil, voire de traiter le sujet ESSEC 2014 maths II ECE qui se penche sur cette loi de probabilité.
Tu peux retrouver ici le méga-répertoire qui contient toutes les annales de concours et les corrigés. Tu peux également accéder ici à toutes nos autres ressources mathématiques !




