Wednesday 17 February 2010

Prawo pierwszej cyfry, niezmienniczość skalowania i szarlatani

Obiecałem wyjaśnić, dlaczego ciągi geometryczne takie jak ciąg Fibonacciego (prawie geometryczny) lepiej nadają się do przybliżania wielkości fizycznych niż jakiekolwiek inne. To zagadnienie jest ściśle związane z prawem Benforda zwanym też prawem pierwszej cyfry i od tego właśnie zaczniemy.

Otwórz dowolną gazetę. Przeczytaj pierwszą liczbę mianowaną (czyli z jednostką), jaką znajdziesz. Może to być 16 - "policja skonfiskowała 16 kg kokainy" albo 143 - "skoczył 143 m" - cokolwiek. Weź pierwszą cyfrę znaczącą (czyli pierwszą, która nie jest zerem). Prawo Benforda mówi, że na:
30% jest to cyfra 1,
18% cyfra 2,
12% - 3
10% - 4
7,9% - 5
6,7% - 6
5,8% - 7
5,1% - 8
4,6% - 9
Małe cyfry są dużo bardziej prawdopodobne! Brzmi głupio, prawda? Sprawdźmy to. Pierwsze państwo, jakie mi przychodzi do głowy to Gabon. Wikipedia podaje:
  • powierzchnia: 267 667 km² - cyfra 2
  • liczba ludności: 1 454 867 - cyfra 1
  • PKB: 20,18 mld USD - cyfra 2
i jeszcze mnóstwo innych liczb, wśród których bardzo wiele zaczyna się cyfrą 1 i bardzo nieliczne cyfrą 9. To tylko kilka liczb - żaden dowód. Potrzeba większego zbioru. W bazie danych programu Mathematica 7 znajdują się 36362 francuskie gminy - począwszy od Paryża z 2138551 mieszkańcami, aż do Rochefourchat z 1 mieszkańcem. Poniższy wykres przedstawia częstość występowania różnych pierwszych cyfr wśród liczb ludności tych 36632 gmin:
Zgadza się fenomenalnie! Spróbujmy z innej beczki. Liczby ludności, powierzchnie i PKB 238 państw i terytoriów zależnych z bazy mathematici:
Tu już widać wyraźne odstępstwa, ale tego należało się spodziewać - próbka jest dużo mniejsza. W sieci można znaleźć jeszcze tysiące innych zbiorów, dla których sprawdza się prawo Benforda - ceny akcji, długości rzek, adresy, masy atomowe pierwiastków, odległości galaktyczne, stałe fizyczne, a nawet stałe matematyczne.Typowa pierwsza reakcja rozumnej osoby, która słyszy o tym prawie to: "To jakaś numerologia! Co mają cyfry wspólnego z wszechświatem? To nie ma prawa działać - przecież wystarczy zmienić jednostkę i wszystkie cyfry się pozmieniają!". To sensowne zarzuty. Ale na rzeczywistość nie ma się co obrażać - zamiast tego spróbujmy zrozumieć, dlaczego jest jak jest. Niestety będzie do tego potrzebna odrobina matematyki, a zawsze gdy się matematyczne zagadnienie tłumaczy szerokiej publiczności, to połowa nic nie rozumie, a druga połowa się nudzi. Mam nadzieję, że w przypadku poniższego tekstu będzie dokładnie na odwrót.

