Pour la Science № 489 — закон Бенфорда
Sep. 11th, 2018 09:51 amЯ когда-то давно наткнулся на описание закона Бенфорда, он мне сразу же понравился, но оставалось какое-то ощущение недосказанности. В общих чертах понятно, откуда он берётся*, но хотелось конкретики. И вот в журнале статья с разоблачением магии :-)
Начнём с определения записи для целой части [x] и части после запятой {x}. Очевидно, x = [x] + {x}.
Плюс постулат (вот здесь потенциально грабли, но авторы утверждают, что они этот вопрос проработали, да и лично меня такие постулаты на веру устраивают), что у нас есть некоторое достаточно широкое распределение, у которого запись после запятой распределена достаточно равномерно. Имеется в виду, например, рост человека, выраженный в сантиметрах — тогда распределение количества миллиметров роста (первая цифра после запятой в десятичной записи) можно принять за равномерное. Точнее даже, что вся запись после запятой {x} распределена равномерно. То есть, вероятность попадания {x} в некий интервал [a; b] пропорциональна длине этого интервала b-a.
А дальше дело техники. Рассмотрим log10(x). В том же приближении у этого числа запись после запятой тоже будет распределена равномерно. Например, вероятность попадания log10(C) ≤ {log10(x)} < log10(C + 1) пропорциональна log10(C + 1) — log10(C).
При этом можно показать, что если первая значащая цифра x равна C, то log10(C) ≤ {log10(x)} < log10(C + 1). Это можно доказывать, а можно «увидеть» на примере: {log10(7234)} = log10(7234) — [log10(7234)] = log10(7234) — [3,8593...] = log10(7234) — 3 = log10(7234) — log10(1000) = log10(7234 / 1000) = log10(7,234), а поскольку логарифм — возрастающая функция, то log10(7) ≤ log10(7,234) < log10(8).
Мы доказали, что (в указанном допущении о равномерности распределения дробной части) вероятность для x иметь первую цифру C равняется log10(C + 1) — log10(C). Это и есть определение закона Бенфорда.
И это доказательство открывает дверь для других вариантов. Кто нас заставляет брать функцию десятичного логарифма? Исключительно простота интерпретации с первой цифрой десятичной записи. Авторы показывают варианты закона Бенфорда с другими функциями. Которые тоже можно использовать для детекции фальсификации на выборах, когда жулики научатся подтасовывать первую цифру.
* Мне нравилось объяснение «на пальцах» вроде: если на улице есть дом № 43, скорее всего, на этой же улице есть дом № 15, обратное верно не всегда. А также объяснение через существование: предположим такое распределение существует, тогда оно должно оставаться инвариантным относительно смены масштаба (перепишем все суммы в евро франками — закон продолжает действовать), откуда можно вывести аналитическую форму закона. Но ни то, ни другое формально не объясняло природу закона Бенфорда.
Очень понравилась историческая справка о том, что закон Бенфорда открыл астроном, заметивший, что первые страницы таблицы логарифмов более затёртые — ими пользуются чаще, потому что чаще выпадают числа на «1», чем на «2», и т.д.
Начнём с определения записи для целой части [x] и части после запятой {x}. Очевидно, x = [x] + {x}.
Плюс постулат (вот здесь потенциально грабли, но авторы утверждают, что они этот вопрос проработали, да и лично меня такие постулаты на веру устраивают), что у нас есть некоторое достаточно широкое распределение, у которого запись после запятой распределена достаточно равномерно. Имеется в виду, например, рост человека, выраженный в сантиметрах — тогда распределение количества миллиметров роста (первая цифра после запятой в десятичной записи) можно принять за равномерное. Точнее даже, что вся запись после запятой {x} распределена равномерно. То есть, вероятность попадания {x} в некий интервал [a; b] пропорциональна длине этого интервала b-a.
А дальше дело техники. Рассмотрим log10(x). В том же приближении у этого числа запись после запятой тоже будет распределена равномерно. Например, вероятность попадания log10(C) ≤ {log10(x)} < log10(C + 1) пропорциональна log10(C + 1) — log10(C).
При этом можно показать, что если первая значащая цифра x равна C, то log10(C) ≤ {log10(x)} < log10(C + 1). Это можно доказывать, а можно «увидеть» на примере: {log10(7234)} = log10(7234) — [log10(7234)] = log10(7234) — [3,8593...] = log10(7234) — 3 = log10(7234) — log10(1000) = log10(7234 / 1000) = log10(7,234), а поскольку логарифм — возрастающая функция, то log10(7) ≤ log10(7,234) < log10(8).
Мы доказали, что (в указанном допущении о равномерности распределения дробной части) вероятность для x иметь первую цифру C равняется log10(C + 1) — log10(C). Это и есть определение закона Бенфорда.
И это доказательство открывает дверь для других вариантов. Кто нас заставляет брать функцию десятичного логарифма? Исключительно простота интерпретации с первой цифрой десятичной записи. Авторы показывают варианты закона Бенфорда с другими функциями. Которые тоже можно использовать для детекции фальсификации на выборах, когда жулики научатся подтасовывать первую цифру.
* Мне нравилось объяснение «на пальцах» вроде: если на улице есть дом № 43, скорее всего, на этой же улице есть дом № 15, обратное верно не всегда. А также объяснение через существование: предположим такое распределение существует, тогда оно должно оставаться инвариантным относительно смены масштаба (перепишем все суммы в евро франками — закон продолжает действовать), откуда можно вывести аналитическую форму закона. Но ни то, ни другое формально не объясняло природу закона Бенфорда.
Очень понравилась историческая справка о том, что закон Бенфорда открыл астроном, заметивший, что первые страницы таблицы логарифмов более затёртые — ими пользуются чаще, потому что чаще выпадают числа на «1», чем на «2», и т.д.