Закон Бенфарда прадаюць так: наводзіш яго на слупок лікаў і выдуманыя відаць адразу. Сапраўдныя велічыні пачынаюцца з 1 прыкладна ў 30 адсотках выпадкаў і з 9 прыкладна ў 4.6 адсотка, прыдуманыя кладуцца роўна, і гістаграма абвінавачвае за цябе. Гэтую гістаграму я бачу на слайдах другі год і ніводнага разу не прагнаў яе на ліках, пра якія дакладна ведаю, што яны чыстыя.
Прагнаў на 4 слупках, дзе матыву няма ні ў кога. Усе яны з гісторыі express, абрэзанай па 2013-06-12: гэта 4108 камітаў і дрэва з 197 файлаў на aec34284. Ніхто не завышае, колькі радкоў дадаў каміт. Слупкі такія: радкі, дададзеныя кожным камітам, памер кожнага файла ў байтах, даўжыня кожнага файла ў радках і секунды паміж суседнімі камітамі.
Правальваюцца 3 з 4.
Лікі, якія стаяць за карцінкай. Сярэдняе абсалютнае адхіленне гэта сярэдні зазор паміж 9 назіранымі долямі і 9 прадказанымі. Парогі ў Нігрыні такія: цеснае згодзе ніжэй за 0.006, прымальнае ніжэй за 0.012, нязгода вышэй за 0.015. Радкі камітаў даюць 0.0259. Памеры файлаў даюць 0.0242. Даўжыні файлаў даюць 0.0287. Секунды паміж камітамі даюць 0.0065, і гэта адзіны слупок, які праходзіць.
Я чакаў, што ўсё растлумачыць размах. Інтэрвалы ідуць ад 1 секунды да 6209407 секунд, гэта 6.79 парадка. Слупок з такім запасам абавязаны раскласці першыя лічбы так, як кажа Бенфард. Астатнія 3 слупкі ўкладваюцца ў 3.06, 3.36 і 4.61 парадка. Гэта стандартнае тлумачэнне і яно слушнае напалову: у памераў файлаў 4.61 парадка, у паўтара раза больш запасу, чым у даўжыняў файлаў. Адхіленне пры гэтым 0.0242 супраць 0.0287, то бок прыкладна тое самае.
Два экраны разыходзяцца
Далей я прагнаў па тых самых 4 слупках другі прыняты тэст, chi square. Пры 8 ступенях свабоды табліца дае 15.51 на ўзроўні 5 адсоткаў і 20.09 на ўзроўні 1 адсотка.
Памеры файлаў набіраюць 13.3 і chi square іх не адхіляе, пры тым што MAD называе іх нязгоднымі. Інтэрвалы набіраюць 20.1 супраць парога 20.09, бліжэй да рысы вердыкт не становіцца. Chi square адхіляе іх на ўзроўні 1 адсотка, а MAD кажа, што ўсё ў парадку. То бок на адным рэпазіторыі, у адну і тую ж гадзіну, два апублікаваныя экраны выдаюць супрацьлеглае, а які з іх табе дастанецца, залежыць ад таго, які тэст узяў аўдытар.
Механіка перастае быць загадкай, як толькі выпішаш формулу. Chi square множыць кожнае квадратычнае адхіленне на аб’ём выбаркі, таму нязменная форма памылкі пераходзіць парог, варта назбіраць дастаткова радкоў. У памераў файлаў 197 значэнняў, у інтэрвалаў 4043. Гэтыя суадносіны ў 20 разоў вырашаюць вердыкт мацней, чым любая ўласцівасць саміх лікаў. У MAD слепата роўна адваротная: ён дзеліць адхіленне на 9 і ніколі не пытаецца, колькі радкоў яго далі, таму 158 даўжыняў файлаў і 4043 інтэрвалы для яго аднолькава надзейныя.
Дзе я спатыкнуўся
У слупку камітаў 4108 радкоў у git і 3587 у маёй гістаграме. 521 каміт не дадае ні радка: мержы, выдаленні, змена правоў. У нуля першай лічбы не бывае, гэтыя радкі выпадаюць моўчкі, і я не адразу заўважыў, што выбарка ціха стала на 13 адсоткаў меншая за гісторыю, якую я ўзяўся мераць. Выкідваць іх не нейтральна. Гэта роўна каміты дробнага канца, а дробны канец і дае перавагу адзінкі.
Перавага сапраўдная і прычына ў яе звычайная. Рэпазіторый такога ўзросту складаецца ў асноўным з дробных правак, і як толькі велізарная частка камітаў кранае ад 1 да 9 радкоў, адзінка збірае іх усе. Ніхто нічога не хавае. Экран бачыць сумленную форму працы над кодам і называе яе падазронай.
Чаго я не правяраў
Ці зрушыць гэтыя слупкі падкладзеная падробка. Калі сумленныя даныя стаяць на 0.026, а парог 0.015, то цікавае пытанне, колькі хлусні трэба падмяшаць, каб лік змяніўся так, што аўдытар адрозніць яго ад гэтай базы. Я гэтага не мераў. Яшчэ я прагнаў толькі тэст першай лічбы. Тэст другой лічбы і тэст двух апошніх лічбаў гэта тое, на што абапіраецца бухгалтарская літаратура, і там паводзіны могуць аказацца лепшыя або горшыя. І гэта 1 рэпазіторый з 197 файлаў, узяты таму, што ён ляжаў на дыску.
Сцвярджэнне, якое я пакіну, вузкае. Закон Бенфарда гэта выказванне пра лікі, размазаныя на многа парадкаў. Экран, пабудаваны на ім, наследуе гэтую ўмову, але на слайдзе з гістаграмай умова не напісана. Навядзі яго на слупок, які жыве ўнутры 3 парадкаў, і ён спрацуе. Кожны раз і ні на каго.