二項分布の計算について

100回コインを投げて80回以上表が出る確率
bingに聞いてみると

bing

こんにちは、こちらはBingです。😊
コインを100回投げて、表が80回以上出る確率は、二項分布という統計学の分布を使って計算できます。1
二項分布の確率は、以下の式で求められます。
P(X=k) = nCk * p^k * (1-p)^(n-k)
ここで、nは試行回数、kは成功回数、pは成功確率、nCkはn個からk個を選ぶ組み合わせの数です。
コインの場合、表が出る確率はp=0.5です。2
コインを100回投げて、表が80回出る確率は、
P(X=80) = 100C80 * 0.5^80 * 0.5^20 ≒ 0.000000000000000000000000000000000000000000000001
となります。
表が80回以上出る確率は、表が80回から100回出る確率の合計です。
P(X≧80) = P(X=80) + P(X=81) + … + P(X=100)
これを計算すると、
P(X≧80) ≒ 0.000000000000000000000000000000000000000000000002
となります。
つまり、コインを100回投げて、表が80回以上出る確率は非常に低いと言えます。

式はあってそうですが計算が間違っていそうです

まず正確に計算してみます

i = 80 100 { 100 C 80 ( 1 2 ) i ( 1 2 ) 100 i }

Rで書くならこう

sum <- 0
for (i in 80:100) {
  sum <- choose(100, i) * (1 / 2) ^ 100 + sum
  print(paste(i, "= ", sum))
}

結果は 5.579545e-10

標本比率の計算でやるなら

X ¯ = 1 100 i = 1 100 X i N ( 1 2 , ( 1 2 ) ( 1 2 ) 100 )

Rでやるなら

pnorm(0.8,0.5,sqrt(0.25/100), lower.tail = FALSE)

結果は 9.865876e-10

同じことですけど
二項分布の正規分布近似でやるなら

X N ( 100 2 , 100 1 2 1 2 )

Rなら

pnorm(80,50,sqrt(100/4), lower.tail = FALSE)

結果は当然同じで 9.865876e-10

グラフはこんな感じ

curve(dnorm(x,50,sqrt(100/4)),from = 0, to = 100)

rplot-2

というわけでBingの計算結果はどっから出てきたかは謎