確率分布についてまとめてみる(離散確率分布編)

おはこんばんにちは。PythonやRを用いた統計解析をメインで行うこのブログですが、備忘録として諸確率分布についてここでまとめておきたいと思います。

1 離散一様分布

確率変数\(X\)\(1,...,n\)をとるとします。確率関数

\[ P(X=x) = \frac{1}{n} \]

を持つ分布を離散一様分布といいます。pythonで分布を書くと以下のような形をしています。

import numpy as np
import matplotlib.pyplot as plt

plt.style.use('ggplot')

s = np.random.uniform(1,10,20)
plt.hist(s,bins=10)
## (array([1., 1., 1., 1., 2., 4., 2., 0., 4., 4.]), array([1.01588123, 1.89448098, 2.77308073, 3.65168047, 4.53028022,
##        5.40887997, 6.28747972, 7.16607947, 8.04467922, 8.92327897,
##        9.80187872]), <a list of 10 Patch objects>)
1.1 期待値の導出

定義に沿って、期待値を導出します。

その前に、以下の等差数列の和の公式についておさらいが必要な人は見てください。 初項\(a\)、交差\(d\)、項数\(n\)であるような等差数列の和は、 \[ S = \frac{1}{2}n(2a+(n-1)d) \] で求められます。

(証明) 数列を二通りで書きます。1つはそのまま、2つ目は逆順です。

\[ S = a + (a+d) + (a+2d) + ... + \{a + (n-2)d\} + \{a + (n-1)d\} \\ S = \{a + (n-1)d\} + \{a + (n-2)d\} + ... + (a+2d) +(a+d) + a \] この2本の方程式を縦に見て、同じ位置の項を足し合わせると、\(2a + (n-d)\)がn個できちゃいます。

\[ \begin{eqnarray} 2S &=& 2a + (n-1)d + 2a + (n-1)d + ... + 2a + (n-1)d \\ &=& n(2a + (n-1)d) \end{eqnarray} \] よって、

\[ S = \frac{1}{2}n(2a + (n-1)d) \]

離散確率関数の期待値は

\[ E[X] = \sum_{i=1}^nxP(X=x) \] なので、

\[ \begin{eqnarray} E[X] &=& \sum_{i=1}^n \frac{x_i}{n} \\ &=& \frac{1}{n}\sum_{i=1}^ni \\ &=& \frac{1}{n}\frac{1}{2}n(n+1) \\ &=&\frac{(n+1)}{2} \end{eqnarray} \] \(\sum_{i=1}^ni\)は初項1、交差1、項数\(n\)の等差数列ですので、先ほどの定理より\(\frac{1}{2}n(n+1)\)となります。

1.2 分散の導出

確率分布の分散は一般的に、

\[ \begin{eqnarray} V(X) &=& E[X-\mu]^2 \\ &=&E[(X-\mu)(X-\mu)] \\ &=&E[X^2]-2E[X]\mu+\mu^2 \\ &=&E[X^2]-2\mu^2+\mu^2 \\ &=&E[X^2]-\mu^2 \end{eqnarray} \] となります。ここで、\(\mu\)は期待値\(E[X]\)を表しています。離散一様分布の分散を求めるためには、\(E[X^2]\)を計算すればよいことがわかります。

\(E[X^2]\)の計算において、\(\sum_{i=1}^ni^2\)の計算が必要ですので、必要な人は見てください。

\[ $\sum_{i=1}^ni^2$ = \frac{n(n+1)(2n+1)}{6} \]

(証明) \((k+1)^3-k^3=3k^2+3k+1\)に順に\(k=1,2,...,n\)を代入し、縦に揃えます。

$$ \[\begin{eqnarray} 2^3-1^3&=&3・1^2+3・1+1 \\ 3^3-2^3&=&3・2^2+3・2+1 \\ 4^3-3^3&=&3・3^2+3・3+1 \\ ....\\ (n+1)^3-n^3&=&3・n^2+3・n+1 \end{eqnarray}\] $$

これら方程式を縦に見て、足し合わせると左辺がすっきりして、

\[ (n+1)^3-1=3\sum_{k=1}^nk^2+3\sum_{k=1}^nk+n \\ \] \(\sum_{k=1}^nk=\frac{n(n+1)}{2}\)は先ほど求めているので代入すると、

\[ (n+1)^3-1=3\sum_{k=1}^nk^2+3\frac{n(n+1)}{2}+n \\ \] ここから

\[ \begin{eqnarray} 3\sum_{k=1}^nk^2&=&(n+1)^3-1-(3\frac{n(n+1)}{2}+n)\\ \sum_{k=1}^nk^2&=&\frac{1}{3}\{(n+1)^3-1-(3\frac{n(n+1)}{2}+n)\}\\ &=&\frac{1}{6}\{2(n+1)^3-2-3n(n+1)-2n\}\\ &=&\frac{1}{6}\{2n^3+6n^2+6n+2-2-3n^2-3n-2n\}\\ &=&\frac{1}{6}\{2n^3+3n^2+n\}\\ &=&\frac{1}{6}n\{2n^2+3n+1\}\\ &=&\frac{1}{6}n(n+1)(2n+1)\\ \end{eqnarray} \]

