超幾何分布
[mathjax] 基本的に、足りない地頭を補うために時間を使ってきた歴史がある。 理解の速度や再現に地頭が影響する。 頭の中でパンパンパンって話が進む経験は全くない。 たぶんここに書いていることを活かすには地頭が必要だと思うので今後の人生で使えないだろうな。 具体的な確率分布を理解していく。 超幾何分布(hypergeometric distribution)。 超幾何分布 2種類のグループ(A,B)があって、個数の構成はそれぞれ(M),(N-M)。 これらから(n)個を取り出したときに、(A)が(x)個、(B)が(n-x)個であるとする。 袋の中に赤い玉が(M)個、白い玉が(N-M)個あって、 赤い玉を(x)個、白い玉を(n-x)個取る確率だな。取り出して戻さないやつ。 俯瞰して書くとこういうことになる。 begin{eqnarray} f(x) = frac{ {}_M C_x cdot {}_{N-M} C_{n-x} }{ {}_N C_n } end{eqnarray} 単に確率を求めただけ、みたいに見えるけど、 この事実が確率変数(x)を使った確率分布になっている。 (x)以外は定数(つまり観測可能、設定可能な値)となっていて、 (n,M,x)から(N)を推測するのに使われたりする。 超幾何分布という確率分布を知ったのであれば、 捕獲再捕獲法という条件下で、(n,M,x)という既知の値を使って(N)を推測したいなと 式が確率分布であることの証明 そもそも(f(x))はある(x)に関する確率を求めただけではないのか、 なぜ確率分布なのか。以下のように考えるらしい。 スタートは以下の恒等式。 begin{eqnarray} (1+t)^N equiv (1+t)^M cdot (1+t)^{N-M} end{eqnarray} (N=2)のとき、左辺を展開すると(t^2+2t+1)。 (N=3)のときは(t^3+3t^2+3t+1)。 (N)を増やしていった時、一般的に(t^n)の項の係数は({}_N C_n )。(初めて考えたけどこうなるんだな...) 対して、右辺の展開式において(t^n)の項の係数を調べる。 ((1+t)^M)の展開式において次数(x)の項と、 ((1+t)^{N-M})の展開式において次数(n-x)の項の積が次数(n)となる。 (x)は複数あるが、全ての(x)について係数を足すことで(t^n)の係数を求められる。 つまり、(sum_x {}_M C_x cdot {}_{N-M} C_{n-x}) 左辺、右辺の(t^n)の項の係数は同じであるはずなので、 begin{eqnarray} {}_N C_n = sum_x {}_M C_x cdot {}_{N-M} C_{n-x} end{eqnarray} 両辺を({}_N C_n)で割ると、 begin{eqnarray} 1 &=& sum_x frac{ {}_M C_x cdot {}_{N-M} C_{n-x} }{ {}_N C_n } \\ &=& sum_x f(x) end{eqnarray} 全部足して1になるということは確率分布。 左辺がサクッと1になって、右辺がサクッと超幾何分布の式になるという、 ぷよぷよの2段消しみたいな快感。 確率分布とは関係ない恒等式からスタートして、いきなり言いたいことが出てくるという不思議。 超幾何分布と二項分布の関係 超幾何分布は2種類のグループから取り出したものを戻さずに次を取り出す際の確率分布だけども、 戻して取り出す場合と戻さずに取り出す場合では、立式自体が変わってくる。 で、戻さないで次を取り出すときは二項分布になる。 (N)の極限を取ると二項分布になると書いてある。 立式の上では、以下の通り、確かに二項分布になる。 begin{eqnarray} lim_{N rightarrow infty} f(x) &=& lim_{N rightarrow infty} frac{ {}_M C_x cdot {}_{N-M} C_{n-x} }{ {}_N C_n } \\ &=& lim_{N rightarrow infty} cdot frac{ {}_{M_1} C_x cdot {}_{M_2} C_{n-x} }{ {}_N C_n } \\ &=& lim_{N rightarrow infty} frac{M_1!}{(M_1-x)! cdot x!} cdot frac{M_2!}{(M_2-n+x)!(n-x)!} cdot frac{(N-n)!n!}{N!} \\ &=& lim_{N rightarrow infty} frac{n!}{(n-x)! x!} frac{M_1(M_1-1)cdots (M_1-x+1)cdot M_2(M_2-1)cdots (M_2-n+x+1)}{N(N-1)(N-2)cdots (N-n+1)} \\ &=& lim_{N rightarrow infty} {}_N C_x cdot frac{ frac{M_1}{N}(frac{M_1-1}{N})cdots (frac{M_1-x+1}{N}) cdot frac{M_2}{N}(frac{M_2-1}{N})cdots (frac{M_2-n+x+1}{N}) }{(1-frac{1}{N})(1-frac{2}{N})cdots (1-frac{n-1}{N})} \\ &=& lim_{N rightarrow infty} {}_N C_x cdot frac{ p cdot (p-frac{1}{N}) cdot (p-frac{x+1}{N}) cdot q cdot (q-frac{1}{N}) cdot (q-frac{n-x-1}{N}) }{ (1-frac{1}{N})(1-frac{2}{N})cdots (1-frac{n-1}{N}) } \\ &=& {}_N C_x p^x cdot q^{n-x} \\ &=& {}_N C_x p^x cdot (1-p)^{n-x} end{eqnarray} (N)が十分に大きいときはより簡単な二項分布で近似せよ、ということになる。 あぁ、ここで、(p=frac{M_1}{N}, q=frac{M_2}{N})。 アルゴリズムの計算量の話のように、どういう問題がどんな分布に収まるのか、 というのは、知っておくと便利な気がする。 単純にモデルに当てはめるというのではなくて、 世の中には、こういうデータの測り方がありますよ、というケーススタディなんですな。