第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 1 0 0 0 1 1 0 [1] 2 1 3 2 2 2 4 3 2 2 2 2 4 5 2 2 2 3 4 1
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 1 1 0 2 1 1 0 0 2 1 1 3 2 [1] 10 14 15 11 12 9 6 7 6 11 8 12 14 7 8
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] 7 7 34 1 34 0 0 2 0 4 7 23 1 6 27
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.38751279 0.30222437 0.06829675 0.83015825 0.67550257 0.08425570 [7] 0.10768942 0.59537554 [1] 0.80842313 0.42843902 -0.36962290 0.66995898 -0.22299579 0.05969768 [7] -0.58449364 -0.94449989
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] -0.71668143 0.89544359 0.48992133 0.51115494 1.88522166 -0.08382194 [7] -0.13133869 -0.11907783 [1] 5.1155229 1.1670716 -0.5715320 0.1779828 2.1809831 3.5575088 [7] 2.8494001 4.2634010
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] 3.4023501 3.6306335 3.6469440 0.5808054 2.7037517 3.3022527 2.0585425 [8] 3.1122727 [1] 0.303475669 0.447978086 0.319710430 0.185434338 0.043713723 0.078426957 [7] 0.704110546 0.002177825
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] 2.9103513 1.2560190 2.7683087 1.2797876 1.0965795 1.0216147 0.5029382 [8] 0.6295330 [1] 10.8914432 2.4472805 3.3723084 0.3095520 5.1354296 1.4551304 [7] 0.8877565 2.9132515
自由度 \(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] 1.5492633 1.0311878 0.5730046 0.3210647 3.4826029 0.3867041 1.4727438 [8] 1.8102124 [1] 4.362031 2.610825 1.600799 2.257753 6.307876 4.290416 10.434826 [8] 5.864355
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] -2.12345176 0.46531542 -0.97734393 -0.25526606 -6.80959537 -0.09021367 [7] -0.07124738 -0.46400280 [1] -0.1815505 1.4009682 -0.5463940 1.0056205 -0.2851987 -0.3052288 [7] -0.3566465 -1.9048051
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] 1.4744266 1.1737716 5.0728849 0.1858272 4.4003451 0.1615950 4.2237953 [8] 0.2048677 0.8943012 1.9694392 [1] 0.8065490 1.1430727 0.9565232 0.7488964 0.6905875 0.6047086 0.8542193 [8] 1.8349279 0.4946922 0.3944779
df()
で計算できる\(Y_{1},Y_{2}\) をそれぞれ 自由度 \(k_{1},k_{2}\) の \(\chi^2\) 分布に従う 独立な確率変数とする. このとき, 確率変数
は自由度 \(k_{1},k_{2}\) の \(F\) 分布に従うことを確認しなさい.