偏り問題を統計学的に確認

腹具合は収まってきたが、すごい頭が痛くなってきた。
熱が出てきた。これはやばい。
しかし眠れない。


仮に、100回試行するとする。
この中で、三回連続で同じ職がでるかどうか確認できるチャンスは98回(最後の二回では、もう次に試行する事は無いので、チャンスが無い)。
で、この内の任意の一回について見てみる。
とりあえず、最初の一回はどの職が出てもよい。
その次の一回が、一つ前の職になる可能性は1/9。
更にその次の一回も同じ職になる可能性は1/9。
つまり、1/81の確率で三連続(以上)になる可能性がある。
これを逆に見ると、80/81の確率で三連続にはならないという事になる。
で、98回連続で外れる確率は、80/81/98=0.010078105316200554になる(註: あとで考えると、ここはおかしい。(80/81)^98=0.29599670399899564が正しい)。
要するに、大体1%。
これを逆に見ると、百回試行すれば、99%の確率で一回ぐらいは三連続の値が出る事になる。
これを数学風の式で表すと、

期待する連続回数 = m
試行回数 = n
連続して出現する可能性 = 1 - ((1 - (1/9)^(m - 1)) / (n - (m - 1)))

schemeで書くと

(define (hoge m n)
  (exact->inexact
    (- 1
       (/ (- 1 (expt (/ 1 9) (- m 1)))
          (- n (- m 1))))))

gosh> (hoge 3 100)
0.9899218946837994
gosh> (hoge 3 12)
0.9012345679012346
gosh> (hoge 5 100)
0.9895849209978154
gosh> (hoge 5 14)
0.9000152415790276
gosh> (hoge 10 20)
0.9090909093255614

つまり、12回試行すれば、90%の確率で三連続同じ職が出る事があり、14回試行すれば、90%の確率で五連続で同じ職が出る事がある。
更に、20回試行すると、90%の確率で、10連続で同じ職が出る事がある。


……これは、なんか間違ってそうだな……。
あとで考え直そう。


わかった。こうだ。

(define (hoge m n)
  (exact->inexact
    (- 1
       (expt (- 1 (expt (/ 1 9) (- m 1)))
             (- n (- m 1))))))

gosh> (hoge 3 100)
0.7040032960010044
gosh> (hoge 3 30)
0.2937814722269074
gosh> (hoge 5 100)
#<nan>

これは謎だ……多分、exptのしすぎ?

gosh> (hoge 5 50)
0.006987136369473152

とりあえず、三連続ぐらいは普通に出る事は分かった。
しかし、これによると、50回の試行程度では、同じ職が五連続で出るのは1%以下。
運が良かっただけなのか、やっぱり偏りがあるのか、もう少し調べる必要があるようだ。