Długości rzek ani powierzchni państw nie da się wyliczyć tak, jak się oblicza trajektorię rakiety, dlatego potrzebujemy jakiegoś czysto matematycznego modelu, który będzie symulował liczby pojawiające się w gazetach. Zacznijmy naiwnie: potęgi dwójki. 2, 4, 8, 16... - jak dużo liczb z tego zbioru zaczyna się cyframi 1, 2, 3 ... 9? Okazuje się, że wśród pierwszych 10000 potęg 30% ma pierwszą cyfrę 1, 18% cyfrę 2, 12% cyfrę 3 itd. - dokładnie jak w prawie Benforda. Zauważmy, że po każdej potędze dwójki, która zaczyna się cyfrą 1 następuje taka, która zaczyna się cyfrą 2 lub 3. Po 16 jest 32, po 128 - 256, po 1024 - 2048. Stąd wniosek, że pierwsza cyfra 1 powinna występować tak samo często, jak cyfry 2 i 3 razem wzięte. Tak właśnie jest - 30%=18%+12%. Na tej samej zasadzie cyfra 2 występuje tak samo często, co cyfry 3 i 4. Dla prawa Benforda nie ma różnicy pomiędzy liczbą 16, 1600 i 1,6, dlatego umówmy się, że od tej pory wszystkie rozważane liczby będą w przedziale [1; 10] (16 to 1,6; 1024 to 1,024). Wiemy, że 30% potęg dwójki jest w przedziale [1; 2]. A ile z nich jest w [1,5; 2]? Okazuje się, że 12% - tyle samo, co w [3; 4]. Poniższy diagram pokazuje, ile potęg 2 (spośród pierwszych 30000) mieści się w przedziałach [1; 1,5], [1,5; 2] itd.. Prawdopodobieństwo, że losowa potęga 2 znajduje się w przedziale [4; 4,5] jest równe polu odpowiedniego słupka. Suma pól wszystkich słupków wynosi 1 (prawdopodobieństwo, że 2^n leży gdziekolwiek). Suma pól 2 pierwszych słupków wynosi tyle, co pole pierwszego słupka na wykresie z francuskimi gminami.
Jeśli będziemy brać coraz więcej potęg 2 i używać coraz mniejszej szerokości słupków, ten diagram będzie coraz bardziej przypominał linię ciągłą. W końcu dla nieskończenie cienkich słupków otrzymamy:
Pole pod wykresem tej funkcji jest nadal równe 1. Pole pomiędzy liczbami np. 6 i 7 jest takie samo jak poprzednio pole słupka nr 6 - 0.067 i takie samo jak suma pól słupków [6; 6,5] oraz [6,5; 7] 0.035+0.032=0.067. Funkcja, którą uzyskaliśmy to gęstość rozkładu prawdopodobieństwa dla naszego problemu. Wartość funkcji f(x) mówi, jak gęsto leżą potęgi 2 w pobliżu punktu x. Prawdopodobieństwo, że 2^n leży w przedziale [a; b] jest równe polu pod wykresem f(x) pomiędzy punktami a i b. Jeśli przedział [a; b] jest na tyle krótki, że f(a) niewiele różni się od f(b), to można to pole przybliżyć przez:
p([a; b]) = f(a) (b-a)
W przeciwnym przypadku trzeba umieć policzyć pole pod wykresem ściśle (całka). Jeśli tylko poznamy funkcję f, będziemy mogli odpowiedzieć na pytanie, skąd w prawie Benforda te konkretne liczby 30%, 18% itd..

Zauważyliśmy wcześniej, że prawdopodobieństwo, że liczba leży w [1; 2] jest takie samo jak prawdopodobieństwo, że leży w [2; 4]. Na tej samej zasadzie p([x,x+dx])=p(2x,2x+2dx)
czyli
f(x) dx = f(2x) 2 dx
czyli
f(x)=2 f(2x) *
Jaka funkcja spełnia takie równanie? Spośród funkcji ciągłych tylko funkcje f(x) = 0 i f(x) = const/x. Funkcja 0 odpada bo pole pod wykresem zawsze jest 0, funkcja const/x ma pole pod wykresem =1 pod warunkiem, że const=1/Ln(10). I to jest to! Gęstość rozkładu Benforda wynosi 1/(Ln(10) x). Pole pod wykresem tej funkcji na przedziale od 1 do 2 wynosi Ln(2)/Ln(10) = 0.30103. Pole na przedziale od n do n+1 -- Ln(n/(1 + n))/Ln(10) i takie właśnie jest prawdopodobieństwo, że liczba przeczytana w gazecie zaczyna się cyfrą n.

Wszystko to wygląda nieźle, ale nadal nie odpowiedzieliśmy na 2 pytania: dlaczego powierzchnie państw przestrzegają tego samego rozkładu, co potęgi 2 i dlaczego wszystko to nie zawali się, gdy zaczniemy mierzyć te powierzchnie w milach kwadratowych. Zbiór wszystkich potęg 2 nie zmienia się, gdy pomnożymy je wszystkie przez 2. Jeśli zbiór się nie zmienia, to i rozkład cyfr się nie zmienia i stąd dostaliśmy równanie f(x) =2 f(2x). Nietrudno się domyślić, że warunkiem aby rozkład się nie zmienił po pomnożeniu wszystkich liczb przez d jest równanie f(x)=d f(dx). Funkcja f(x) = c/x spełnia to równanie dla każdego d i jest jedyną funkcją o tej własności**! Co to oznacza po przetłumaczeniu na simple polish?
  • według rozkładu Benforda, n razy większe liczby występują n razy rzadziej albo inaczej mówiąc w przedziale [a; b] jest ich tyle samo, co w przedziale [na; nb]
  • liczba 2 nie jest w żaden sposób wyróżniona. Potęgi prawie*** każdej liczby mają tę samą własność: Fi, 532, Pi, pierwiastek z 6, -11
  • jeśli jakiś zbiór liczb spełnia prawo Benforda, to po zmianie jednostki(czyli pomnożeniu przez stałą) dalej będzie spełniał
  • jeśli jakiś zbiór liczb ma rozkład pierwszych cyfr inny niż Benforda, to po zmianie jednostki ten rozkład się zmieni
