Pythonプログラミング(ステップ7・統計的検定・カイ二乗検定の補足)

このページでは、カイ二乗適合度検定の補足。(このページはまだ書きかけ)

正規分布に従う独立な確率変数の混合

$G_1, G_2, \cdots, G_k$を互いに独立で 正規分布$N(0,1)$に従う確率変数とする。 これらが $k \times k$行列$A$を使って、以下のように「混合」されているとしよう: $$ \left( \begin{array}{c} X_1 \\ X_2 \\ \vdots \\ X_k \end{array} \right) = A \left( \begin{array}{c} G_1 \\ G_2 \\ \vdots \\ G_k \end{array} \right) + \left( \begin{array}{c} \mu_1 \\ \mu_2 \\ \vdots \\ \mu_k \end{array} \right) $$ 平均が同じ正規分布に従う確率変数の和は正規分布に従う、という性質から、線形和で混合された $X_i$ もまた平均$\mu_i$の正規分布をするはずであるが、その分散や共分散はどのようになるであろうか。

$A^\top$は$A$の転置

ここで、 $$ \left( \begin{array}{c} X_1 - \mu_1 \\ X_2 - \mu_2 \\ \vdots \\ X_k - \mu_k \end{array} \right) \left( \begin{array}{cccc} X_1 - \mu_1 & X_2 - \mu_2 & \cdots & X_k - \mu_k \\ \end{array} \right) = A \left( \begin{array}{c} G_1 \\ G_2 \\ \vdots \\ G_k \end{array} \right) (G_1 G_2 \cdots G_k) A^\top $$ と書いてみよう。左辺の$i,j$要素はもちろん$(X_i - \mu_i)(X_j - \mu_j)$である。 右辺のほうの$i,j$要素は、少し計算すると、 $$ \left(\sum_k A_{ik} G_k \right) \left(\sum_\ell G_\ell A_{\ell j}^\top \right) $$ となる。ここで、$G_i$の元々の定義を思い出して $$ E( G_i G_j) = \delta_{i,j} $$ ($\delta_{i,j}$はクロネッカーのデルタ)の関係を使い、$X_i$についての平均量を、行列$A$と$G_i$によって表すと(結局、$G_i$は表に出ないようになって)、 $$ E\left( (X_i - \mu_i)(X_j - \mu_j) \right) = \sum_k A_{i k} A_{k j}^\top $$ となる。右辺は、行列$A$とその転置$A^\top$の積の格好になっている点に注目。 そこで行列$S = A A^\top$を定義すると、 $$ S_{ij} = E\left( (X_i - \mu_i)(X_j - \mu_j) \right) $$ となる。行列要素のそれぞれが共分散であることから、この $S$ は共分散行列と呼ばれている。

ここまでをまとめると、$S = A A^\top$であるような$A$を使って独立なガウス変数を合成すると、共分散行列が $S$ となる (つまり、共分散が$S$となるような確率変数を独立なガウス変数から合成することができる)ことがわかった。

さて、$G_i$は独立で正規分布$N(0,1)$に従うことから、その確率分布関数は $$ f(g_1, g_2, \cdots, g_k) = \frac{1}{(\sqrt{2 \pi})^k} \exp\left(-\frac{1}{2} (g_1 \ g_2 \cdots \ g_k) (g_1 \ g_2 \cdots \ g_k)^\top \right) $$ となる。変数を逆変換して、 $$ \left( \begin{array}{c} g_1 \\ g_2 \\ \vdots \\ g_k \end{array} \right) = A^{-1} \left( \begin{array}{c} x_1 - \mu_1 \\ x_2 - \mu_2 \\ \vdots \\ x_k - \mu_k \end{array} \right) $$ とし、上の分布関数に代入すると、$x_i$についての分布関数 $$ f(x_1, x_2, \cdots, x_k) = \frac{|A^{-1}|}{(\sqrt{2 \pi})^k} \exp\left(-\frac{1}{2} (\textbf{x} - \boldsymbol{\mu})^\top (A^{-1})^\top A^{-1} (\textbf{x} - \boldsymbol{\mu}) \right) $$ が得られる(ここで$x_i - \mu_i$の縦ベクトルを$\textbf{x} - \boldsymbol{\mu}$と表記した)。 ここで、逆行列の計算ルールを思い出すと $$ (A^{-1})^\top A^{-1} = (A^\top)^{-1} A^{-1} = (A A^\top)^{-1} = S^{-1} $$ なので、指数関数の中の行列の部分はスッキリと$S^{-1}$とまとめられる。 また、変換のヤコビ行列式$|A^{-1}|$は、行列式の性質から、$|A^{-1}|=1/|A|$、および$|S| = |A A^\top| = |A| |A^\top| = |A|^2$を使うと、 $1/\sqrt{|S|}$と表現できる。 これらをまとめると、$x_i$についての分布関数は、さらにすっきりと $$ f(x_1, x_2, \cdots, x_k) = \frac{1}{(\sqrt{2 \pi})^k \sqrt{\left| S \right|}} \exp\left(-\frac{1}{2} (\textbf{x} - \boldsymbol{\mu})^\top S^{-1} (\textbf{x} - \boldsymbol{\mu}) \right) $$ と表現することができる。これは、多変数の「混合」ガウス分布の標準的な表現方法である。

$k$種類のボールの取り出し

$k$種類のボールが箱に沢山入っていて、そのうち$i$番目の種類の玉の割合が$p_i$であるとしよう。 ここで、$p_1 + p_2 + \cdots + p_k = 1$ である。 その箱からランダムに$n$個のボールを取り出したとき、$i$番目の種類のボールが$x_i$個あったとする。 そのような事象が起こる確率は $$ f(x_1,x_2,\cdots,x_k) = \frac{n!}{x_1 ! x_2 ! \cdots x_k !} {p_1}^{x_1} {p_2}^{x_2} \cdots {p_k}^{x_k} $$ でとなる。

