Закон Бенфорда: первая цифра в данных подчиняется закону природы
Нарративная зацепка
Перед вами таблица: численность населения всех стран мира. 195 строк. Цифры от десятков тысяч до миллиардов. Угадайте: сколько строк начинается с цифры 1? С цифры 9?
Интуитивно — поровну. Девять цифр, значит примерно 1/9 ≈ 11% для каждой.
Реальность: около 30% начинаются с 1. Около 4.6% — с 9. Это не случайность и не ошибка. Это закон природы.
И этот закон настолько устойчив, что бухгалтеры и налоговые органы используют его для выявления фальсифицированных данных. Если кто-то придумал числа «случайно» — распределение первых цифр выдаст его.
История
Ньюкомб, 1881
Саймон Ньюкомб (1835–1909) — американский астроном и математик. В 1881 году он опубликовал коротенькую заметку в American Journal of Mathematics:
«Тот факт, что первые страницы логарифмических таблиц изношены намного сильнее последних, вероятно, объясняется тем, что числа, начинающиеся на 1, используются гораздо чаще, чем числа, начинающиеся на 9».
Ньюкомб вывел правило: вероятность того, что первая цифра числа равна d, пропорциональна log₁₀(d+1) − log₁₀(d) = log₁₀(1 + 1/d).
Открытие осталось незамеченным на 57 лет.
Бенфорд, 1938
Фрэнк Бенфорд (1883–1948) — физик General Electric. В 1938 году он опубликовал статью «Закон аномальных чисел», в которой самостоятельно заново открыл то же правило — но подкрепил его 20 229 точками данных из 20 совершенно разных источников: площади рек, населённость городов, молекулярные веса, числа в газетных статьях, заряды атомных ядер, числа из случайных страниц справочника Reader’s Digest.
Везде — один и тот же закон. Имя дали Бенфорду.
Признание, 1996
Тед Хилл (Georgia Tech) в 1996 году дал строгое математическое доказательство: закон Бенфорда — единственное распределение, инвариантное относительно масштаба (умножения данных на любую константу) и первой цифры. Из этих двух требований закон следует неизбежно.
Формула
P(d) = log₁₀(1 + 1/d)
d = 1: P = log₁₀(2) ≈ 0.301 = 30.1%
d = 2: P = log₁₀(3/2) ≈ 0.176 = 17.6%
d = 3: P = log₁₀(4/3) ≈ 0.125 = 12.5%
d = 4: P = log₁₀(5/4) ≈ 0.097 = 9.7%
d = 5: P = log₁₀(6/5) ≈ 0.079 = 7.9%
d = 6: P = log₁₀(7/6) ≈ 0.067 = 6.7%
d = 7: P = log₁₀(8/7) ≈ 0.058 = 5.8%
d = 8: P = log₁₀(9/8) ≈ 0.051 = 5.1%
d = 9: P = log₁₀(10/9) ≈ 0.046 = 4.6%
Сумма = 1.000 (100%).
Опыт 1. Проверить реальные данные
Источники данных (бесплатные)
- Численность населения городов России — данные Росстата (rosstat.gov.ru)
- Площади озёр мира — Wikipedia или WISE-2 database
- Цены акций на Московской бирже — moex.com
- Длины рек России — открытые географические данные
- Числа из любой газеты — вырезать все числа из статьи
Ход работы
- Скачайте или выпишите не менее 100 чисел из выбранного источника.
- Для каждого числа выделите первую значащую цифру (ненулевую). Примеры: 135 → 1; 0.0047 → 4; 2 800 000 → 2.
- Постройте гистограмму: по оси X — цифра (1–9), по оси Y — количество.
- Нанесите теоретическую кривую Бенфорда (красным).
- Сравните.
Анализ в Excel / Google Таблицах
=LEFT(TEXT(ABS(A1),"0.#########"),1)+0
Эта формула извлекает первую значащую цифру из числа в ячейке A1.
Затем: СЧЁТЕСЛИ, построить диаграмму.
Опыт 2. Выявить подделку
Это самая захватывающая часть эксперимента.
Задание классу (игра)
Разделите класс на две группы:
- Группа А придумывает 100 «случайных» чисел от 1 до 1 000 000 (не думая специально о первых цифрах).
- Группа Б берёт реальные данные — численность населения 100 городов.
Оба набора анонимно перемешиваются. Задача: определить, какой набор придуманный.
Как работает детектор:
- Подсчитайте частоту первых цифр в обоих наборах.
- Вычислите среднеквадратическое отклонение от распределения Бенфорда.
- Набор с большим отклонением — придуманный (люди интуитивно избегают больших первых цифр, перебирая «случайные» числа мысленно).
Почему люди плохо генерируют случайность
Когда человек «придумывает случайные числа», он подсознательно:
- Избегает чисел, начинающихся на 1 (кажутся слишком маленькими)
- Тяготеет к «красивым» числам (100, 500, 1000)
- Избегает повторов
- Распределяет первые цифры равномерно (интуитивно кажется «честным»)
Реальные данные так не ведут себя. Они подчиняются Бенфорду.
Опыт 3. Числа Фибоначчи, степени двойки и π
Математические последовательности тоже подчиняются закону Бенфорда.
Python: проверка чисел Фибоначчи
import math
def first_digit(n):
if n == 0:
return None
s = str(n)
# Убрать минус и ноли
s = s.lstrip('-').lstrip('0')
if not s or s[0] == '.':
return None
return int(s[0])
# Последовательность Фибоначчи
def fibonacci(n):
seq = [1, 1]
for _ in range(n - 2):
seq.append(seq[-1] + seq[-2])
return seq
# Подсчёт
fib = fibonacci(1000)
counts = {d: 0 for d in range(1, 10)}
for num in fib:
d = first_digit(num)
if d:
counts[d] += 1
print("Цифра | Частота | Теория Бенфорда")
for d in range(1, 10):
freq = counts[d] / len(fib)
benford = math.log10(1 + 1/d)
print(f" {d} | {freq:.3f} | {benford:.3f}")
Результат: частоты первых цифр чисел Фибоначчи точно следуют закону Бенфорда. Числа Фибоначчи «знают» о логарифмическом законе — потому что они экспоненциально растут.
Аналогично работают степени 2: 1, 2, 4, 8, 16, 32, 64, 128, 256…
Почему это работает: инвариантность к масштабу
Ключевое свойство распределения Бенфорда — инвариантность к масштабированию. Если данные о площадях озёр подчиняются Бенфорду в квадратных километрах, они будут подчиняться ему и в акрах, и в гектарах. Умножение на константу не меняет распределение первых цифр.
Единственное распределение, обладающее этим свойством — логарифмически равномерное. Если вероятность равномерно распределена по логарифмической шкале, то вероятность попасть в интервал [1, 2) равна log₁₀(2) − log₁₀(1) = log₁₀(2) ≈ 30.1%. Это и есть закон Бенфорда.
Реальные данные часто охватывают много порядков величин — от тысяч до миллиардов. На длинных шкалах логарифмическое распределение возникает естественно. Процессы роста (экспоненциальный рост населения, капитала, размеров) создают распределения, подчиняющиеся Бенфорду.
Применения в реальном мире
Финансовая криминалистика
Марк Нигрини (бухгалтер, докторская диссертация 1992) первым систематически применил закон Бенфорда для выявления бухгалтерских мошенничеств. Если в финансовых отчётах доля чисел, начинающихся на 1, существенно ниже 30% — это повод для проверки.
Компания KPMG и другие крупные аудиторские фирмы включают анализ по Бенфорду в стандартные процедуры аудита.
В США анализ Бенфорда принят как доказательство в судебных делах о налоговом мошенничестве.
Электоральная статистика
После выборов в ряде стран исследователи применяли закон Бенфорда к данным о голосовании по участкам. Отклонения от закона использовались как аргумент (хотя и спорный — применимость закона к таким данным дискуссионна).
Научные данные
В 2020 году группа исследователей проверила базы данных публикаций на предмет подтасованных экспериментальных данных — отклонения от Бенфорда были одним из критериев.
Когда закон НЕ работает
Закон Бенфорда применим не ко всем наборам данных:
- Данные в узком диапазоне (например, рост людей 150–200 см — нет охвата нескольких порядков)
- Равномерно распределённые данные (номера телефонов, PIN-коды — специально распределены равномерно)
- Данные с жёсткими ограничениями снизу или сверху
- Небольшие выборки (менее 100–200 точек)
Перед применением нужно проверить: охватывают ли данные несколько порядков величин? Нет ли искусственных ограничений на диапазон?
Вопросы для обсуждения
- Почему вы ожидали равномерного распределения первых цифр? Что именно ввело вас в заблуждение?
- Каков минимальный объём выборки для надёжной проверки по Бенфорду?
- Может ли честный человек случайно создать данные, которые «выглядят мошенническими» по критерию Бенфорда?
- Как применить этот закон, чтобы проверить достоверность данных из школьного эксперимента?
Итог
Числа — не беспристрастны. Они несут в себе отпечаток процессов, которые их породили. Рост, экспоненциальные процессы, широкий охват масштабов — всё это оставляет след: перекос в сторону малых первых цифр. Закон Бенфорда — это «подпись природы» на реальных данных. Подделать подпись трудно, если не знаешь о ней. А теперь вы знаете.