順序統計量が従う分布
最終更新:2021/12/24
順序統計量が従う分布.
$[0, 1]$ の一様分布から10個サンプルをとってくる試行を, 100セット繰り返す. 各セットで3番目に大きい値のヒストグラムを描くと, どんな形になるだろうか? そのような問題について, 考えてみる.
非専門家が書いています. 十分に批判的に読んで頂くようお願いいたします. 間違い・疑問点などあれば, ぜひコンタクトフォームへ連絡いただけると幸いです.
順序統計量
確率変数 $X_1, X_2, \ldots, X_n \overset{iid}{\sim} F$ とする. つまり, 確率変数 $X_1, X_2, \ldots, X_n$ は独立に同一の分布に従うとする. これを, 小さい順から並べ替えたものを $X_{(1)}, X_{(2)}, \ldots, X_{(n)}$ としたとき, これらを 順序統計量という. 換言すると, $i$ 番目の順序統計量 $X_{(i)}$ は, 小さい方から $i$ 番目の値である.
たとえば $F$ を $[0, 1]$ 上の一様分布 $\mathrm{Uni}[0, 1]$ として, $X_1, X_2, \ldots, X_5 \overset{iid}{\sim} \mathrm{Uni}[0, 1]$ とする. 実現値を得るために, MATLABで乱数を発生させてみる.
>> d = rand(1, 5) d = 0.0975 0.2785 0.5469 0.9575 0.9649
これが, $X_1, X_2, \ldots, X_5$ の実現値である. ソートすると,
>> sort(d) ans = 0.0975 0.2785 0.5469 0.9575 0.9649
これが, $X_{(1)}, X_{(2)}, \ldots, X_{(5)}$ の実現値である.
順序統計量が従う分布に関する一般理論
方針
では, 順序統計量 $X_{(i)}$ が従う密度函数を求めよう. いきなり密度函数を求めるのは難しいので, まず累積分布函数を求めよう. つまり,
を求める.
累積分布函数を求める
$X_{(i)} \lt x$ となるのは,
- $n$ 個の実現値うち $i$ 個が $x$ 以下,
- $n$ 個の実現値うち $i+1$ 個が $x$ 以下,
- $n$ 個の実現値うち $i+2$ 個が $x$ 以下,
$\qquad \qquad \vdots$ - $n$ 個の実現値すべてが $x$ 以下,
すなわち,
となる.
では, $\Pr{(B_k)}$ をもとめてみよう. これは, 高校レベルの問題である. $X_1, X_2, \ldots, X_n \overset{iid}{\sim} F$ であることを踏まえると, 各 $X_i$ が $x$ 以下である確率は $F(x)$, $x$ より大きい確率は $1 - F(x)$ である. よって, $\Pr{(B_k)}$ は,
である. よって,
と, 累積分布が求まった.
密度函数を求める
$X_{(i)}$ の密度函数 $f_{(i)}(x)$ は, 累積分布函数 $F_{(i)}(x)$ を $x$ で微分すればよい. しかし, 直接微分するのは難しいので, 合成函数の微分を用いて,
である. ここで, $F$ の密度函数を $f$ とおいた.
では, 赤字部分を求めよう.
ここで, 二項分布に従う確率変数が値 $k$ を取る確率を $\mathrm{Bin}(k; n, p)$ と表すと,
であるので, この記号を用いると,
これを式\eqref{aaa}に $p=F(x)$ とともにもどして,
これで, $i$ 番目の順序統計量 $X_{(i)}$ の確率密度函数が求まった.
例と数値計算
$F$ が一様分布の場合
$F$ が $[0, 1]$ 上の一様分布 $\mathrm{Uni}[0, 1](x)$ の場合を考えてみよう. この場合,
なので, これを式\eqref{eqmain}に代入すると,
となる. ここで, ガンマ函数の性質
を思い出すと, 上の式は,
さらに, ベータ函数
を用いると,
となり, これはベータ分布 $\mathrm{Beta}(\alpha, \beta)$, $\alpha = i$, $\beta = n-i+1$ にほかならない.
これを数値的に検証してみよう.
$[0, 1]$ 上の一様分布に従う乱数を10個サンプリングするという試行を10000回繰り返す. そして, 各試行の中で下から3番目の大きさのデータ ( 10000個 ) を抽出し, ヒストグラムを描く.
rng(1234) N = 10; ITER = 10000; I = 3; alpha = I; beta = N - I + 1; d = rand(N, ITER); d = sort(d); ithData = d(I, :); histogram(ithData)
結果.
さて, これはベータ分布に従うだろうか? $\alpha = 3$, $\beta = 10 - 3 + 1$ のパラメータを持つベータ分布をプロットしてみよう.
X = 0:0.01:1; y = betapdf(X, alpha, beta); plot(X, y)
結果. したがってそうである.
$F$ が正規分布の場合
正規分布の場合はどうだろうか. 正規分布の確率密度函数を $\phi(x)$, 累積分布函数を $\Phi(x)$ として, これらを式\eqref{eqmain}に代入すると,
これがどんな形状か皆目検討もつかないが, 数値実験はできる.
標準正規分布に従う乱数を10個サンプリングするという試行を10000回繰り返す. そして, 各試行の中で下から2番目の大きさのデータ ( 10000個 ) を抽出し, ヒストグラムを描く.
t = tiledlayout(1, 2); t.Padding = 'compact'; t.TileSpacing = 'compact'; nexttile rng(1234) N = 10; ITER = 10000; I = 2; % サンプルする d = randn(N, ITER); d = sort(d); ithData = d(I, :); histogram(ithData, 'EdgeColor', 'none') xlim([-5, 5]) % 順序統計量の確率密度分布のプロット nexttile X = -5:0.01:5; y = N * normpdf(X) .* nchoosek(N-1, I-1) .* normcdf(X).^(I-1) .* (1 - normcdf(X)).^(N-I); plot(X, y)
結果. したがってそうである.
感想・参考文献
感想
いまひとつ, 順序統計量には興味が持てなかったので, いっそのこと記事にすることで勉強してしまえという思いで書いた. 数値実験してみると面白い.