◆京都府の大学院生 わかさひ君 さんからの解答。
確率を考える場合は、その発生源の発生の仕方を的確にとらえる必要があります。
以下、データは自然数に限定して考えます。
例えば、「データ」の発生の仕方を
(STEP 1)まず、データの桁数をランダムに決める
(STEP 2)一番上の桁の数を1〜9から等しい確率で選ぶ
(STEP 3)上から2番目の桁の数を1〜9から等しい確率で選ぶ
(STEP 4)以下略
と定めれば、1桁目が1になる確率は1/9であるはずです。
実験して見ると、約30%ですから、こんな発生の仕方をしていないことは見当がつきます。
では、どのようなデータの発生のさせ方をしているのか。
「統計データ」の特徴をとらえてみなければなりません。
「統計」とは、自然に起こり得るデータを扱います。
自然界は、指数関数で記述できるものが多いです。
たとえば、人口は年に何%伸びるとか言うのは、指数関数的な伸び方を示唆しています(究極的にはねずみ算です)し、金利なども指数関数で記述できます。
# もっとも簡単な微分方程式の一つ dy/dx = ay の解が指数関数になることからも同様のことが言えます。
つまり、片対数グラフで直線になるようなのが自然界に多いといえます。
対数グラフを見たことがあると直観的に分かりやすいのですが…。
対数軸の区間から均等な確率で1点を取り出すことを考えると、
1桁目の数が1になる割合は、およそlog 2 ( log は常用対数、底が10の対数 )になり、
この値は およそ0.3010 、つまり30.1%程度になります。
また、1〜4になる割合はおよそ log5 ですから、 0.6990、つまり69.9%となります。
【コメント】
ご指摘の通りですが、結果はかなり意外なものだったのではないでしょうか。
乱数がまずいためか、桁数を限定しているためなのか、何度やっても70%に届かなかったのが若干不思議なのですが?。
◆東京都の大学院生 しんちー さんからのコメント。
解答ではないのですが,世の中のデータを
10x
で表現すると,この x がランダムに決められる,ということなのかな.
1以上高々 n 桁の数 1≦10x<10n
(つまり 0≦x<n)の最上位が1であるのは
1×10i≦ 10x< 2×10i
(i=0,1,...,n-1)
すなわち常用対数をとって
i ≦ x < i + ln(2)
x が一様な乱数であるとすれば,1桁目が1になる確率は
(ln(2) × n) / n = ln(2)
になるということですね.
◆新潟県 white ice さんからの解答。
統計上の数値が自然数で示されているので、無限小数の事象を自然数部分だけ見ていることが基となっているのではないでしょうか。
言い換えると、桁数が増えると有効数字が増えるので、桁が1つ上がると事象数が10倍になるためではないでしょうか。
たとえば、100〜199は、1.00〜1.99と同等
(1.00×102〜1.99×102と1.00〜1.99で、すべて1桁目は1)
であるが、統計上の数値数は100:1となるので、
x桁の自然数は1桁の自然数の10^x倍起こりやすいことと予想されます。
ここで、統計上の数値が実は無限小数の事象であるとすると、この場合の1桁目の確率を考えるときには、桁数の増加による事象数の増加の影響を取り除くために、自然対数をとる必要があり、東京都の大学院生 しんちーさんのコメントのように、世の中のデータを
10x
で表現した場合に、x がランダムに決められる、と同等の扱いとなると予想されます。
あとは、同じ桁の中ではどうなるのかですが、10xのxを小数に拡大して考えれば良いので、問題ないと思います。
n進数なら、nxでxがランダムとなり、
1桁目が1の確率はlogn(2)で、問題の10進数なら0.3010、2進数なら容易に正答が得られる1となります。