Les pages sales
Un astronome remarque en 1881 que les premières pages des tables de logarithmes sont plus noircies que les dernières. Personne ne relève pendant cinquante-sept ans. Voici l'histoire, la loi, et le script qui la vérifie sur les dix mille premières puissances de 2.
La pièce 51 des Coulisses n°6 s’est ouverte sur une observation de bibliothécaire et refermée sur une promesse de code. Voici l’une et l’autre, en entier.
1881 : personne n’écoute
Simon Newcomb est astronome, canadien de naissance, américain d’adoption, et il passe sa vie dans des tables. En 1881, il publie dans l’American Journal of Mathematics une note de deux pages qui part d’un détail matériel : dans les recueils de logarithmes qui ont beaucoup servi, les premières pages sont plus usées que les dernières. Or les premières pages sont celles des nombres commençant par . Newcomb en tire la conclusion qui s’impose : les nombres qu’on rencontre dans la vraie vie ne commencent pas par les neuf chiffres avec la même fréquence, et il propose même la formule.
Puis rien. Personne ne cite l’article, personne ne le teste, personne ne s’en souvient. La note dort cinquante-sept ans.
En 1938, Frank Benford, physicien chez General Electric, refait exactement la même observation sur exactement les mêmes pages sales. À la différence de Newcomb, il ne s’arrête pas là : il collecte environ vingt mille données de toutes provenances, superficies de bassins fluviaux, constantes physiques, populations de villes, numéros de rue relevés dans un journal, adresses, poids moléculaires, et il compte. La loi tient. Elle porte son nom depuis, et Newcomb y a perdu la sienne : c’est ainsi que fonctionne la mémoire scientifique, elle retient celui qui a mesuré, pas celui qui a vu.
La loi
Pour tout chiffre , la proportion des nombres d’une collection « naturelle » dont l’écriture décimale commence par le chiffre vaut
Le chiffre ouvre donc des nombres, le chiffre en ouvre , et le chiffre seulement . Un nombre a plus de six fois et demie plus de chances de commencer par que par .
En 1972, l’économiste Hal Varian propose de retourner l’observation : puisqu’une collection authentique obéit à la loi, une collection inventée la trahit. Un cerveau humain qui fabrique des faux chiffres répartit les premiers chiffres beaucoup trop équitablement, parce qu’il croit que « au hasard » veut dire « uniformément ». Les administrations fiscales et les cabinets d’audit ont fait de cette idée un outil de routine ; l’analyse de premier chiffre est aujourd’hui un réflexe sur les déclarations comptables, et elle a été employée, avec des fortunes diverses, sur des résultats électoraux. Mentir sur des nombres sans connaître le logarithme est devenu risqué.
Le tiroir promis : le script
Les Coulisses ont annoncé un programme qui teste la loi sur les puissances de . Le voici, et il tient en huit lignes. Aucun flottant n’intervient dans le comptage : Python manipule les entiers exacts, et le premier chiffre de se lit simplement en tête de son écriture.
from collections import Counter
import math
compte = Counter()
p = 1
for n in range(1, 10001):
p *= 2 # p vaut 2**n, en entier exact
compte[str(p)[0]] += 1
for d in "123456789":
frequence = compte[d] / 10000
theorie = math.log10(1 + 1 / int(d))
print(d, round(frequence, 4), round(theorie, 5), abs(frequence - theorie))
Sa sortie, sur les dix mille premières puissances de , c’est-à-dire de jusqu’à , un nombre de chiffres. Colonnes : effectif du chiffre de tête sur les puissances, fréquence observée, fréquence théorique , écart entre les deux.
| Effectif | Fréquence | Théorie | Écart | |
|---|---|---|---|---|
Aucun écart ne dépasse . Une collection de données réelles, même excellente, colle rarement à mieux que le centième ; ici, la concordance est de l’ordre du dix-millième, sur neuf colonnes à la fois. Ce n’est plus une tendance statistique, c’est un théorème qui se montre.
Pourquoi les puissances de 2 obéissent si bien
En une phrase : parce que est irrationnel.
Détaillons-la, elle en vaut la peine. Le paragraphe 7.1 du cours a établi que la partie entière de compte les chiffres de . Sa partie fractionnaire, elle, dit lesquels : si avec entier et , alors , et comme , le premier chiffre de est . Le premier chiffre vaut donc exactement quand
un intervalle de longueur . Toute la loi de Benford est là : c’est la longueur d’un intervalle, lue à travers un logarithme.
Reste à savoir comment se répartissent les . Pour , on a , et la partie fractionnaire en jeu est celle de . Un théorème d’équirépartition dû à Hermann Weyl (1916) affirme que si est irrationnel, la suite des parties fractionnaires de se répartit uniformément dans : à la longue, elle passe dans chaque sous-intervalle une proportion du temps égale à sa longueur, exactement. Avec , irrationnel (la démonstration tient en trois lignes, et elle est donnée dans la page des tiroirs du numéro 6), la proportion des pour lesquels commence par tend vers .
Autrement dit : les puissances de ne suivent pas la loi de Benford approximativement, parce que la vie est ainsi faite. Elles la suivent exactement, à la limite, et pour une raison arithmétique.
Un piège de flottant, en prime
On peut écrire le même comptage sans jamais former , en n’utilisant que la mantisse, comme le fait l’exercice 31 de l’Atelier, Le premier chiffre du géant :
tete = math.floor(10 ** ((n * math.log10(2)) % 1))
Sur les dix mille premières puissances, cette version et la version exacte donnent le même résultat partout, sauf une fois. L’exception est : la partie fractionnaire de vaut , et vaut tout rond, mais le flottant le calcule légèrement en dessous et la partie entière tombe à . Un seul chiffre faux sur dix mille, et il concerne , le plus petit cas qu’on aurait pu vérifier de tête.
C’est très exactement la question 4 de ce même exercice 31, et c’est le prix de la méthode : elle lit le premier chiffre d’un nombre qu’on ne pourrait pas écrire, mais elle le lit à travers un logarithme approché, et un logarithme approché ne sait pas distinguer « juste en dessous d’une puissance de dix » de « juste au-dessus ». Le calcul exact ne peut pas se tromper ; il ne peut simplement pas aller aussi loin.
Sources
- Pièce 51 des Coulisses n°6, Les pages sales et le chiffre 1 ; cours F3, paragraphe 7.1 ; Atelier F3, exercice 31 Le premier chiffre du géant.
- S. Newcomb, « Note on the frequency of use of the different digits in natural numbers », American Journal of Mathematics, 1881. F. Benford, « The law of anomalous numbers », Proceedings of the American Philosophical Society, 1938. H. Varian, « Benford’s law », The American Statistician, 1972.
- Tous les nombres de cette page ont été recalculés en Python, le comptage des premiers chiffres étant fait sur les entiers exacts .