経験分布関数とは何か:定義・求め方・エクセルのグラフ【統計学】

【この記事の概要】

未知の確率分布に従って生成されたn個のデータ(標本)を用いて,この未知の確率分布の累積分布関数を推定したものが経験分布関数です.ヒストグラムは,その形状がデータをカウントする区間の幅(級間隔)の決め方に依存しますが,経験分布関数では,与えられたデータに対してグラフを一意に描くことができます.

【スマホでの数式表示について】

当サイトをスマートフォンなど画面幅が狭いデバイスで閲覧すると,数式が画面幅に収まりきらず,正確に表示されない場合があります.その際は画面を回転させ横長表示にするか,ブラウザの表示設定を「PCサイト」にした上でご利用ください.

経験分布関数の定義

定義:経験分布関数(empirical distribution function)
ある母集団 M が累積分布関数 F(x) に従っているとし,この母集団 M から抽出された n 個の標本を

(1)   \begin{equation*} x_1,...,x_i...,x_n \end{equation*}

とする.このとき,

(2)   \begin{equation*} \hat F_n(x):= \frac 1n \sum_{i=1}^{n} {\bf 1}_{x_i \le x} \end{equation*}

で定義される関数 \hat F_n(x) を,経験分布関数(empirical distribution function)という.ただし,{\bf 1}_{A} は指示関数(indicator function)