では、離散一様分布の分散を計算していきます。

\[ E[X^2] = \sum_{i=1}^n\frac{x^2}{n}=\frac{1}{n}\sum_{i=1}^ni^2=\frac{1}{n}\frac{n(n+1)(2n+1)}{6}=\frac{(n+1)(2n+1)}{6} \] ここから、

\[ \begin{eqnarray} V[X]&=&E[X^2]-\mu \\ &=&\frac{(n+1)(2n+1)}{6}-\{\frac{(n+1)}{2}\}^2 \\ &=&\frac{(n+1)(2n+1)}{6}-\frac{(n+1)^2}{4} \\ &=&\frac{2(n+1)(2n+1)}{12}-\frac{3(n+1)^2}{12} \\ &=&\frac{(n+1)(4n+2-3n-3)}{12} \\ &=&\frac{(n+1)(n-1)}{12} \\ &=&\frac{n^2-1}{12} \\ \end{eqnarray} \] となります。

2. 二項分布

コイン投げ等に関連する分布で非常に定番な物です。確率\(p\)で表が出るようなコインを考えます。そして、表が出たら\(X=1\)、裏が出たら\(X=0\)というように変数を対応させます。コイン投げは互いに独立な事象とします(つまり、前の結果が後の悔過に影響することはない)。ここで、確率変数を\(X=X_1+X_2+...X_n\)と定義し、\(n\)をコインを投げる回数とすると、\(X\)はパラメータ\(n,p\)の二項分布に従います。確率関数は以下です。

\[ p(x) = {}_nC_xp^x(1-p)^{n-x} = B(n,p) \] \(p^x(1-p)^{n-x}\)は確率\(p\)のコインを投げて、表が\(x\)回、裏が\(n-x\)回出るような確率、\({}_nC_x\)\(n\)回のうち表が\(x\)回でる組み合わせです。

2.1 期待値の導出

二項分布の期待値は\(np\)です。直感的には一回の試行でコインの表が出る確率は\(p\)ですから、\(n\)回の試行では\(np\)回表が出ると考えるのが自然です。期待値はまさにその通りになっています。

・定義からの導出 定義からの導出は少々複雑です。そして、二項定理を知っておく必要があります。

二項定理(※)のおさらいはこちら。 ※二項定理とは,n 乗の式を展開するための以下のような公式のことです。

\[ (a+b)^n = \sum_{k=0}^n{}_nC_ka^kb^{n-k} \]

二項定理で重要なことは\((a+b)^n\)を展開したとき、それぞれの係数は\({}_nC_k\)になるということです。 例えば、

\[ \begin{eqnarray} (a+b)^3&=&\sum_{k=0}^3{}_3C_ka^kb^{3-k} \\ &=& {}_3C_0a^3 + {}_3C_1a^2b + {}_3C_2ab^2+{}_3C_3b^3 \end{eqnarray} \] といった感じです。

・証明 n=3の場合で考えてみます。\((a+b)^3=(a+b)(a+b)(a+b)\)です。この式を展開した時の各項は以下のようにまとめられます。

|:–|–:|:-:| | a | a | a | | a | a | b | | a | b | a | | a | b | b | | b | a | a | | b | a | b | | b | b | a | | b | b | b |

見るとわかるのですが、各項は「\(a\)\(b\)のうちどちらかを選ぶ」という行為を各括弧に対して行った結果を掛け合わしたものになっています。そして、これらを足し合わせたものが\((a+b)^3\)の総和となります。よって、各項は\(a^kb^(n-k)\)というタイプのものしかないということがわかります。つまり、指数部の総和=3となっているということです。また、その係数は\(3\)個のうちk個の括弧でaを選ぶ組合せですから、\({}_3Ck\)となるわけです。

ところで、これは二項分布にもそのまま当てはまる話です。先ほどのサイコロを投げる例で、括弧を試行数\(n\)\(a\)をサイコロで表が出る確率\(p\)とすれば、先ほどの表は\(a\)が表、\(b\)が裏とみることができます。そして、各括弧(試行)において「\(a\)\(b\)のうちどちらかを選ぶ」は「表と裏のどちらかが出る」と読み替えることができます。このように二項定理と二項分布は密接に関係しています。

とりあえず、期待値の定義を書き、整理していきます。

\[ \begin{eqnarray} E[X] &=& \sum_{x=0}^nx{}_nC_xp^x(1-p)^{n-x} \\ &=& \sum_{x=1}^nx{}_nC_xp^x(1-p)^{n-x} \\ &=& \sum_{x=1}^n\frac{xn!}{x!(n-x)!}p^x(1-p)^{n-x} \\ &=& \sum_{x=1}^n\frac{n!}{(x-1)!(n-x)!}p^x(1-p)^{n-x} \\ \end{eqnarray} \] 期待値は\(np\)ですから、\(np\)をシグマの外へ出してやり、その他を1にすることを考えます。

