第8講 - いろいろな離散分布と連続分布
(Press ?
for help, n
and p
for next and previous slide)
村田 昇
区間 \([a,b]\) \((a\leq b)\) に \(X\) が含まれる確率
\begin{equation} P(a\leq X\leq b) \end{equation}
定義
\(n\) 個の確率変数 \(X_{1},X_{2},\dotsc,X_n\) が 独立 であるとは, \(a_i\leq b_i\) \((i=1,\dots,n)\) なる 任意の実数 \(a_{1},b_{1},\dots,a_n,b_n\) に対して
\begin{multline} P(a_{1}\leq X_{1}\leq b_{1},a_{2}\leq X_{2}\leq b_{2},\dots,a_n\leq X_n\leq b_n)\\ =P(a_{1}\leq X_{1}\leq b_{1})P(a_{2}\leq X_{2}\leq b_{2})\cdots P(a_n\leq X_n\leq b_n) \end{multline}が成り立つことをいう.
定義
\(n\) 個の確率変数 \(X_{1},X_{2},\dotsc,X_n\) が 同分布 であるとは, \(a\leq b\) なる任意の実数 \(a,b\) に対して
\begin{equation} P(a\leq X_{1}\leq b)=P(a\leq X_{2}\leq b)=\cdots=P(a\leq X_n\leq b) \end{equation}が成り立つことをいう.
定義
以下の右辺が定義できる(絶対収束する)とき 離散型の確率変数 \(X\) の 平均 (または 期待値 )を
\begin{equation} \mathbb{E}[X]=\sum_{x\in\mathcal{X}}xP(X=x) \end{equation}で定義する.
ただし \(\mathcal{X}\) は \(X\) の取りうる値(無限個も可)の集合
確率変数の変換 \(\varphi(X)\) の期待値
\begin{equation} \mathbb{E}[\varphi(X)]=\sum_{x\in\mathcal{X}}\varphi(x)P(X=x) \end{equation}
\(p\) 次の モーメント (あるいは 積率 )
\begin{equation} \mathbb{E}[X^p]=\sum_{x\in\mathcal{X}}x^pP(X=x) \end{equation}
定義
\begin{align} \mathrm{Var}(X) =&\mathbb{E}[(X-\mathbb{E}[X])^2]\\ =&\sum_{x\in\mathcal{X}}(x-\mathbb{E}[X])^2P(X=x) \end{align}
集合 \(\{x_{1},\dotsc,x_n\}\) 上の離散一様分布
相異なる実数 \(x_{1},\dotsc,x_n\) を壺から無作為に取り出す試行
確率質量関数
\begin{equation} f(x)=\frac{1}{n},\quad x\in\{x_{1},\dots,x_n\} \end{equation}
平均
\begin{equation} \mathbb{E}[X] =\sum_{i=1}^nx_if(x_i) =\frac{1}{n}\sum_{i=1}^nx_i=\bar{x} \end{equation}
分散
\begin{equation} \mathrm{Var}(X) =\sum_{i=1}^n(x_i-\mathbb{E}[X])^2f(x_i) =\frac{1}{n}\sum_{i=1}^n(x_i-\bar{x})^2 \end{equation}
sample()
が利用できる
復元抽出はオプション replace=TRUE
を指定
a <- 1:6 # サンプリング対象の集合をベクトルとして定義(文字列でも構わない) sample(a, size=20, replace=TRUE) # 離散一様分布(20個)
試行回数 \(n\) , 成功確率 \(p\) の二項分布
確率 \(p\) で成功する試行を \(n\) 回行った総成功回数
確率質量関数
\begin{equation} f(x)=\Bigl({n\atop x}\Bigr)p^x(1-p)^{n-x},\quad x=0,1,\dots,n \end{equation}
平均
\begin{align} \mathbb{E}[X] &=\sum_{x=0}^nxf(x)=\sum_{x=0}^nx\Bigl({n\atop x}\Bigr)p^x(1-p)^{n-x}\\ &=\sum_{x=1}^n\frac{n!}{(x-1)!(n-x)!}p^x(1-p)^{n-x}\\ % &=\sum_{x=0}^{n-1}\frac{n!}{x!(n-x-1)!}p^{x+1}(1-p)^{n-x-1}\\ &=np\sum_{x=0}^{n-1}\Bigl({n-1\atop x}\Bigr)p^{x}(1-p)^{n-1-x}\\ &=np \end{align}
2次モーメント
\begin{align} \mathbb{E}[X^2] &=\sum_{x=0}^nx^2f(x) =\sum_{x=0}^nx(x-1)\Bigl({n\atop x}\Bigr)p^x(1-p)^{n-x}+\mathbb{E}[X]\\ % &=\sum_{x=2}^n\frac{n!}{(x-2)!(n-x)!}p^x(1-p)^{n-x}+np\\ % &=\sum_{x=0}^{n-2}\frac{n!}{x!(n-x-2)!}p^{x+2}(1-p)^{n-x-2}+np\\ &=n(n-1)p^2\sum_{x=0}^{n-2}\Bigl({n-2\atop x}\Bigr)p^{x}(1-p)^{n-2-x}+np\\ &=n(n-1)p^2+np =(np)^2+np(1-p) \end{align}
分散
\begin{equation} \mathrm{Var}(X) =\mathbb{E}[X^2]-\mathbb{E}[X]^2 =np(1-p) \end{equation}
乱数の発生は関数 rbinom()
を用いる
rbinom(10, size=1, prob=0.2) # Bernoulli分布(10個)
rbinom(20, size=5, prob=0.6) # 二項分布(20個)
[1] 1 0 1 0 1 1 1 0 0 0 [1] 1 4 4 3 5 2 3 4 4 4 1 4 4 1 3 3 4 1 3 3
dbinom()
で計算できる数値実験の雛形は以下のようになる
mc <- 10000 # 実験回数を指定
my_random <- function(){...} # 乱数生成のプログラム
my_dist <- function(){...} # 必要であれば理論曲線を定義
#' ただし多くの場合 d"乱数名"で定義されているのでそれらを用いればよい
my_data <- replicate(mc, my_random()) # Monte-Carlo実験
my_table <- table(my_data)/mc # 同じ値の頻度から確率を計算
tibble(count = as.numeric(names(my_table)),
observation = as.numeric(my_table),
theory = dbinom(値, size = n, prob = p)) |>
pivot_longer(!count, values_to = "probability") |>
ggplot(aes(x = count, y = probability, fill = name)) +
geom_bar(stat = "identity", width = 0.8, position = "dodge")
強度 \(\lambda\) の Poisson 分布 \(Po(\lambda)\) (\(\lambda > 0\))
少数の法則に現れた滅多に起こらない事象の起こる回数の分布
確率質量関数
\begin{equation} f(x)=\frac{\lambda^x}{x!}e^{-\lambda},\quad x=0,1,\dotsc \end{equation}
平均
\begin{align} \mathbb{E}[X] &=\sum_{x=0}^\infty xf(x)=\sum_{x=0}^\infty x\frac{\lambda^x}{x!}e^{-\lambda} =e^{-\lambda}\sum_{x=1}^\infty\frac{\lambda^x}{(x-1)!}\\ &=\lambda e^{-\lambda}\sum_{x=0}^\infty\frac{\lambda^x}{x!} =\lambda \end{align}
2次モーメント
\begin{align} \mathbb{E}[X^2] &=\sum_{x=0}^\infty x^2f(x) =\sum_{x=0}^\infty x(x-1)\frac{\lambda^x}{x!}e^{-\lambda}+\mathbb{E}[X]\\ &=e^{-\lambda}\sum_{x=2}^\infty\frac{\lambda^x}{(x-2)!}+\lambda =\lambda^2 e^{-\lambda}\sum_{x=0}^\infty\frac{\lambda^x}{x!}+\lambda\\ &=\lambda^2+\lambda \end{align}
分散
\begin{equation} \mathrm{Var}(X) =\mathbb{E}[X^2]-\mathbb{E}[X]^2=\lambda \end{equation}
乱数の発生は関数 rpois()
を用いる
rpois(15, lambda=1) # 強度1の Poisson 分布(15個)
rpois(15, lambda=10) # 強度10の Poisson 分布(15個)
[1] 1 1 0 0 2 1 3 1 2 2 0 2 0 1 0 [1] 5 5 7 14 12 9 15 13 11 12 15 9 11 11 12
dpois()
で計算できる成功確率 \(p\) の幾何分布 \((0 < p\leq 1)\)
成功するまでの失敗の回数の分布
確率質量関数
\begin{equation} f(x)=p(1-p)^x,\quad x=0,1,\dots \end{equation}
平均
\begin{align} \mathbb{E}[X] &=\sum_{x=0}^\infty xf(x)=\sum_{x=0}^\infty xp(1-p)^x =p(1-p)\sum_{x=1}^\infty x(1-p)^{x-1}\\ &=-p(1-p)\frac{d}{dp}\sum_{x=1}^\infty(1-p)^x =-p(1-p)\frac{d}{dp}\frac{1-p}{p}\\ &=-p(1-p)\cdot\Bigl(-\frac{1}{p^2}\Bigr) =\frac{1-p}{p} \end{align}
2次モーメント
\begin{align} \mathbb{E}[X^2] &=\sum_{x=0}^\infty x^2f(x)=\sum_{x=0}^\infty x(x-1)p(1-p)^x+\mathbb{E}[X]\\ % &=p(1-p)^2\sum_{x=2}^\infty x(x-1)p(1-p)^{x-2}+\frac{1-p}{p}\\ % &=p(1-p)^2\frac{d^2}{dp^2}\sum_{x=2}^\infty (1-p)^{x}+\frac{1-p}{p}\\ % &=p(1-p)^2\frac{d^2}{dp^2}\frac{(1-p)^2}{p}+\frac{1-p}{p}\\ % &=p(1-p)^2\frac{2}{p^3}+\frac{1-p}{p} &=2\Bigl(\frac{1-p}{p}\Bigr)^2+\frac{1-p}{p} \end{align}
分散
\begin{equation} \mathrm{Var}(X) =\mathbb{E}[X^2]-\mathbb{E}[X]^2 =\frac{1-p}{p^2} \end{equation}
乱数の発生は関数 rgeom()
を用いる
rgeom(15, prob=0.1) # 成功確率0.1の幾何分布(15個)
[1] 10 8 0 14 4 4 7 1 17 0 12 4 18 6 7
dgeom()
で計算できる非負の値をとる実数上の関数 \(f\) の積分で表される
\begin{equation} P(a\leq X\leq b)=\int_{a}^b f(x)dx \quad(a < b) \end{equation}
連続型の確率変数 \(X\) の平均
積分 \(\int_{-\infty}^\infty xf(x)dx\) が絶対収束するとき \(X\) の 平均 (または 期待値)を
\begin{equation} \mathbb{E}[X]=\int_{-\infty}^\infty xf(x)dx \end{equation}で定義する.
確率変数の変換 \(\varphi(X)\) の期待値
\begin{equation} \mathbb{E}[\varphi(X)]=\int_{-\infty}^\infty\varphi(x)f(x)dx \end{equation}
\(p\) 次の モーメント (あるいは 積率 )
\begin{equation} \mathbb{E}[X^p]=\int_{-\infty}^\infty x^pf(x)dx \end{equation}
分散
\begin{align} \mathrm{Var}(X)=& \mathbb{E}[(X-\mathbb{E}[X])^2]=\mathbb{E}[X^2]-\mathbb{E}[X]^2\\ =&\int_{-\infty}^\infty(x-\mathbb{E}[X])^2f(x)dx \end{align}
区間 \((a,b)\) 上の一様分布 \(U(a,b)\)
区間 \((a,b)\) のランダムな値の選択を表す分布
確率密度関数
\begin{equation} f(x)= \begin{cases} \frac{1}{b-a} & (a < x < b)\\ 0 & (\text{上記以外のとき}) \end{cases} \end{equation}
平均
\begin{align} \mathbb{E}[X] &=\int_{-\infty}^\infty xf(x)dx =\frac{1}{b-a}\int_a^bxdx\\ &=\frac{b^2-a^2}{2(b-a)} =\frac{a+b}{2} \end{align}
2次モーメント
\begin{align} \mathbb{E}[X^2] &=\int_{-\infty}^\infty x^2f(x)dx =\frac{1}{b-a}\int_a^bx^2dx\\ &=\frac{b^3-a^3}{3(b-a)} =\frac{a^2+ab+b^2}{3} \end{align}
分散
\begin{align} \mathrm{Var}(X) &=\mathbb{E}[X^2]-\mathbb{E}[X]^2 % =\frac{a^2+ab+b^2}{3}-\frac{a^2+2ab+b^2}{4}\\ % &=\frac{a^2-2ab+b^2}{12} =\frac{(b-a)^2}{12} \end{align}
乱数の発生は関数 runif()
を用いる
runif(8) # 区間(0,1)上の一様乱数(8個)
runif(8,min=-1,max=1) # 区間(-1,1)上の一様乱数(8個)
[1] 0.49946704 0.71491110 0.95495568 0.82934889 0.90071176 0.72491703 [7] 0.95460709 0.05374135 [1] 0.4250631 -0.2691035 0.2848561 -0.8230214 -0.6001004 0.2108312 [7] 0.4485277 0.1194693
dunif()
で計算できる確率密度関数
\begin{equation} f(x)=\frac{1}{\sqrt{2\pi\sigma^2}}\exp\Bigl(-\frac{(x-\mu)^2}{2\sigma^2}\Bigr) \end{equation}
中心極限定理により
\begin{equation} \frac{\sum_{i=1}^nX_i-np}{\sqrt{np(1-p)}} =\frac{\sqrt{n}(\frac{1}{n}\sum_{i=1}^nX_i-p)}{\sqrt{p(1-p)}} =\frac{Y-np}{\sqrt{np(1-p)}} \end{equation}
の分布は標準正規分布で近似できる
乱数の発生は関数 rnorm()
を用いる
rnorm(8) # 標準正規乱数(8個)
rnorm(8,mean=1,sd=2) # 平均1分散4=2^2の正規乱数
[1] -1.0415610 0.4890693 -0.3832103 0.5305454 0.8067650 -0.4723838 [7] 0.5588717 -0.9576539 [1] 0.3379030 0.9060437 -0.9385253 1.9152042 1.7616494 -0.3043127 [7] -0.1051255 -2.2703849
dnorm()
で計算できる数値実験の雛形は以下のようになる
mc <- 10000 # 実験回数を指定
my_random <- function(){...} # 乱数生成のプログラム
my_dist <- function(){...} # 必要であれば理論曲線を定義
#' ただし多くの場合 d"乱数名"で定義されているのでそれらを用いればよい
my_data <- replicate(mc, my_random()) # Monte-Carlo実験
tibble(x = my_data) |>
ggplot(aes(x = x)) +
geom_histogram(aes(y = after_stat(density))) + # 乱数の分布(密度)の表示
geom_function(fun = my_dist) # 理論曲線(確率密度)
\(U_{1},U_{2}\) を \((0,1)\) 上の 一様分布に従う独立な確率変数とする. このとき
とおくと,
\(X_{1},X_{2}\) は独立かつともに標準正規分布に従う.
これをグラフに描画して確認せよ.
(この変換を Box-Muller 変換と呼ぶ)
確率密度関数
\begin{equation} f(x)= \begin{cases} \frac{\alpha^\nu }{\Gamma(\nu)} x^{\nu-1}e^{-\alpha x}&(x>0)\\ 0&(x\leq0) \end{cases} \end{equation}
ただしガンマ関数 \(\Gamma(\nu)\) は以下で定義される :
\begin{equation} \Gamma(\nu)=\int_0^\infty x^{\nu-1}e^{-x}dx \end{equation}
乱数の発生は rgamma()
を用いる
rgamma(8, shape=3, rate=1) # ガンマ分布(8個)
rgamma(8, shape=1, rate=3) # 異なるパラメタのガンマ分布(8個)
[1] 6.481296 1.101669 1.789558 2.721562 1.867393 3.929603 3.716059 1.619351 [1] 0.12705345 0.29010919 0.13539477 0.65610965 0.65454715 0.45005740 [7] 0.06506521 0.24201427
dgamma()
で計算できるパラメータ \(\lambda\) の指数分布 \(\mathrm{Exp}(\lambda)\) (\(\lambda > 0\))
\begin{equation} f(x)=\Gamma(1,\lambda)= \begin{cases} \lambda e^{-\lambda x}&(x>0)\\ 0&(x\leq0) \end{cases} \end{equation}
乱数の発生は関数 rexp()
を用いる
rexp(8) # レート1の指数分布(8個)
rexp(8, rate=0.5) # レート0.5の指数分布(8個)
[1] 0.2971141 0.8282641 0.1062713 1.0470949 0.4686237 0.1370634 0.8208445 [8] 0.5895637 [1] 6.0392029 0.3504312 3.8923789 3.1656723 7.1144343 2.3956082 1.7845715 [8] 8.6433869
自由度 \(k\) の \(\chi^2\) 分布 \(\chi^2(k)\) (\(k > 0\))
\begin{equation} f(x)=\Gamma(k/2,1/2)= \begin{cases} \frac{1}{2^{k/2}\Gamma(k/2)} x^{k/2-1}e^{-x/2}&(x>0)\\ 0&(x\leq0) \end{cases} \end{equation}
平均
\begin{equation} \mathbb{E}[X] =k \end{equation}
分散
\begin{equation} \mathrm{Var}(X) =2k \end{equation}
乱数の発生は関数 rchisq()
を用いる
rchisq(8, df=1) # 自由度1のカイ二乗分布(8個)
rchisq(8, df=4) # 自由度4のカイ二乗分布(8個)
[1] 0.256273815 0.133892084 0.744504122 0.423792840 1.820522910 0.008746049 [7] 0.100833057 0.004118928 [1] 3.9615463 3.9434070 3.3170712 5.1062313 2.1834806 8.2690229 0.9530277 [8] 6.7029781
dchisq()
で計算できる確率密度関数
\begin{equation} f(x)= \frac{1}{\sqrt{\pi \nu}} \frac{\Gamma((\nu+1)/2)}{\Gamma(\nu/2)} \left(1+\frac{x^2}{\nu}\right)^{-(\nu+1)/2} \end{equation}
平均
\begin{equation} \mathbb{E}[X] =0 \quad\text{(ただし\(\nu>1\))} \end{equation}
分散
\begin{equation} \mathrm{Var}(X) =\frac{\nu}{\nu-2} \quad\text{(ただし \(\nu>2\))} \end{equation}
\(Z\) を標準正規分布に従う確率変数, \(Y\) を自由度 \(k\) の \(\chi^2\) 分布に従う確率変数とし, \(Z,Y\) は独立であるとする. このとき確率変数
\begin{equation} \frac{Z}{\sqrt{Y/k}} \end{equation}
は自由度 \(k\) の \(t\) 分布に従う
乱数の発生は関数 rt()
を用いる
rt(8, df=1) # 自由度1のt分布(8個)
rt(8, df=4) # 自由度4のt分布(8個)
[1] -0.8603049 1.3303186 1.3934689 1.1588687 -0.9532670 0.2008022 [7] -2.2803641 8.1541092 [1] -1.061210317 0.271303888 0.599451883 0.511474812 -1.099819378 [6] 2.175315413 -0.792157105 0.003551097
dt()
で計算できる\(Z\) を標準正規分布に従う確率変数, \(Y\) を自由度 \(k\) の \(\chi^2\) 分布に従う確率変数とし, \(Z,Y\) は独立であるとする. このとき確率変数
\begin{equation} \frac{Z}{\sqrt{Y/k}} \end{equation}
は自由度 \(k\) の \(t\) 分布に従うことを確認しなさい.
確率密度関数
\begin{equation} f(x)= \begin{cases} \frac{(\nu_{1}/\nu_{2})^{\nu_{1}/2}}{B(\nu_{1}/2,\nu_{2}/2)} \frac{x^{\nu_{1}/2-1}}{(1+\nu_{1}x/\nu_{2})^{(\nu_{1}+\nu_{2})/2}}&(x>0)\\ 0&(x\leq0) \end{cases} \end{equation}
平均
\begin{equation} \mathbb{E}[X] =\frac{\nu_{2}}{\nu_{2}-2} \quad \text{(ただし\(\nu_{2}>2\))} \end{equation}
分散
\begin{equation} \mathrm{Var}(X) =\frac{2\nu_{2}^2(\nu_{1}+\nu_{2}-2)}{\nu_{1}(\nu_{2}-2)^2(\nu_{2}-4)} \quad\text{(ただし\(\nu_{2}>4\))} \end{equation}
\(Y_{1},Y_{2}\) をそれぞれ自由度 \(k_{1},k_{2}\) の \(\chi^2\) 分布に従う独立な 確率変数とする.このとき, 確率変数
\begin{equation} \frac{Y_{1}/k_{1}}{Y_{2}/k_{2}} \end{equation}
は自由度 \(k_{1},k_{2}\) の \(F\) 分布に従う
乱数の発生は関数 rf()
を用いる
rf(10, df1=4, df2=7) # 自由度4,7のF分布(10個)
rf(10, df1=7, df2=12) # 自由度7,12のF分布(10個)
[1] 0.76077219 0.96795866 1.51164425 0.04859897 0.77748127 2.31010908 [7] 2.26888359 2.54313649 0.32709178 0.54686465 [1] 0.4621440 0.7729189 0.5492382 6.5475659 1.4143816 0.8721753 1.4613714 [8] 0.3499648 0.9492275 1.1487631
df()
で計算できる\(Y_{1},Y_{2}\) をそれぞれ 自由度 \(k_{1},k_{2}\) の \(\chi^2\) 分布に従う 独立な確率変数とする. このとき, 確率変数
は自由度 \(k_{1},k_{2}\) の \(F\) 分布に従うことを確認しなさい.