第4章 確率論の基礎

ゆがみのないコインを繰り返し投げる試行をシミュレーションにより再現してみよう.

まず,結果の再現性を確保するために,コンピュータに(疑似)乱数を発生させる際の「乱数の種」を設定しておく.同じシードであれば,同じ結果が帰ってくる.

set.seed(8931)

次に,コイン投げ関数をsample関数を利用して作成する.表をH,裏をTとする.

coin <- function() {
  sample(c("H", "T"),1)
}

4.1 コインを一回投げる

コインを一回投げる.

coin()
## [1] "T"

コイン投げ試行を1000回行って結果の割合を見てみよう.

table(replicate(1000,coin()))/1000
## 
##     H     T 
## 0.505 0.495

それぞれ,確率の古典的定義の1/2に近似する値になった.試行回数\(n\)を増やしていくと割合は1/2に近づいて行くものと期待できる.

4.2 コインを二回投げる

コインを二回投げた結果をHTなどと表記する.

paste0(coin(),coin())
## [1] "HT"

2回コイン投げ試行を1000回行って結果の割合を見てみよう.

table(replicate(1000,paste0(coin(),coin())))/1000
## 
##    HH    HT    TH    TT 
## 0.262 0.245 0.253 0.240

それぞれのコイン投げが独立であるとすると,2回コイン投げ試行の結果の確率は\((1/2)^2=1/4\)となることが期待される.シミュレーションの結果はそれに近似する結果になった.