参考

ギリシャ文字表

 文字 名称  文字 名称
\(\alpha\) アルファ \(\nu\) ニュー
\(\beta\) ベータ \(\xi\) クシー
\(\gamma\) ガンマ \(\omicron\)  オミクロン
\(\delta\) デルタ \(\pi\) パイ
\(\epsilon\) イプシロン \(\rho\) ロー
\(\zeta\) ゼータ \(\sigma\) シグマ
\(\eta\) エータ(イータ) \(\tau\) タウ
\(\theta\) テータ(シータ) \(\upsilon\) ユプシロン
\(\iota\) イオタ \(\phi\) フィー
\(\kappa\) カッパ \(\chi\) キー
\(\lambda\) ラムダ \(\psi\) プシー
\(\mu\) ミュー \(\omega\) オメガ

確率質量関数と確率密度関数

  • 離散型確率の場合、確率質量関数(Probability Mass Function: PMF)は確率を与える。 \[\begin{eqnarray*}P(x)=f(x)\tag{1}\end{eqnarray*}\]
  • 確率質量関数は以下の特徴をもつ、 \[\begin{eqnarray*}f(x)\geq 0\tag{1-1}\end{eqnarray*}\] \[\begin{eqnarray*}\sum_{x}^{}f(x)=1\tag{1-2}\end{eqnarray*}\]
  • 連続型確率の場合、確率密度関数(Probability Density Function: PDF)は次の式で確率を計算する。

\[\begin{eqnarray*}P(a\leq x \leq b)=\int_{a}^{b}f(x)dx\tag{2}\end{eqnarray*}\] - 確率密度関数は以下の特徴をもつ、 \[\begin{eqnarray*}f(x)\geq 0\tag{2-1}\end{eqnarray*}\] \[\begin{eqnarray*}\int_{-\infty}^{\infty}f(x)dx=1\tag{2-2}\end{eqnarray*}\]

確率分布: 一様分布

離散型一様分布

  • n個の可能性(output)が均等な確率をもつ確率分布の確率質量関数は

\[ f(x) = \frac{1}{n} \] ## 連続型一様分布 - aからbの連続な可能性が均等な確率をもつ確率分布の確率密度関数は \[ f(x) = \frac{1}{b-a}\] - 厳密に書くと

\[f(x)=\begin{cases}\dfrac{1}{b-a}&(a\leq x\leq b)\\0&(\mathrm{Otherwise})\end{cases}\]

  • 離散型_連続型一様分布の確率シミュレーション
a <- 1  # 範囲の下限
b <- 6  # 範囲の上限
Sample_Number <- 5  # ランダムに取り出すサンプル数

## 離散型一様分布
Result_1 <- sample(a:b, Sample_Number, replace = TRUE)
print(Result_1)
[1] 4 1 1 2 5
### 参考1 もし、replaceがなければ?
Result_2 <- sample(a:b, Sample_Number, replace = FALSE)
print(Result_2)
[1] 6 5 3 4 1
### 参考2 サイコロは?
Dice_1 <- sample(1:6, Sample_Number, replace = TRUE)
print(Dice_1)
[1] 5 3 2 2 4
## 連続型一様分布
Result_3 <- runif(Sample_Number, min = a, max = b)
print(Result_3)
[1] 3.056438 3.260057 5.004310 3.207090 2.865699

確率分布: ベルヌーイ試行

  • [表・裏]、[当たり・はずれ]などの、二つの可能性しかない場合の1回の試行で成功するか、どうか
  • 確率をpとすると \[ f(x)=p(1-p) \]
  • ベルヌーイ試行の確率シミュレーション
# 確率 0.3の二項分布を使う
Prob <- 0.3
Trial <- 1
Success <- 1

Result_4 <- rbinom(Success, Trial, Prob)
print(Result_4)
[1] 0
# 確率 0.3の二項分布を使う 複数回行う ⇒ 二項分布
Prob <- 0.3
Trial <- 10
Success <- 1

Result_5 <- rbinom(Success, Trial, Prob)
print(Result_5)
[1] 4

確率分布:二項分布(1)

  • n > 1 で成功する確率Pが大きく、試行回数が大きくない場合。
  • C (組み合わせ)
  • x回成功する

\[ f(x) = _n \mathrm{C} _x p^x(1-p)^{n-x} = {n \choose x} p^x(1-p)^{n-x}\] \[ _n \mathrm{C} _x = \binom{n}{x} = \frac{n!}{x!(n-x)!} \] - n回の試行で、x回成功する確率 - 例 表のでる確率0.6のコイン8枚を投げて2回表のでる確率$ P(x=2) $。

Prob <- 0.6
Trial <- 8  # n
Success <- 2  # x

Result_6 <- dbinom(Success, Trial, Prob)
print(Result_6)
[1] 0.04128768
  • n回の試行でコインの表が出る確率シミュレーションを複数回おこなう

  • 確率シミュレーション : 与えられる確率分布からランダムに確率変数を得る。

  • 例 表のでる確率0.8のコイン10枚を投げるシュミレーションを30回行い、表の出た数を得る。

Prob <- 0.8
Trial <- 10  # n 
Simulation_Number <- 30  #  

Result_5 <- rbinom(Simulation_Number, Trial, Prob)
print(Result_5)  # それぞれのシミュレーションでの表の数
 [1]  8  9  9  9  8 10  8  8  5  8  8 10  9  8  8  9 10 10  9  8  7  9  8  7 10
[26]  8 10  9  8 10
hist(Result_5)