(3)   \begin{equation*} {\bf 1}_{A} = \left\{ \begin{array}{cc} 1 & (A \text{ is trure}) \\ 0 & (A \text{ is false}) \end{array} \right \end{equation*}

である.□

標本と順序統計量

本節では,経験分布関数のグラフを描く準備として,標本と順序統計量の概念を簡単に紹介する.

標本

ある母集団(population) M の分布が,確率分布 F で記述されるものとする.

推計統計学(inferential statistics)において,この母集団 M に対する標本(sample)は,確率分布 F に従う確率変数 X で表される.さらに,n 個の標本は, F の独立同一分布(iid; independent and identically distributed)に従う n 個の実確率変数

(4)   \begin{equation*} X_1,...,X_i,...,X_n \end{equation*}

で表される.また,実際の標本化(sampling; 抽出)で得られる n 個の数値データ

(5)   \begin{equation*} x_1,...,x_i,...,x_n \end{equation*}

は,それぞれが確率変数(4)の実現値とみなされる.確率変数(4)とその実現値(5)は,ともに母集団 M の標本と呼ばれる.

順序統計量

n 個の標本(5)

    \begin{equation*} x_1,...,x_i...,x_n \end{equation*}

を昇順(小さい順)に並べ直したものを,添え字にカッコをつけて

(6)   \begin{equation*} x_{(1)},...,x_{(k)},...,x_{(n)} \end{equation*}

と表すことにする.また, k 番目に小さいデータ x_{(k)} を表す確率変数として X_{(k)} を用い,標本(4)を(実現値の大小が得られているとして仮想的に)昇順に並べ直したものを

(7)   \begin{equation*} X_{(1)},...,X_{(k)},...,X_{(n)} \end{equation*}

と書くことにする.

このとき,データの組(6)あるいは確率変数の組(7)を,標本(5)あるいは(4)の順序統計量(order statistic)という.また,その順序統計量の k 番目 x_{(k)} あるいは X_{(k)} を,第 k 順序統計量( k th order statistic)という.

上の定義より,一般に順序統計量は

(8)   \begin{eqnarray*} x_{(k)} &\le& x_{(k+1)}\; , \\ X_{(k)} &\le& X_{(k+1)}\; , \quad \text{where } \;^{\forall}k \in \{1,...,n-1 \} \end{eqnarray*}

によって特徴づけられる.

経験分布関数のグラフ

経験分布関数の定義式(2)は,順序統計量を用いることにより,グラフを描画しやすい形式に書き直すことができる.また,経験分布関数は順序統計量と1対1対応の関係にある.

前節で,n 個の標本(5)

    \begin{equation*} x_1,...,x_i...,x_n \end{equation*}

と,その順序統計量(6)

    \begin{eqnarray*} x_{(1)},\quad ..., \; & x_{(k)},& \; ..., \quad x_{(n)} \\ && \\ \left( \; x_{(1)}\; \le ...\le \right & x_{(k)}& \left \le ...\le \; x_{(n)} \; \right) \end{eqnarray*}

を導入した.この順序統計量を用いると,経験分布関数(2)は,以下のように表すことができる:

(9)   \begin{eqnarray*} \hat F_n(x)&= & \left\{ \begin{array}{ll} 0 & \quad (x< x_{(1)}) \\ &\\ k/n & \quad (x_{(k)}\le x < x_{(k+1)}, \; k=1,...,n-1) \\ &\\ n/n=1 & \quad (x_{(n)}\le x) \end{array} \right \\ \end{eqnarray*}

経験分布関数の定義式(2)から式(9)を求める方法は,次節で述べる.

経験分布関数(2)を式(9)に変形することよって,経験分布関数のグラフを下図のように描くことができる:

順序統計量を用いた経験分布関数の求め方

経験分布関数の定義式(2)から,順序統計量を用いた経験分布関数の定式(9)を求めよう.

さて,x の値によって,経験分布関数の定義式(2)がどのような値をとるか場合分けしよう.すなわち,

(i) x < x_{(1)} のとき
(ii) x_{(k)}\le x < x_{(k+1)}, \; (k=1,...,n-1) のとき
(iii) x_{(n)}\le x のとき

の3つの場合について考える.

(i) x < x_{(1)} のとき
x_{(1)}={\rm min}(x_1,...,x_n) なので,x < x_{(1)} のとき,すべての i\in \{1,...,n\} に対して x < x_i が成り立つ.すなわち,指示関数 {\bf 1}_{x_i \le x} の値は

(10)   \begin{equation*} {\bf 1}_{x_i \le x} = 0 \quad \left(\; ^{\forall}i\in \{1,...,n\} \;\right) \end{equation*}

である.したがって

(11)   \begin{equation*} \sum_{i=1}^{n} {\bf 1}_{x_i \le x}=0 \end{equation*}

を得る.式(13)を,経験分布関数の定義式(2)に代入すると,

(12)   \begin{equation*} \hat F_n(x)=0 \end{equation*}

となる.

(ii) x_{(k)}\le x < x_{(k+1)} \; (k=1,...,n-1) のとき
ある k\in \{1,...,n-1 \} をひとつ選んで,xx_{(k)}\le x < x_{(k+1)} に固定したとする.すなわち

(13)   \begin{equation*} x_{(1)},...,x_{(k)}\le x < x_{(k+1)},...,x_{(n)} \end{equation*}

である.指示関数で書けば,これは

(14)   \begin{equation*} {\bf 1}_{x_{(j)}\le x} = \left\{ \begin{array}{cl} 1 & (j=1,...,k) \\ 0 & (j=k+1,...,n) \end{array} \right \end{equation*}

である.n個の標本 \left\{ x_1,...,x_n \right\} の中で x 以下の値を持つデータ(インスタンス)は k 個あるから,指示関数 {\bf 1}_{x_i \le x}i=1,2,...,n についての和を取ると,

(15)   \begin{equation*} \sum_{i=1}^{n} {\bf 1}_{x_i \le x} = \sum_{j=1}^{n} {\bf 1}_{x_{(j)} \le x} = \sum_{j=1}^{k} 1 + \sum_{j=k+1}^{n} 0 = k \end{equation*}

となる.式(15)を,経験分布関数の定義式(2)に代入すると,

(16)   \begin{equation*} \hat F_n(x)=\frac kn \end{equation*}

を得る.

(iii) x_{(n)}\le x のとき
x_{(n)}={\rm max}(x_1,...,x_n) なので,x_{(n)}\le x のとき,すべての i\in \{1,...,n\} に対して x_i \le x が成り立つ.すなわち,指示関数 {\bf 1}_{x_i \le x} の値は

(17)   \begin{equation*} {\bf 1}_{x_i \le x} = 1 \quad \left(\; ^{\forall}i\in \{1,...,n\} \;\right) \end{equation*}

である.したがって

(18)   \begin{equation*} \sum_{i=1}^{n} {\bf 1}_{x_i \le x}=n \end{equation*}

を得る.式(18)を,経験分布関数の定義式(2)に代入すると,

(19)   \begin{equation*} \hat F_n(x)= \frac nn = 1 \end{equation*}

となる.

結局,上記の(i),(ii),(iii)を合わせると,順序統計量を用いた経験分布関数の定式(9)を得る.

経験分布関数のグラフの概形をエクセルで描く方法

データ

(20)   \begin{equation*} x_1,...,x_i...,x_n \end{equation*}

が与えられたとき,これを基にエクセル上で経験分布関数のグラフの概形を描く方法を述べる.

例として,データ(20)が正規分布に従う母集団の標本である場合を想定した数値シミュレーションを行うならば,n個の正規乱数を生成して,これをデータ(20)とすればよい.

なお,下記はあくまで,エクセルのグラフ描画機能(「散布図(直線とマーカー)」など)を用いて手軽に描ける,経験分布関数の「概形」であり,前節で示した階段関数型のグラフをエクセルで正確に描くためには,手作業による表やグラフの細かい調整が必要である.

(1)n個のデータ(20)を1列に並べ,これをData列とする.
Rendered by QuickLaTeX.com

(2)Data列のデータを,昇順(小さい順)に並べ替え(sorting),データ(20)の順序統計量を得る.
Rendered by QuickLaTeX.com

(3)(2)で昇順に並べ替えたData列(Sorted Data)の右側に,経験分布関数の値

(21)   \begin{equation*} \frac 1n,...,\frac kn,..., \frac nn = 1 \end{equation*}

を並べて,下記のような2列の表とする.これをグラフ化する際には,Data列(Sorted Data)の値(順序統計量)をx軸に,経験分布関数の値の組(21)をy軸に割り当てる.
Rendered by QuickLaTeX.com

(4)エクセルで(3)の表を用いて経験分布関数のグラフを描くには,(3)の表の全体を「選択」した上で,エクセルのタブから

[挿入] > [グラフ] > [散布図] > [散布図(直線とマーカー)]

 
などとすればよい.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です