0

Продолжение поста «Как искать жульничество в цифрах. Закон Бенфорда, или закон первой цифры»

Появился комментарий, в котором интересуются подробностями применения этого закона для обнаружения жульничества (спасибо @toyoroyo1 за вопрос).


Поэтому пишу продолжение.


Чтобы выявить подделку нам нужно пересчитать первые цифры в данных и сравнить с тем, что должно было бы получиться согласно закону Бенфорда. (То, что должно получится считается умножением количества чисел в наших данных, на частоты их появления по закону Бенфорда.)


Для примера я возьму данные "Корпоративные платежи коммунальной компании Западного побережья - 2010 г." (это все про США)

Вот что у них получается:

Продолжение поста «Как искать жульничество в цифрах. Закон Бенфорда, или закон первой цифры» Научпоп, Статистика, Мошенничество, Ответ на пост

Красная линия - это что должно быть, столбики - что есть на самом деле. Видно, что есть различие, но это может быть и чисто случайное различие. Это как с игровым кубиком, у него вероятности цифр одинаковые, но если его подбросить 180 раз, то цифры не выпадут точно по 30 раз, будет отличие, которое можно объяснить случайностью.


Так же и тут. Весь вопрос в том, случайно ли отличие, что мы видим.

И тут нам поможет критерий x-квадрат.

Мы просто говорим - допустим это все случайно, посчитаем вероятность случайности при которой мы увидим такое отличие. (Суммарное отличие считается хитро, не буду писать)


В нашем примере получается вероятность меньше чем 10e-16 (десять в минус шестнадцатой степени) - то есть вообще никогда!

А это значит нарушен закон Бенфорда и с данными что-то не так, нужно смотреть подробнее.

Вот как-то так.


Звучит сложно, но в реальности я просто запустил Rstudio и набрал команды:


library(benford.analysis)

data(corporate.payment)

bfd.cp <- benford(corporate.payment$Amount, number.of.digits = 1)

bfd.cp

plot(bfd.cp)


Так и получил все графики и вероятности.

Показать полностью 1
32

Как искать жульничество в цифрах. Закон Бенфорда, или закон первой цифры

Как искать жульничество в цифрах. Закон Бенфорда, или закон первой цифры Научпоп, Статистика, Мошенничество

В 1938 году физик Фрэнк Бенфорд непонятно зачем начал пересчитывать цифры в различных таблицах. Возможно он узнал, что криптографы пересчитывают буквы в текстах и решил тоже что-нибудь такое посчитать. Только в книжках у него были одни цифры (он же физиком был). Вот и пересчитал то, что было.


Не зря он этой глупостью занялся. Оказалось, что во многих таблицах первые цифры чисел встречаются с определенной закономерностью. Чаще всего встречается цифра 1, затем 2, 3 …9 и 0. 

Позже такие закономерности начали находить буквально везде - номера домов в городе, протяженность рек, суммы в налоговых декларациях. Причем проверят, например, протяженности рек, измеренную в километрах - есть закономерность, пересчитают в милях - и опять тоже самое! Просто мистика какая-то!


Но мистики тут никакой нет, да и не везде этот закон работает. Все дело в том, что многие явления и объекты носят экспоненциальных характер распределения. Это такое распределение, где большие числа встречаются гораздо реже маленьких.


Богатых людей мало, а бедных много. Большие и протяженные реки встречаются реже маленьких. Коротких улиц гораздо больше чем длинных. Вот тут и возникает закон Бенфорда.

Кроме того, закон хорошо работает там, где числа меняются в диапазоне нескольких порядков (не 0-10, а 0-10000) и там, где данных много.


А если данные и явления имеют другой характер распределения или искусственно ограничены, то закон не работает. Например: школьные оценки, координаты мест в определенном городе, коэффициент интеллекта - тут не будет такой закономерности.


Особенное интересна эта закономерность тем, что нарушается при попытке жульничества и подделке данных. Есть слухи, что налоговая в США отлавливает подозрительную деятельность используя эту закономерность.


Да, совсем забыл добавить про статистику.

Для этого распределения выведена формула, которая дает частоты цифр. Поэтому мы можем посчитать, что получается в данных и оценить случайность отклонений от теоретических значений.

Оценку отклонений от теории можно сделать, например, с помощью критерия хи-квадрат.

Если хи-квадрат нам скажет что-то типо - может получилось и случайно, но такое бывает раз на миллион случаев, то значит данные кто-то подправил.

Показать полностью
Отличная работа, все прочитано!