2018年8月4日土曜日

財布に入っていたレシートがベンフォードの法則に従っているのか

財布にレシートをためる癖があり、久しぶりに整理しようと、財布を見てみたら結構溜まってた。
普通に捨てるのも面白みがないので、財布に入ってるレシートの金額がベンフォードの法則に従っているのか調べてみた。

 ベンフォードの法則とは
Wikipediaを見るのが早いが、簡単に言うと
「自然界の数値の最初の桁の分布は、ある特定の分布になっている」という法則
具体的には、数値$x$の最上桁目の数字$n$が出現する確率$p$は
\[ p = \log_{10} (n+1) - \log_{10}(n) = \log_{10}\left(1 + \frac{1}{n}\right) \] つまり、出現確率は以下のようになり、最上桁目の数値は「1」が出やすい。って法則
$n$123456789
確率$p$30.1%17.6%12.5%9.7%7.9%6.7%5.8%5.1%4.6%

 レシートがベンフォードに従うのか調べるプログラム
javaで組んでみた。
ベンフォードに従うかは適合度検定(カイ二乗検定)で評価。
有意水準は0.05
javaは標準APIにカイ二乗分布の分布関数を求める関数がなかったので、分布表からベタ打ちで評価

 結果
財布の中のレシートはベンフォードの法則に従ってそうだね。


 余談(R言語で実施)
統計データになるから「R」でやるべきじゃね?
と思うので、Rでも実施 p値は「0.06449」となり、優位水準0.05より大きいため棄却できない
よって、ベンフォードに従ってるとしてよいかな

0 件のコメント:

コメントを投稿