Strict Standards: Declaration of JFalangDatabase::getInstance() should be compatible with JDatabase::getInstance($options = Array) in /srv/www/benford/plugins/system/falangdriver/falang_database.php on line 10

Strict Standards: Non-static method Falang::translateList() should not be called statically, assuming $this from incompatible context in /srv/www/benford/plugins/system/falangdriver/falang_database.php on line 329

Strict Standards: Non-static method Falang::translateListWithIDs() should not be called statically, assuming $this from incompatible context in /srv/www/benford/components/com_falang/helpers/falang.class.php on line 121

Strict Standards: Only variables should be assigned by reference in /srv/www/benford/administrator/components/com_j4age/libraries/base.classes.php on line 798

Strict Standards: Non-static method js_JSDatabaseAccess::getInstance() should not be called statically, assuming $this from incompatible context in /srv/www/benford/administrator/components/com_j4age/libraries/count.classes.php on line 43

Strict Standards: Only variables should be assigned by reference in /srv/www/benford/administrator/components/com_j4age/database/access.php on line 76

Strict Standards: Non-static method js_JSConf::getInstance() should not be called statically, assuming $this from incompatible context in /srv/www/benford/administrator/components/com_j4age/libraries/count.classes.php on line 57

Strict Standards: Non-static method js_JSDatabaseAccess::getInstance() should not be called statically, assuming $this from incompatible context in /srv/www/benford/administrator/components/com_j4age/libraries/base.classes.php on line 119

Strict Standards: Non-static method IPInfoHelper::getVisitorIp() should not be called statically, assuming $this from incompatible context in /srv/www/benford/administrator/components/com_j4age/libraries/count.classes.php on line 482

Strict Standards: Non-static method IPInfoHelper::isIpAddressValidRfc3330() should not be called statically, assuming $this from incompatible context in /srv/www/benford/administrator/components/com_j4age/api/ip.info.php on line 1077

Strict Standards: Non-static method IPInfoHelper::isIpAddressValidRfc3330() should not be called statically, assuming $this from incompatible context in /srv/www/benford/administrator/components/com_j4age/api/ip.info.php on line 1093

Strict Standards: Non-static method js_PluginManager::fireEventWithArgs() should not be called statically, assuming $this from incompatible context in /srv/www/benford/administrator/components/com_j4age/libraries/count.classes.php on line 165

Strict Standards: Non-static method js_PluginManager::loadAvailablePlugins() should not be called statically, assuming $this from incompatible context in /srv/www/benford/administrator/components/com_j4age/libraries/base.classes.php on line 1393

Strict Standards: Non-static method js_JSDatabaseAccess::getInstance() should not be called statically, assuming $this from incompatible context in /srv/www/benford/administrator/components/com_j4age/libraries/base.classes.php on line 1187

Strict Standards: Non-static method js_PluginManager::stringToObject() should not be called statically, assuming $this from incompatible context in /srv/www/benford/administrator/components/com_j4age/libraries/base.classes.php on line 1239

Strict Standards: Non-static method js_JSConf::getInstance() should not be called statically, assuming $this from incompatible context in /srv/www/benford/administrator/components/com_j4age/extensions/ext_ip2nation.php on line 35

Strict Standards: Non-static method js_JSUtil::JSVersionCompare() should not be called statically, assuming $this from incompatible context in /srv/www/benford/administrator/components/com_j4age/extensions/ext_ip2nation.php on line 40

Strict Standards: Non-static method js_PluginManager::registerEventObserver() should not be called statically, assuming $this from incompatible context in /srv/www/benford/administrator/components/com_j4age/libraries/base.classes.php on line 1315

Strict Standards: Non-static method js_PluginManager::registerEventObserver() should not be called statically, assuming $this from incompatible context in /srv/www/benford/administrator/components/com_j4age/libraries/base.classes.php on line 1315

Warning: Cannot modify header information - headers already sent by (output started at /srv/www/benford/administrator/components/com_j4age/extensions/ext_ip2nation.php:35) in /srv/www/benford/administrator/components/com_j4age/libraries/count.classes.php on line 276

Strict Standards: Only variables should be assigned by reference in /srv/www/benford/administrator/components/com_j4age/libraries/count.classes.php on line 371

Warning: Cannot modify header information - headers already sent by (output started at /srv/www/benford/administrator/components/com_j4age/extensions/ext_ip2nation.php:35) in /srv/www/benford/administrator/components/com_j4age/libraries/count.classes.php on line 1778

Strict Standards: Only variables should be assigned by reference in /srv/www/benford/administrator/components/com_j4age/libraries/count.classes.php on line 1794