Całkowite długości granic wszystkich państw, wyrażone w kilometrach spełniają nieźle prawo Benforda. Zmiana jednostki na mile morskie niczego nie psuje:
Jest to jeszcze bardziej uderzające, gdy użyjemy większego zbioru. Rozkład pierwszych cyfr dla liczb ludności francuskich gmin przed i po pomnożeniu przez Pi:
Gdyby natomiast pierwsze cyfry były wszystkie tak samo częste (jak można by naiwnie sądzić), to po zmianie jednostki przestałoby to być prawdą - jednostka kilometr byłaby wyjątkowa. Do wykresów poniżej wziąłem 10000 liczb o cyfrach rozłożonych równomiernie, a następnie przeliczyłem wszystkie na mile morskie.
Powiedzmy to jeszcze raz:
Rozkład c/x jest jedynym, który nie zmienia się przy zmianie jednostki.
Ta własność nazywana jest niezmienniczością skalowania.
Dokładnie ona jest powodem, dla którego liczby z tablic fizycznych pasują do tego rozkładu: gdyby wszystkie liczby z tablic poprzeliczać na jednostki anglosaskie albo starogermańskie albo jakiekolwiek inne, rozkład cyfr nie powinien się zmienić, bo stałe fizyki nie powinny wyróżniać żadnego układu. Jest tylko jeden rozkład, który spełnia ten postulat - rozkład Benforda. Ktoś mi zarzuci, że to nie jest ścisły dowód. Nie jest, bo to nie jest ściśle prawda. W wielu sytuacjach prawo Benforda nie może działać i nie działa:
  • wzrost ludzi - prawie zawsze zaczyna się cyfrą 1. W przeciwieństwie do np. liczb ludności państw, wzrosty ludzi zmieniają się w bardzo niewielkich granicach. Nie ma ludzi 10 razy wyższych od innych - nie ma mowy o niezmienniczości skalowania.
  • numery telefonów - nie są wielkościami niczego, tylko ciągiem cyfr. Nie ma powodu aby zbiór numerów telefonów miał się nie zmienić pomnożony prze 52
  • liczby porządkowe - np. lokaty Małysza w kolejnych konkursach - j.w.
Mimo, że kolejne lokaty Małysza, wzrost ludzi, kolejne połowy dorsza w Bałtyku itd. nie są z różnych powodów scale invariant, to zbiór utworzony z tych wszystkich liczb zebranych do kupy najczęściej już taki jest. Dlatego właśnie, że są to liczby z różnych dziedzin i z różnymi jednostkami, nie ma powodu aby wyróżniały jakąś skalę tzn. aby pomnożone przez 17 miały inny rozkład niż pomnożone przez Pi. Istnieją też sytuacje, w których prawo Benforda jest spełnione ściśle****:
  • startujemy od dowolnej liczby x różnej od 0. Co minutę w zależności od wyniku rzutu monetą mnożymy x przez 1.1 albo przez 0.7. W tej sytuacji przez 30% czasu pierwsza cyfra liczby x będzie 1, przez 18% 2 itd.
  • tak samo jak wyżej, ale tym razem mnożymy przez liczbę z np. rozkładu normalnego
  • startujemy ze zbiorem 10000 liczb różnych od 0. Co minutę losujemy 2 z nich - a i b, a następnie zamiast a i b wpisujemy na listę ab oraz a/b (albo ab i a, bez różnicy). Po upływie dostatecznie długiego czasu nasze 10000 liczb dostosuje się do rozkładu Benforda
  • losujemy dwa punkty a, b z odcinka [0; 1]. Z przedziału [a; b] losujemy dwie liczby x, y. Ilorazy x/y spełniają ściśle prawo Benforda
  • kolonia bakterii rośnie wykładniczo tzn. podwaja się w stałych odstępach czasu. W losowych momentach zapisujemy, ile aktualnie jest bakterii. Zapisane liczby spełniają ściśle.
