先頭の数字は1が多い?

サイエンス記事

新聞の折り込みチラシで塾や予備校の宣伝をよく見かけます。
合格者数一覧を掲載して、競い合っているようです。
例えばEゼミナールだと、こんな感じです。

さて、各学校の合格者数の先頭の数字だけを集めてみます。
例えば、A中学校への合格者数が35名だった場合は、先頭の数字3を持ってきます。
B中学校への合格者数が132名だった場合は、先頭の数字1を持ってきます。
こうして、153校それぞれの合格者数の先頭の数字を集めてみました。
いったいどの数字が多いでしょうか?1が多いか、それとも2が多いか?それとも9が多いでしょうか?
数字をランダムに集めたと考えれば、どの数字も同じ割合のようにも思われます。

153個の数字を手で分類するのは大変なので、ここでプログラムの登場です。
プログラミング教室では、先頭の数字を得るアルゴリズムを考えてもらいます。
次に、1から9までの数字について、それぞれ何回出てくるか、カウントするアルゴリズムが必要です。

以下に結果を示します。
横軸は先頭の数字、縦軸はその数字が出る割合です。
青がプログラムから得た値で、赤はある条件を仮定したときの理論計算による値です。

1の割合は30%近くになっており出現頻度が高いことがわかります。
実は、合格者数でこのような計算をやってみたのは今回初めてだと思いますが、
世界各国のGDPとか、世界各国の失業率とかでも同じような傾向の結果が得られることが知られています。
逆にこのような分析を行って、会計報告の不正を見破ったという報告もあるそうです。
ベンフォードの法則と呼ばれています。

なかなか興味深い結果ですね。
数学は苦手というお子様も多いかと思いますが、このような分析を通じて面白いと思って興味を持ってくれることを期待しています。

さて、ついでなので、別の進学塾であるRセミナーについても同様の分析を行ってみました。
先頭の数字が1になる割合が極端に少なくなっています。
データ数が48個しかなかったことが影響しているのかもしれません。
プログラミング教室ではこのような場合、なぜこんな結果になったのかしっかり考察することにも主眼を置いていきます。

注:この記事は特定の塾・予備校を支援したり、非難したりするものではありません。教育の一環として、公表されているデータを使用させて頂きました。