確率分布:二項分布(2) もうすこし、厳密な表記でコインを使った事例

  1. コインは表(H:head)と裏(T:Tail)しかないとする。 \[ \Omega = \{H,T \} \] Note 1 : \(\Omega\) :全体集合(whole set) ⇒ この場合はコイントスの結果
    Note 2 : \(\{ \}\) :集合(set) ⇒ この場合はコイントスでの可能な結果の集合

2. 表(H:head)を1、裏(T:Tail)を0として数字に置き換えたとき、 コイントス\(X\)\(n\)回目の結果を \[{X} _n =\{1, 0\}\] とする。 
3. 表がでる確率を\(p\)として、1個のコインでコイントスをするときの確率はベルヌーイ試行になり \[ f(x)=p(1-p) \] 4. n個のコインでコイントスをx回表がでる確率は二項分布となり - n > 1 で成功する確率Pが大きく、試行回数が大きくない場合。 - C (組み合わせ) - x回成功する(表が出る)

\[ f(r) = _n \mathrm{C} _x p^x(1-p)^{n-x} = {n \choose x} p^x(1-p)^{n-x}\]

# 確率を設定する : 「表の出る確率」p
Prob <- 0.5

# 試行回数を設定 何回おこなうか ⇒ n
Tries <- 10

# 成功する回数 試行回数のうち何回表がでるか ⇒ X
Success <- 5

## 累積密度 ⇒ つまり、表がでる確率pの上で10回コイントスをして5回表がでる確率
dbinom(Success, Tries, Prob)
[1] 0.2460938

大数の法則(たいすうのほうそく:Law of Large Number)

母集団からの標本サイズが大きくなると、その標本の平均は母集団平均に近づく

  1. n個のコインでコイントスをx回表がでる確率は二項分布
  • 注:シミュレーションが1回のケース
options(scipen = 2)
# 10個のコイン(n= 10)で, 0回から10回までのそれぞれの表の出る確率
Result_7 <- dbinom(0:10, 10, 0.5)
print(Result_7)
 [1] 0.0009765625 0.0097656250 0.0439453125 0.1171875000 0.2050781250
 [6] 0.2460937500 0.2050781250 0.1171875000 0.0439453125 0.0097656250
[11] 0.0009765625
Result_7 <- cbind(0:10, Result_7)
plot(Result_7, type = "b")

# 10個のコイン(n= 10)で, 0回から20回までのそれぞれの表の出る確率
Result_8 <- dbinom(0:20, 10, 0.5)
print(Result_8)
 [1] 0.0009765625 0.0097656250 0.0439453125 0.1171875000 0.2050781250
 [6] 0.2460937500 0.2050781250 0.1171875000 0.0439453125 0.0097656250
[11] 0.0009765625 0.0000000000 0.0000000000 0.0000000000 0.0000000000
[16] 0.0000000000 0.0000000000 0.0000000000 0.0000000000 0.0000000000
[21] 0.0000000000
Result_8 <- cbind(0:20, Result_8)
plot(Result_8, type = "b")

  1. n個のコインでコイン数を増やしてゆくと?期待値0.5の確率はどうなるか?
  • 二項分布の期待値(平均値)は \(np\)
# 確率を設定する : 「表の出る確率」p
Prob <- 0.5

options(scipen = 2)
# 10個のコイン(n= 10)で, 0回から10回までのそれぞれの表の出る確率 期待値は np = 10
# × 0.5 = 5
n <- 10
x <- n * Prob  #期待値 
#  期待値の前後の確率あわせてみる つまりここでは、コインが5,6,7回表がでた場合
Result_9 <- dbinom((x - 1):(x + 1), n, Prob)
print(sum(Result_9))
[1] 0.65625
Result_9_1 <- dbinom(0:n, n, Prob)
Result_9_1 <- cbind(0:n, Result_9_1)
plot(Result_9_1, type = "b")

# 100個のコイン(n= 10)で, 0回から10回までのそれぞれの表の出る確率 期待値は np =
# 10 × 0.5 = 5
n <- 100
x <- n * Prob  #期待値 
#  期待値の前後の確率あわせてみる つまりここでは、コインが40~60回表がでた場合
Result_10 <- dbinom((x - 10):(x + 10), n, Prob)
print(sum(Result_10))
[1] 0.9647998
Result_10_1 <- dbinom(0:n, n, Prob)
Result_10_1 <- cbind(0:n, Result_10_1)
plot(Result_10_1, type = "b")

# 1000個のコイン(n= 10)で, 0回から10回までのそれぞれの表の出る確率 期待値は np =
# 1000 × 0.5 = 500
n <- 1000
x <- n * Prob  #期待値 
#  期待値の前後の確率あわせてみる つまりここでは、コインが400~600回表がでた場合
Result_11 <- dbinom((x - 100):(x + 100), n, Prob)
print(sum(Result_11))
[1] 1
Result_11_1 <- dbinom(0:n, n, Prob)
Result_11_1 <- cbind(0:n, Result_11_1)
plot(Result_11_1, type = "b")

# 100000個のコイン(n= 10)で, 0回から10回までのそれぞれの表の出る確率 期待値は np
# = 100000 × 0.5 = 50000
n <- 1e+05
x <- n * Prob  #期待値 
#  期待値の前後の確率あわせてみる つまりここでは、コインが40000~60000回表がでた場合
Result_12 <- dbinom((x - 10000):(x + 10000), n, Prob)
print(sum(Result_12))
[1] 1
Result_12_1 <- dbinom(0:n, n, Prob)
Result_12_1 <- cbind(0:n, Result_12_1)
plot(Result_12_1, type = "b")

plot(Result_9_1, type = "b")

plot(Result_10_1, type = "b")

plot(Result_11_1, type = "b")

plot(Result_12_1, type = "b")