Strict Standards: Non-static method js_PluginManager::fireEventWithArgs() should not be called statically, assuming $this from incompatible context in /srv/www/benford/administrator/components/com_j4age/libraries/count.classes.php on line 343
Benford's law
Strict Standards: Non-static method Falang::translateList() should not be called statically, assuming $this from incompatible context in /srv/www/benford/plugins/system/falangdriver/falang_database.php on line 329

Strict Standards: Non-static method Falang::translateListWithIDs() should not be called statically, assuming $this from incompatible context in /srv/www/benford/components/com_falang/helpers/falang.class.php on line 121

Articles


Strict Standards: Non-static method Falang::translateList() should not be called statically, assuming $this from incompatible context in /srv/www/benford/plugins/system/falangdriver/falang_database.php on line 329

Strict Standards: Non-static method Falang::translateListWithIDs() should not be called statically, assuming $this from incompatible context in /srv/www/benford/components/com_falang/helpers/falang.class.php on line 121

Contact

This website is designed and maintained by benford.pl team members.

Contact:

This email address is being protected from spambots. You need JavaScript enabled to view it.

This email address is being protected from spambots. You need JavaScript enabled to view it." style="padding: 0px; margin: 0px; color: #025a8d; text-decoration: initial; outline: none; font-family: Arial, Helvetica, sans-serif; font-size: 12px; background-color: #eeeeee;">This email address is being protected from spambots. You need JavaScript enabled to view it.


Strict Standards: Non-static method Falang::translateList() should not be called statically, assuming $this from incompatible context in /srv/www/benford/plugins/system/falangdriver/falang_database.php on line 329

Strict Standards: Non-static method Falang::translateListWithIDs() should not be called statically, assuming $this from incompatible context in /srv/www/benford/components/com_falang/helpers/falang.class.php on line 121

Prawo Benforda

Istota Prawa Benforda

W roku 1938 Frank Benford opublikował w czasopiśmie Proceedings of the American Philosophical Society swój artykuł pt. „The Law of Anomalous Numbers”. Opisał w nim zaobserwowane  zjawisko dotyczące częstotliwości występowania cyfr na pozycjach znaczących w liczbach pochodzenia naturalnego (zaobserwowanych w przyrodzie - nie generowanych sztucznie). Zjawisko to nazwał prawem pierwszej cyfry (ang. First Digit Law).

Zostało ono opisane następującym wzorem:

 

(1)

 

Według powyższego wzoru prawdopodobieństwo wystąpienia cyfry 1 wynosi 30,10%, podczas, gdy cyfry 9 – jedynie 4,58%.



Rysunek 1 – Rozkład Benforda dla pierwszej znaczącej cyfry w systemie dziesiętnym.


Źródło: opracowanie własne.



Właściwości zbiorów podlegających Rozkładowi Benforda

Nie wszystkie duże, naturalne (niezmanipulowane) zbiory danych podlegają Prawu Benforda. Można wymienić kilka warunków koniecznych, które muszą być spełnione, aby wynik obserwacji był wiarygodny:



  1. Dane muszą być zgromadzone w tej samej przestrzeni fizycznej. Co za tym idzie dane muszą opisywać ten sam faktyczny stan rzeczy. Przykładem mogą być ceny oraz ilości, które nie powinny być uwzględniane w tym samym zestawie danych.
  2. Zbiór danych nie może posiadać górnej ani dolnej granicy przyjmowanych wartości. W szczególności oznacza to, że nie może istnieć limit determinujący to, czy poszczególna dana może być rozpatrywana w kontekście danego zbioru, czy też nie. Na przykład nie można rozpatrywać rachunku, gdzie księgowane są jedynie kwoty powyżej €400, a niższe księgowane na innym.
  3. Zbiór danych nie może posiadać żadnych przypisanych numerów. Służą one jedynie do identyfikacji i nie są wynikiem naturalnych procesów. Numery pracowników, numery kont bankowych, numery telefonów nie podlegają Prawu Benforda.
  4. Zestaw danych powinien posiadać więcej liczb o niższej wartości, niż wyższej. Jest to efekt naturalnego procesu rozwoju. Przykładowo można oczekiwać większej ilości faktur wystawionych na niższą kwotę, niż tych opiewających na pokaźne kwoty. Niemniej jednak zestaw danych nie musi być bardzo rozproszony.



