Help us understand the problem. What is going on with this article?

偶然とはなにか。コインを投げてみよう

More than 3 years have passed since last update.

偶然とはなにか

・8人の人がコインを振っても、表が4枚裏が4枚になることはない
・でもコインなら3枚表で5枚裏でもたまたま裏が多かったと思うけど、スロットで雑誌で見たテクニックで台を選んで、勝ったら、自分の力で勝ったと思ってしまう
・自分が行った施策で数字が上がれば結果が出たと思うし、結果が出なかったらでなかったと思う
=> 統計的にどのくらいの精度なのか計算できる、偶然起きるってことを体験してみよう

コインの表の出る確率を実験する

2回投げる

0が表, 1が裏だとすると

00
10
11
01

表が出る確率が1/2になる確率は、(1,0)(0,1)の時だけなので、1/2

4回投げる

0000

1000
0100
0010
0001

1100
1010
1001
0110
0101
0011

0111
1011
1101
1110

1111

表が出る確率が1/2になる確率は、6/16(37.5%)
6 = 4C2 = 4*3/2
16 = 2^4

Rで計算してみる

Rのセットアップ

choose(4, 2) => 6
2**4 => 16

コインの表が出る確率を実験する(R編)

8回投げる

11110000

> choose(8, 4)/2**8
[1] 0.2734375

11111000

> choose(8, 5)/2**8
[1] 0.21875

11111100

> choose(8, 6)/2**8
[1] 0.109375

11111110

> choose(8, 7)/2**n
[1] 0.03125

11111111

> choose(8, 8)/2**n
[1] 0.00390625

表が出る確率が1/2(50%)になる確率は、27.3%
表が出る確率が5/8(63.5%)になる確率は、21.9%
表が出る確率が6/8(75%)になる確率は、10.9%
表が出る確率が7/8(87.5%)になる確率は、3.1%
表が出る確率が8/8(100%)になる確率は、0.4%

表が出る確率が3/8(37.5%)になる確率は、21.9%
表が出る確率が2/8(25%)になる確率は、10.9%
表が出る確率が1/8(12.5%)になる確率は、3.1%
表が出る確率が0/8(0%)になる確率は、0%

dbinomの使い方

  • 8枚投げて4枚表。50%の確率のもの。
choose(8, 4)/2**8
[1] 0.2734375
dbinom(4, 8, 0.5)
[1] 0.2734375
barplot(dbinom(0:8,8,0.5), names.arg=0:8)

image

pbinom(0:8,8,0.5)
[1] 0.00390625 0.03515625 0.14453125 0.36328125 0.63671875 0.85546875 0.96484375
[8] 0.99609375 1.00000000
barplot(pbinom(0:8,8,0.5), names.arg=0:8)

image

sum(dbinom(3:5,8,0.5))
[1] 0.7109375
sum(dbinom(2:6,8,0.5))
[1] 0.9296875

・8回のコインを投げると、71%の確率で、3-5枚表になる
・8回のコインを投げると、92%の確率で、2-6枚表になる

自分でやってみよう

コインを100, 1000, 10000枚投げるとどうなるか試してみよう

100回投げる

image

> n=100;r=0.01;sum(dbinom((n/2-n*r):(n/2+n*r),n,0.5))
[1] 0.2356466
> n=100;r=0.02;sum(dbinom((n/2-n*r):(n/2+n*r),n,0.5))
[1] 0.3827006
> n=100;r=0.03;sum(dbinom((n/2-n*r):(n/2+n*r),n,0.5))
[1] 0.5158816
> n=100;r=0.04;sum(dbinom((n/2-n*r):(n/2+n*r),n,0.5))
[1] 0.6317984
> n=100;r=0.05;sum(dbinom((n/2-n*r):(n/2+n*r),n,0.5))
[1] 0.728747
> n=100;r=0.06;sum(dbinom((n/2-n*r):(n/2+n*r),n,0.5))
[1] 0.8066521
> n=100;r=0.07;sum(dbinom((n/2-n*r):(n/2+n*r),n,0.5))
[1] 0.8667894
> n=100;r=0.08;sum(dbinom((n/2-n*r):(n/2+n*r),n,0.5))
[1] 0.9113739
> n=100;r=0.09;sum(dbinom((n/2-n*r):(n/2+n*r),n,0.5))
[1] 0.9431121
> n=100;r=0.10;sum(dbinom((n/2-n*r):(n/2+n*r),n,0.5))
[1] 0.9647998

・100回のコインを投げると、52%の確率で、47-53枚になる
・100回のコインを投げると、81%の確率で、44-56枚になる
言い換えると
・100回のコインを投げると、52%の確率で、47-53枚になる
-> 48%の確率で、46枚以下54枚以上になる
-> 48%の確率で、4%以上本来の確率(50%)から値が離れる

・100回のコインを投げると、81%の確率で、44-56枚になる
-> 19%の確率で、43枚以下57枚以上になる
-> 19%の確率で、7%以上本来の確率(50%)から値が離れる

練習

  • 1000回のコインを投げると、50%, 49-51%, 48-52%, 47-53%になる確率は?
  • 10000回のコインを投げると、50%, 49.5-50.5%, 49-51%になる確率は?

伝えたいこと

  • コインを投げても、結果は1/2にならない
  • 100回投げても、19%の確率で、本来の確率より7%以上値が離れる
  • 偶然起きるとはなにか、どのくらいの頻度で起きるか
  • 次は、p値とはなにか。信頼区間をどう計算するか

関連

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away