\[ \begin{eqnarray} &=& np\sum_{x=1}^n\frac{(n-1)!}{(x-1)!(n-x)!}p^{x-1}(1-p)^{n-x} \\ \end{eqnarray} \] \((x-1)!\)が出てきました。二項定理は、 \[ \begin{eqnarray} (a+b)^n &=& \sum_{k=0}^n\frac{n!}{k!(n-k)!}a^kb^{n-k} \end{eqnarray} \] ですから、 \[ \begin{eqnarray} \sum_{x=1}^{n-1}\frac{(n-1)!}{(x-1)!\{(n-1)-(x-1)\}}p^{x-1}(1-p)^{(n-1)-(x-1)} &=& (p+1-p)^{n-1} = 1 \end{eqnaray} \] と持っていきたいところです。なので、

\[ \begin{eqnarray} E[x] &=& np\sum_{x=1}^n\frac{(n-1)!}{(x-1)!\{(n-1)-(x-1)\}!}p^{x-1}(1-p)^{(n-1)-(x-1)} \\ &=& np\sum_{x-1=0}^{n-1}{}_nC_xp^{x-1}(1-p)^{(n-1)-(x-1)} \\ &=& np(p+1-p)^{n-1} \\ &=& np \end{eqnarray} \] 最後は二項定理から導けます。

・確率母関数からの導出

確率母関数からも導くことができます。
確率母関数の定義から、

\[ \begin{eqnarray} E[t^x] &=& \sum_{x=0}^nt^x{}_nC_xp^x(1-p)^{n-x} \\ &=& \sum_{x=0}^n{}_nC_x(tp)^x(1-p)^{n-x} \\ &=& \{tp+(1-p)\}^n \\ &=& (1-p+tp)^n \end{eqnarray} \] となります(3番目の式展開で二項定理を使用しました)。

\[ \frac{dE[t^x]}{dt} = E[xt^{x-1}] \] となるので、確率母関数の導関数を\(t=1\)で評価したものは期待値と等しくなります。

\[ \begin{eqnarray} (E[t^x])' &=& \frac{d(1-p+tp)^n}{dt} \\ &=& n(1-p+tp)^{n-1}p \\ \end{eqnarray} \] ここに\(t=1\)を代入すると、\(E[x]=n(1-p+p)^{n-1}p=np\)となり、上で計算した期待値と一致します。

・積率母関数からの導出

積率母関数からの導出も可能です。 積率母関数は、

\[ \begin{eqnarray} E[\exp(tx)] &=& \sum_{x=0}^n\exp(tx){}_nC_xp^x(1-p)^{n-p} \\ &=& \sum_{x=0}^n{}_nC_x(e^{t}p)^x(1-p)^{n-p} \\ &=& (e^tp+1-p)^n \end{eqnarray} \] となります。積率母関数からの期待値は、

\[ \frac{dE[\exp(tx)]}{dt}=E[x\exp(tx)] \] なので、導関数を求めて\(t=0\)で評価すると、期待値と一致します。二項分布の積率母関数の導関数は、

\[ \begin{eqnarray} \frac{dE[\exp(tx)]}{dt} &=& \frac{d(1-p+e^tp)^n}{dt} \\ &=& n(1-p+e^tp)^{n-1}e^tp \end{eqnarray} \] なので、\(t=1\)を代入すれば\(E[x]=np\)となることがわかります。

2.2 分散の導出

・定義からの導出 分散は\(V[X] = E[X^2]-(E[X])^2\)ですから、\(E[X^2]\)を求めます。

$$ \[\begin{eqnarray} E[X^2] &=& \sum_{x=0}^nx^2{}_nC_xp^x(1-p)^{n-x} \\ &=& \sum_{x=0}^n(x(x-1)+x){}_nC_xp^x(1-p)^{n-x} \\ &=& \sum_{x=0}^nx(x-1){}_nC_xp^x(1-p)^{n-x} + \sum_{x=0}^nx{}_nC_xp^x(1-p)^{n-x} \\ &=& \sum_{x=0}^nx(x-1){}_nC_xp^x(1-p)^{n-x} + E[x]\\ &=& \sum_{x=2}^nx(x-1){}_nC_xp^x(1-p)^{n-x} + E[x]\\ &=& \sum_{x=2}^nx(x-1)\frac{n!}{x!(n-x)!}p^x(1-p)^{n-x} + E[x]\\ &=& \sum_{x=2}^n\frac{n!}{(x-2)!(n-x)!}p^x(1-p)^{n-x} + E[x]\\ &=& \sum_{x=2}^n\frac{n!}{(x-2)!(n-x)!}p^x(1-p)^{n-x} + E[x]\\ &=& n(n-1)p^2\sum_{x=2}^n\frac{(n-2)!}{(x-2)!(n-x)!}p^{x-2}(1-p)^{n-x} + E[x]\\ &=& n(n-1)p^2\sum_{x=2}^n\frac{(n-2)!}{(x-2)!(n-x)!}p^{x-2}(1-p)^{n-x} + E[x]\\ \end{eqnarray}\] $$