Teraz już można odpowiedzieć na pytanie z poprzedniego odcinka. Ciągi geometryczne (np. potęgi 2) mają rozwinięcia dziesiętne o rozkładzie Benforda. Liczby w przyrodzie, w gazetach oraz na giełdzie tak samo. Dlatego właśnie ciągi geometryczne lepiej nadają się do przybliżania wielkości fizycznych niż np. liczby równomiernie rozłożone na całym przedziale [1; 10]. Potęgi 2, 7, Fi itd. zagęszczają się tak samo jak liczby z tablic w pobliżu 1 i to dokładnie w tej samej proporcji: n razy większe liczby występują n razy rzadziej. Myślę, że to może być powód dla którego szarlatani-nieucy w rodzaju Carolana i Fishera dochodzą do wniosku, że liczby Fibonacciego (lub pierwiastki z nich) są magiczne. Liczby Fibonacciego jako ciąg geometryczny nieźle dają się dopasować do liczb z giełdy, a o tym, że potęgi liczby 1,234 pasowałyby równie dobrze skąd mają biedacy wiedzieć.

Powyższe rozumowanie odnosi się do rozwinięć dziesiętnych liczb, a nie do samych liczb, ale numerologom właśnie tyle wystarcza aby coś "dopasować" - 1,618 miesięcy, 1618 dni, czy 161,8 tygodni to im bez różnicy. Rozkład "całej" liczby nie może być niezmienniczy ze względu na skalowanie, bo zasada "w przedziale [a; b] tyle samo, co w przedziale [na; nb]" prowadzi do tego, że całkowite prawdopodobieństwo staje się nieskończenie duże*****. Mimo to w przyrodzie wiele rozkładów jest chociaż w przybliżeniu niezmienniczych tzn. ich gęstość jest ~1/x np. na przedziale [10; 10^6], a potem spada do 0. W takim przypadku prawo Benforda dla rozwinięć dziesiętnych jest automatycznie spełnione. Ale to temat na innego posta (albo dysertację).

Na zakończenie największy test prawa Benforda jaki znam: 4 pierwsze cyfry 200 mln. stałych matematycznych z bazy odwrotnego kalkulatora symbolicznego. Widoczne nierówności biorą się stąd, że tam jest 10000 binów (!) - w rzeczywistości zgodność z prawem Benforda jest tu lepsza niż w jakimkolwiek przykładzie, który wcześniej podałem.

*przemyśl to czytelniku, bo to najważniejsza część rozumowania
**tym razem nawet nie trzeba zakładać, że jest ciągła. Podstaw w równaniu d = 1/x
***w sensie Lebesgue-a
****pierwsze 3 fakty łatwo udowodnić korzystając tylko z faktu, że rozkład 1/x jest jedynym rozkładem niezmienniczym ze względu na skalowanie
*****a mówiąc po naszemu, funkcja 1/x nie daje się unormować

7 comments:

  1. To by się nadało do publikacji gdzieś. Myślałeś o tym? Chyba najlepiej w "Delcie". A tak poza samym stopniem ciekawości tej ciekawej ciekawostki, podoba mi się Twój styl. Humor, a jednocześnie dbałość o poprawny język. Krótko mówiąc, jestem pod wrażeniem. No, ale w końcu od czego jest Nadbor, jak nie od robienia na innych wrażenia... Chyba przesadzam z tym kadzeniem, a to zupełnie nie w moim stylu, więc na tym dość. Pozdrawiam, LS

    ReplyDelete
  2. własnie pisze prace magisterska, gdzie m.in. omawiam tematykę mprawa Benforda. Niestety mało jest literatury polskiej na ten temat, dlatego bardzo zainteresował mnie Twój artykuł. Tendencja jest taka, że metoda Benforda zostaje coraz częściej wykorzystywana przy wykryciu oszustw finansowych, i to mnie ciekawi najbardziej :-) Dziękuję.

    ReplyDelete
  3. Cze Krabulec, natknalem sie na takie zadanie zwiazne zdaje sie z tym prawem: podaj pierwsza cyfre liczby 2 do potegi 42.

    czy wiesz moze w jaki sposob mozna to rozwiazac uzywajac tego prawa?
    pzdr M

    ReplyDelete
  4. Prawo Benforda mówi tylko o prawdopodobnych pierwszych cyfrach, a nie o pewności więc go tutaj nie zastosujesz. Ale 2^42 bez problemu policzysz na kartce (nie mówiąc o kalkulatorze
    ). Można też oszacować tak: 2^42 = (2^10)^4 * 2^2 = 1024^4 * 4 ~ 4 * 1000000000
    pierwsza cyfra 4.

    ReplyDelete
  5. @Nadbor a oszacujesz pierwszą cyfre 2^79787675 też równie szybko swoją metodą ? Np w moim przykładzie to jest cyfra 2 i da sie to policzyc na zwyklym kalkulatorze tylko nieco inna metoda.

    ReplyDelete
  6. Bez kalkulatora z logarytmem nie umiem...

    ReplyDelete
  7. "Na tej samej zasadzie cyfra 2 występuje tak samo często, co cyfry 3 i 4."

    Powinno być: 4 i 5.

    ReplyDelete