W przypadku, gdy został utworzony Zbiór Benforda, można zaobserwować trzy główne cechy charakterystyczne:



  1. Niezmienność skali – mnożąc wszystkie wartości w Zbiorze Benforda przez stałą otrzymujemy inny, nowy Zbiór Benforda. Cecha ta jest szczególnie istotna w odniesieniu do przeliczania kursów walut.
  2. Niezmienność bazy – Theodore P. Hill (1995) udowodnił, że Prawo Benforda dotyczy nie tylko zbiorów opartych na dziesiętnym systemie liczbowym, ale również wszystkich innych systemach.
  3. Niezmienność w operacjach matematycznych – potęgowanie, mnożenie, dzielenie, dodawanie oraz odejmowanie Zbiorów Benforda ze sobą powoduje powstanie nowego Zbioru Benforda.



Prawdopodobieństwo wystąpienia cyfr na dalszych pozycjach znaczących

Możliwe jest wywnioskowanie względnych częstotliwości cyfr znajdujących się na dalszych pozycjach znacząych - drugiej, trzeciej itd. (wliczając cyfrę 0), jak również prawdopodobieństwo warunkowe (np. prawdopodobieństwo wystąpienia na drugiej pozycji cyfry m, podczas gdy pierwszą cyfrą jest n). Ponadto odpowiednie prawdopodobieństwa mogą być również stosowane dla innych systemów liczbowych – np. ósemkowego, szesnastkowego.



Rysunek 2 - Prawdopodobieństwo wystąpienia na pierwszych znaczących miejscach cyfr 1-99.


Źródło: opracowanie własne.



Prostym przykładem jest prawdopodobieństwo P(31) – pierwszą cyfrą jest 3, natomiast drugą – 1. Jest to równoważne prawdopodobieństwu, że liczba znajduje się w przedziale (31, 32), bądź dowolnej potędze 10 tego przedziału:

 


 

Może to być uogólnione dla dowolnej liczby cyfr oraz dowolnych systemów numerycznych w następujący sposób: niech {D} będzie ciągiem cyfr systemu numerycznego o bazie B, który reprezentuje naturalną liczbę D. Wtedy prawdopodobieństwo P(D), że liczba zaczyna się od sekwencji {D} wynosi:

 


 

Prawdopodobieństwo, że cyfrą na drugiej znaczącej pozycji liczby w systemie dziesiętnym jest k wynosi:

 

(2)

 

Rysunek 3 – Zestawienie prawdopodobieństwa wystąpienia cyfry na pierwszej oraz drugiej znaczącej pozycji.


Źródło: opracowanie własne.



Rysunek 3 przedstawia porównanie względnej częstotliwości pierwszych cyfr znaczących z równania (1) oraz tych dotyczących drugiej cyfry wyliczonych z równania (2). Można zauważyć, że odchylenie od jednostajnego rozkładu jest mniejsze dla drugich cyfr. Z dalszych obliczeń wynika, że rozkład jest bardziej jednostajny dla trzeciej, czwartej itd. cyfry.



Tabela 1 – Rozkład prawdopodobieństwa 1 i 2 cyfry.



0

1

2

3

4

5

6

7

8

9



1

0,041

0,038

0,035

0,032

0,030

0,028

0,026

0,025

0,023

0,022

30,10%

2

0,021

0,020

0,019

0,018

0,018

0,017

0,016

0,016

0,015

0,015

17,61%

3

0,014

0,014

0,013

0,013

0,013

0,012

0,012

0,012

0,011

0,011

12,49%

4

0,011

0,010

0,010

0,010

0,010

0,010

0,009

0,009

0,009

0,009

9,69%

5

0,009

0,008

0,008

0,008

0,008

0,008

0,008

0,008

0,007

0,007

7,92%

6

0,007

0,007

0,007

0,007

0,007

0,007

0,007

0,006

0,006

0,006

6,69%

7

0,006

0,006

0,006

0,006

0,006

0,006

0,006

0,006

0,006

0,005

5,80%

8

0,005

0,005

0,005

0,005

0,005

0,005

0,005

0,005

0,005

0,005

5,12%

9

0,005

0,005

0,005

0,005

0,005

0,005

0,005

0,004

0,004

0,004

4,58%



11,97%

11,39%

10,88%

10,43%

10,03%

9,67%

9,34%

9,04%

8,76%

8,50%



Źródło: opracowanie własne.



Chcąc sprawdzić poprawność zbioru danych stosując Prawo Benforda, najlepiej jest użyć rozkładu pierwszej cyfry znaczącej, gdyż jest najbardziej miarodajny. Analiza rozkładu kolejnych cyfr nie daje dodatkowych przydatnych informacji.

 

 

 


Hill P. Theodore, “Base-invariance implies Benford’s law” Proceedings of the American Mathematical Society 123(3):887–895

Ryder, P  „Multiple origins of the Newcomb-Benford law: rational numbers, exponential growth and random fragmentation.” Staats - und Universitätsbibliothek Bremen, Germany, 2009.