ここで、$x_i$と$x_j$ ($i \neq j$) は独立でない点に注意が必要である。$i$番目のボールが見つかったということは、それに連動して、その他の種類のボールの数が相対的に少ないことを意味するからだ。

ここでは結果だけを示すが、こうした相関を反映して、カテゴリーが$k$種類の 「拡張された」ベルヌーイ試行において、 $$ \begin{align*} E(X_i) & = n p_i, \\ E\left((X_i - \mu_i)^2\right) & = n p_i (1-p_i), \\ E\left((X_i-\mu_i) (X_j-\mu_j)\right) & = - n p_i p_j \ \ (i \ne j), \end{align*} $$ が成り立つことが知られている(ここで、式中で、$\mu_i = E(X_i)$と置いた)。 ここで共分散$E\left((X_i-\mu_i) (X_j-\mu_j)\right)$が負になるのは、$n$個のうちの$x_i$が増えたら$x_j$は減ることを反映している。 つまり、$X_i$と$X_j$は「確率的に連動」しているわけだ。

$n p_i$が大きくなると、このような$x_i$の分布は(二項分布がそうであったように)正規分布でよく近似できる。

そうすると、前節のガウス分布の混合の話しを思い出しながら、2種類以上のボールをランダムに取り出した際のそれぞれの玉の個数から 『箱の中のボールの割合が $p_1, p_2, \cdots, p_k$ である』という帰無仮説を設定した際に、それを検定するための手順として以下を考えてみる:

ところが、「ボール選び」の場合、この方針はうまくいかないことが分かっている。 というのは、各変数は独立ではないため、共分散行列$S$は逆行列を持たない(行列式が0となる)。 すなわち、上記のやり方でカイ二乗統計量を求めることはできない。


三種類(以上)のボールの場合のカイ二乗統計量

前置きが長くなってしまったが、以上を踏まえながら、ボールが三種類の場合($k=3$)の玉選びの統計的な検定を考えてみよう。 上で述べたとおり、ボールが三種類の場合、取り出した後のそれぞれのボールの個数を3つの独立なガウス変数に還元することはできない。 そこで、天下り的ではあるが、ボール 1,2の個数$X_1, X_2$についてだけ、独立なガウス変数$G_1, G_2$で表してみる: $$ \left( \begin{array}{c} X_1 \\ X_2 \end{array} \right) = A \left( \begin{array}{c} G_1 \\ G_2 \end{array} \right) + \left( \begin{array}{c} n p_1 \\ n p_2 \\ \end{array} \right) $$ このとき、(部分的な)共分散行列は $$ S = A A^\top = \left( \begin{array}{cc} n p_1 (1-p_1) & - n p_1 p_2 \\ - n p_1 p_2 & n p_2 (1-p_2) \end{array} \right) $$ で、その逆は(がんばって計算すると) $$ S^{-1} = \frac{1}{n} \left( \begin{array}{cc} \frac{1}{p_1} + \frac{1}{p_3} & - \frac{1}{p_3} \\ - \frac{1}{p_3} & \frac{1}{p_2} + \frac{1}{p_3} \end{array} \right) $$ となる。ここで、関係式 $1-p_1-p_2 = p_3$ を用いた。

次に、これらを使ってカイ二乗統計量 ${G_1}^2 + {G_2}^2$ を構成してみる。前節ですでに述べた手順に従って $$ \left( \begin{array}{c} G_1 \\ G_2 \end{array} \right) = A^{-1} \left( \begin{array}{c} X_1 - n p_1 \\ X_2 - n p_2 \end{array} \right) $$ とおいてから、 $$ (G_1 \ \ G_2) \left( \begin{array}{c} G_1 \\ G_2 \end{array} \right) = (X1 - n p_1 \ \ X2 - n p_2) (A^{-1})^\top A^{-1} \left( \begin{array}{c} X_1 - n p_1 \\ X_2 - n p_2 \end{array} \right) $$ を計算すればよい。 ここで$(A^{-1})^\top A^{-1} = S^{-1}$ なので、上で求めた$S^{-1}$の要素を使って具体的に式を展開し整理すると $$ {G_1}^2 + {G_2}^2 = \frac{(X_1 - n p_1)^2}{n p_1} + \frac{(X_2 - n p_2)^2}{n p_2} + \frac{((n-X_1-X_2 - n (1 - p_1 - p_2))^2}{n p_3} $$ という結果を得ることができる。 右辺三項目の分子に「挿入」された$n$は、$n$を足した後、また$n$を引いてあるので、実質的には0の寄与しかない。 ボールは全部で$n$取り出す($X_1+X_2+X_3=n$)ということ、および$p_1 + p_2 + p_3 = 1$とをあわせると、上の式は $$ {G_1}^2 + {G_2}^2 = \frac{(X_1 - n p_1)^2}{n p_1} + \frac{(X_2 - n p_2)^2}{n p_2} + \frac{(X_3 - n p_3)^2}{n p_3} $$ という形にすっきりまとめることができる。 ここで左辺は、平均0分散1の分布に従う二つの独立な確率変数の二乗の和であるから、 これは、自由度2のカイ二乗分布に従う。

以上の議論と同様にして、$k$種類のボールの場合について、ピアソンのカイ二乗統計量 $$ \chi^2 = \sum_{i=1}^{k} \frac{(x_i - n p_i)}{n p_i} $$ は、自由度 $k-1$ のカイ二乗分布に従うことを示すことができる。