英語版Wikipediaは多項分布の例として$K$面の賽子を$n$回振った場合の確率の分布を挙げている。多項分布の特別な場合として$K=2,n=1$ではベルヌーイ分布となり、$K=2,n\ge1$は二項分布となり、$K\ge2,n=1$はカテゴリカル分布となる。表に纏めると表1の通りである。
| $K = 2$ | $K \ge 2$ | |
|---|---|---|
| $n = 1$ | ベルヌーイ分布 | カテゴリカル分布 |
| $n \ge 1$ | 二項分布 | 多項分布 |
カテゴリカル分布の$K$とは結果の種類の数であり、例を挙げると$K=2$であるベルヌーイ分布は硬貨の表裏、当たり外れの二種類しかない籤などであり、カテゴリカル分布では$K$面の賽子の振り、一等二等など$K$種類の結果がある籤である。このようにカテゴリーに着目した確率と言えよう。分類の数を$K$で表すのは恐らく独語のKategorieに由来するのだと思うが、このことを裏付ける資料は見つけられなかった。
ベルヌーイ分布、カテゴリカル分布、二項分布、多項分布の関係を確認したところで、カテゴリカル分布の確率関数、期待値、分散を求める。上記の賽子の例で考えると$K$面の賽子を$1(=\mathrm{n})$回振った場合のある面を確率変数とする。確率変数について$l$面が出ることを成功$s_{l}=1$とし、それ以外を失敗$s_{i}=0\ (i\neq l)$とすると確率変数の総和は$\sum_{k=1}^{K} s_{k} =1$である。確率質量関数を \begin{eqnarray} f(s)= \begin{cases} f(s_{1})=p_{1} &\text{失敗}\\ f(s_{2})=p_{2} &\text{失敗}\\ \ \ \ \vdots\\ f(s_{l})=p_{l} &\text{成功}\\ \ \ \ \vdots\\ f(s_{K})=p_{K} &\text{失敗} \end{cases}\notag \end{eqnarray} とする。ベルヌーイ分布の式では$f(s)=(1-p)^{1-s}p^{s}$として纏めた。今回の右辺は指数部を工夫しても一つに纏めることはできなかった。そこでベクトルを用いる。$\sum_{i=1}^{K} s_{i} =1$を満たす$s_{i}$からなるベクトル \[ \overrightarrow{s}=(s_{1},s_{2},\ldots,s_{l},\ldots,s_{K})^{\mathrm{T}} \] を使う。この$s_{k}$は$0$か$1$かのどちらかのみを取り、$K$個ある確率変数の内一つだけが$1$である。このようなベクトルをワンホットベクトルという。
改めて$l$面になる確率を$p_{l}$とする。ベルヌーイ分布の確率質量関数は$K=2$であり、外れの確率$1-p$を$p_{1}$とし、当たりの確率$p$を$p_{2}$とする。先程の$\sum_{i=1}^{K} s_{i} =1$は \[ s_{1}+s_{2}=1 \] となる。するとベルヌーイ分布の確率質量関数 \[ f(s)=(1-p)^{1-s}p^{s} \] は \[ f(s_{1},s_{2})=p_{1}^{s_{1}} p_{2}^{s_{2}} \] と書き換えられる。この結果からカテゴリカル分布の確率質量関数は \begin{equation} f(\overrightarrow{s}) =f(s_{1},s_{2},\ldots,s_{l},\ldots, s_{K}) =\prod_{i=1}^{K} p_{i}^{s_{i}} \end{equation} と予想できる。$s_{l}=1$のときワンホットベクトルは \[ \overrightarrow{s} =(s_{1},s_{2},\ldots,s_{l},\ldots,s_{K})^{\mathrm{T}} =(0,0,\ldots,1,\ldots,0)^{\mathrm{T}} \] となり確率質量関数は \[ f(\overrightarrow{s}) =f(0,0,\ldots,1,\ldots,0) =p_{1}^{0}p_{2}^{0}\cdots p_{l}^{1}\cdots p_{K}^{0}=p_{l} \] となる。これは$p_{1}+p_{2}+\cdots+p_{K}=1$であるならば$\sum_{s_{1}+s_{2}+\cdots+s_{K}=1} f(\overrightarrow{s})=1$を満たす。計算してみると \begin{align} \sum_{s_{1}+s_{2}+\cdots+s_{K}=1} f(\overrightarrow{s}) &=\sum_{s_{1}+s_{2}+\cdots+s_{K}=1} p_{1}^{s_{1}} p_{2}^{s_{2}}\cdots p_{K}^{s_{K}} \notag\\ &= p_{1}^{1} p_{2}^{0}\cdots p_{K}^{0}+ p_{1}^{0} p_{2}^{1}\cdots p_{K}^{0}+ \cdots+ p_{1}^{0} p_{2}^{0}\cdots p_{K}^{1}\notag\\ &=p_{1}+p_{2}+\cdots+p_{K}\notag\\ &=1\notag \end{align} となる。ここでの総和は$s_{1},s_{2},\ldots,s_{K}$の内の一つが一となる組み合わせに関する和とした。つまり$s_{1}$から順に指定の値のみ一にし、それ以外は零とした。ところでベルヌーイ分布の確率変数が独立であるとして、その和から二項分布を求めた。二項分布は確率質量関数を \begin{align} f(x_{1},x_{2},\ldots,x_{n})=f(x_{1})f(x_{2})\cdots f(x_{n})=\prod_{i=1}^{n} f(x_{i}) \notag \end{align} と積に分解できた。カテゴリカル分布では確率変数は式$s_{1}+s_{2}+\cdots+s_{K}=1$という制約があるため、非独立である。そのため \[ f(\overrightarrow{s}) =\prod_{i=1}^{K} f(s_{i}) \] のように積に分解できない。但し非独立であるのは一回の試行における関係である。例えば$K$面の賽子を振っても、それまでの試行が次の試行に影響を与えないと考えられるように、試行間ではワンホットベクトルで表される確率変数の組は独立であると考えられる。これは多項分布に繋がる。
$s_{l}$について期待値を計算する。これは \begin{align} \mathrm{E}[S_{l}] &=\sum_{s_{1}+s_{2}+\cdots+s_{K}=1} s_{l} f(\overrightarrow{s})\notag\\ &= 0\cdot p_{1}^{1} p_{2}^{0}\cdots p_{l}^{0} \cdots p_{K}^{0}+ 0\cdot p_{1}^{0} p_{2}^{1}\cdots p_{l}^{0} \cdots p_{K}^{0}+\cdots+ 1\cdot p_{1}^{0} p_{2}^{0}\cdots p_{l}^{1} \cdots p_{K}^{0}+\cdots+ 0\cdot p_{1}^{0} p_{2}^{0}\cdots p_{l}^{0} \cdots p_{K}^{1}\notag\\ &=p_{l}\notag \end{align} である。上記の総和は下に記した条件$s_{1}+s_{2}+\cdots+s_{K}=1$を満たす全ての$s$の組の和をとることを表すとする。 分散は添え字が$l$が一ではないものを総和記号から外すことで \begin{align} \mathrm{Var}[S_{l}] &=\sum_{s_{1}+s_{2}+\cdots+s_{K}=1}(s_{l}-p_{l})^{2} f(\overrightarrow{s})\notag\\ &= \sum_{\substack{s_{1}+s_{2}+\cdots+s_{K}=1 \\ s_{l} \neq 1}} (0-p_{l})^{2} f(\overrightarrow{s}) +\sum_{\substack{s_{1}+s_{2}+\cdots+s_{K}=1 \\ s_{l}=1}} (1-p_{l})^{2} f(\overrightarrow{s}) \notag\\ &= p_{l}^{2} \sum_{\substack{s_{1}+s_{2}+\cdots+s_{K}=1 \\ s_{l} \neq 1}} f(\overrightarrow{s}) + (1-p_{l})^{2} \sum_{\substack{s_{1}+s_{2}+\cdots+s_{K}=1 \\ s_{l}=1}} f(\overrightarrow{s}) \notag \end{align} となる。ここで確率質量関数の総和$1=\sum f(\overrightarrow{s})$から$s_{l}=1$のものを外すことで \[ 1 =\sum_{s_{1}+s_{2}+\cdots+s_{K}=1} f(\overrightarrow{s}) =\sum_{\substack{s_{1}+s_{2}+\cdots+s_{K}=1 \\ s_{l} \neq 1}} f(\overrightarrow{s})+p_{l} \] を得る。この式を書き換えたものに$p_{l}^{2}$を掛けることで第一項は \[ p_{l}^{2} \sum_{\substack{s_{1}+s_{2}+\cdots+s_{K}=1 \\ s_{l} \neq 1}} f(\overrightarrow{s})=p_{l}^{2} \left(1-p_{l}\right) \] となる。$s_{l}=1$のとき条件$s_{1}+s_{2}+\cdots+s_{l}+\cdots+s_{K}=1$を満たすワンホットベクトルは \[ \overrightarrow{s}=(0,0,\ldots,1,\ldots,0)^{\mathrm{T}} \] 以外にないため第二項は \[ (1-p_{l})^{2} \sum_{\substack{s_{1}+s_{2}+\cdots+s_{K}=1 \\ s_{l}=1}} f(\overrightarrow{s}) = (1-p_{l})^{2} p_{l} \] となる。そのため分散の式は \begin{align} \mathrm{Var}[S_{l}] &=p_{l}^{2} (1-p_{l}) + (1-p_{l})^{2}p_{l}\notag\\ &=p_{l}(1-p_{l})(p_{l}+(1-p_{l}))\notag\\ &=p_{l}(1-p_{l})\notag\\ &=p_{l}-p_{l}^{2} \notag \end{align} となる。共分散は \begin{align} \mathrm{Cov}[S_{l},S_{m}] &=\sum_{s_{1}+s_{2}+\cdots+s_{K}=1} (s_{l}-p_{l})(s_{m}-p_{m}) f(\overrightarrow{s})\notag\\ &= \sum_{s_{l},s_{m}\neq1}(0-p_{l})(0-p_{m})f(\overrightarrow{s}) +(1-p_{l})(0-p_{m})p_{l}+(0-p_{l})(1-p_{m})p_{m}\notag\\ &= p_{l}p_{m}\sum_{s_{l},s_{m}\neq1}f(\overrightarrow{s}) -p_{l}p_{m}+p_{l}^{2}p_{m}-p_{l}p_{m}+p_{l}p_{m}^{2}\notag\\ &= p_{l}p_{m}(1-p_{l}-p_{m})-2p_{l}p_{m}+p_{l}^{2}p_{m}+p_{l}p_{m}^{2}\notag\\ &=-p_{l}p_{m}\notag \end{align} である。ここまでの結果は複数ある確率変数の内の一つしか表せないという欠点がある。そのため一括で表記するためベクトル、行列を用いる。まず上記の期待値については$s_{l}$の値は \[ \mathrm{E}[S_{l}] =p_{l} \] である。他の値も同様に計算し$\mathrm{E}[S_{i}]=p_{i}$を得る。期待値ベクトルを \begin{align} \overrightarrow{\mathrm{E}} [\overrightarrow{S}] := \begin{pmatrix} \mathrm{E}[S_{1}] \\ \mathrm{E}[S_{2}] \\ \vdots \\ \mathrm{E}[S_{K}] \\ \end{pmatrix}\notag \end{align} と定義する。計算結果より \begin{align} \overrightarrow{\mathrm{E}}[\overrightarrow{S}] &= \begin{pmatrix} p_{1} \\ p_{2} \\ \vdots \\ p_{K} \\ \end{pmatrix}\notag \end{align} である。次は分散および共分散を行列で纏める。スカラーの場合の分散は変数と期待値との差の二乗の期待値である。 \[ \mathrm{Var}[X]=\mathrm{E}[(X-\mathrm{E}[X])^{2}] \] この式の期待値の引数に対応するベクトルで二乗を表現するには転置を用いればよい。まず転置したものに右から元のベクトルを掛けると \[ \left(\overrightarrow{S}-\overrightarrow{\mathrm{E}}[\overrightarrow{S}]\right)^{\mathrm{T}} \left(\overrightarrow{S}-\overrightarrow{\mathrm{E}}[\overrightarrow{S}]\right) = \sum_{i=1}^{K} (s_{i} -\mathrm{E}[s_{i}])^{2} \] となり、スカラーができてしまう。一方でのベクトルに右から転置ベクトルを掛けると \begin{align} & \left(\overrightarrow{S}-\overrightarrow{\mathrm{E}}[\overrightarrow{S}]\right) \left(\overrightarrow{S}-\overrightarrow{\mathrm{E}}[\overrightarrow{S}]\right)^{\mathrm{T}} \notag\\ &= \begin{pmatrix} s_{1} - \mathrm{E}[S_{1}]\\ s_{2} - \mathrm{E}[S_{2}]\\ \vdots \\ s_{K} - \mathrm{E}[S_{K}]\\ \end{pmatrix} \begin{pmatrix} s_{1} - \mathrm{E}[S_{1}] & s_{2} -\mathrm{E}[S_{2}] & \cdots & s_{K} - \mathrm{E}[S_{K}] \end{pmatrix}\notag\\ &= \begin{pmatrix} (s_{1}-\mathrm{E}[S_{1}])(s_{1}-\mathrm{E}[S_{1}]) & (s_{1}-\mathrm{E}[S_{1}])(s_{2}-\mathrm{E}[S_{2}]) & \cdots & (s_{1}-\mathrm{E}[S_{1}])(s_{K}-\mathrm{E}[S_{K}]) \\ (s_{2}-\mathrm{E}[S_{2}])(s_{1}-\mathrm{E}[S_{1}]) & (s_{2}-\mathrm{E}[S_{2}])(s_{2}-\mathrm{E}[S_{2}]) & \cdots & (s_{2}-\mathrm{E}[S_{2}])(s_{K}-\mathrm{E}[S_{K}]) \\ \vdots & \vdots & \ddots & \vdots \\ (s_{K}-\mathrm{E}[S_{K}])(s_{1}-\mathrm{E}[S_{1}]) & (s_{K}-\mathrm{E}[S_{K}])(s_{2}-\mathrm{E}[S_{2}]) & \cdots & (s_{K}-\mathrm{E}[S_{K}])(s_{K}-\mathrm{E}[S_{K}]) \\ \end{pmatrix} \notag \end{align} と計算できる。これは行列を成している。この要素ごとに期待値をとると対角要素は行列となり、非対角要素は共分散となる。そのため、この期待値を以って分散共分散行列を定義する。 \[ \mathrm{Var}\left[ \overrightarrow{S}\right] := \mathrm{E}\left[ \left(\overrightarrow{S}-\overrightarrow{\mathrm{E}}[\overrightarrow{S}]\right) \left(\overrightarrow{S}-\overrightarrow{\mathrm{E}}[\overrightarrow{S}]\right)^{\mathrm{T}} \right] \] これまでの計算結果から \begin{align} \mathrm{Var}\left[ \overrightarrow{S} \right] &= \begin{pmatrix} \mathrm{Var}[S_{1}] & \mathrm{Cov}[S_{1},S_{2}] & \cdots & \mathrm{Cov}[S_{1},S_{K}] \\ \mathrm{Cov}[S_{2},S_{1}] & \mathrm{Var}[S_{2}] & \cdots & \mathrm{Cov}[S_{2},S_{K}] \\ \vdots & \vdots & \ddots & \vdots \\ \mathrm{Cov}[S_{K},S_{1}] & \mathrm{Cov}[S_{K},S_{2}] & \cdots & \mathrm{Var}[S_{K}] \\ \end{pmatrix} \notag\\&= \begin{pmatrix} p_{1}-p_{1}p_{1} & -p_{1}p_{2} & \cdots & -p_{1}p_{K} \\ -p_{2}p_{1} & p_{2}-p_{2}p_{2} & \cdots & -p_{2}p_{K} \\ \vdots & \vdots & \ddots & \vdots \\ -p_{K}p_{1} & -p_{K}p_{2} & \cdots & p_{K}-p_{K}p_{K} \\ \end{pmatrix} \notag\\ &= \begin{pmatrix} p_{1} & 0 & \cdots & 0 \\ 0 & p_{2} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & p_{K} \\ \end{pmatrix} - \begin{pmatrix} p_{1}p_{1} & p_{1}p_{2} & \cdots & p_{1}p_{K} \\ p_{2}p_{1} & p_{2}p_{2} & \cdots & p_{2}p_{K} \\ \vdots & \vdots & \ddots & \vdots \\ p_{K}p_{1} & p_{K}p_{2} & \cdots & p_{K}p_{K} \\ \end{pmatrix} \notag \end{align} となる。確率をベクトルで \begin{align} \overrightarrow{p} = \begin{pmatrix} p_{1} \\ p_{2} \\ \vdots \\ p_{K} \end{pmatrix}\notag \end{align} と纏め、対角成分の表記として \begin{align} \mathrm{diag}(\overrightarrow{p}) := \begin{pmatrix} p_{1} & 0 & \cdots & 0 \\ 0 & p_{2} & \cdots & 0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \cdots & p_{K} \end{pmatrix}\notag \end{align} を定義すると \[ \mathrm{Var}\left[ \overrightarrow{S} \right] = \mathrm{diag}(\overrightarrow{p}) -\overrightarrow{p}\ \overrightarrow{p}^{\mathrm{T}} \] と書ける。既に求めた期待値ベクトルは上記の確率のベクトルと等しいことから \[ \mathrm{Var}\left[ \overrightarrow{S} \right] = \mathrm{diag} \left( \overrightarrow{\mathrm{E}}[\overrightarrow{S}]\right) - \overrightarrow{\mathrm{E}}[\overrightarrow{S}] \overrightarrow{\mathrm{E}}[\overrightarrow{S}]^{\mathrm{T}} \] となる。
続いて確率母関数を求める。多次元の確率変数での確率母関数を \[ G(\overrightarrow{t}) =G(t_{1},\cdots,t_{K}) :=\mathrm{E} \left[t_{1}^{S_{1}}\cdots t_{K}^{S_{K}}\right] \] と定義する。これにカテゴリカル分布の確率質量関数$f(\overrightarrow{s})=\prod_{i=1}^{K} p_{i}^{s_{i}}$を代入する。 \begin{align} G(\overrightarrow{t}) &=G(t_{1},\cdots,t_{K}) \notag\\ &=\mathrm{E} \left[t_{1}^{S_{1}}\cdots t_{K}^{S_{K}}\right] \notag\\ &=\sum_{s_{1}+s_{2}+\cdots+s_{K}=1} t_{1}^{s_{1}}\cdots t_{K}^{s_{K}} f(\overrightarrow{s}) \notag\\ &= \sum_{s_{1}+s_{2}+\cdots+s_{K}=1} \prod_{i=1}^{K} \left(t_{i} p_{i}\right)^{s_{i}} \notag \end{align} となり、$s_{1}+\cdots+s_{K}=1$であるため \[ 1 =\frac{1!}{0!\cdots 0!} =\frac{(s_{1}+\cdots+s_{K})!}{s_{1}!\cdots s_{K}!} \] という式が成り立つ。これを用いると \[ G(\overrightarrow{t})= \sum_{s_{1}+s_{2}+\cdots+s_{K}=1} \frac{(s_{1}+\cdots+s_{K})!}{s_{1}!\cdots s_{K}!} (p_{1}t_{1})^{s_{1}}\cdots(p_{K}t_{K})^{s_{K}} \] と書き換えられる。この右辺を多項定理の特別な場合と見做すと \[ G(\overrightarrow{t}) = (p_{1}t_{1}+\cdots+p_{K}t_{K})^1 \] と書ける。確率母関数を$t_{l}$で偏微分すると \begin{align} \frac{\partial }{\partial t_{l}} G(\overrightarrow{t}) =\frac{\partial }{\partial t_{l}} G(t_{1},\cdots,t_{K}) =E \left[ S_{l} t_{1}^{S_{1}}\cdots t_{l}^{S_{l}-1} \cdots t_{K}^{S_{K}}\right] =p_{l}\notag \end{align} となり、二階微分で \begin{align} \frac{\partial^2 }{\partial t_{l}^2} G(\overrightarrow{t}) =\frac{\partial^2 }{\partial t_{l}^2} G(t_{1},\cdots,t_{K}) =\mathrm{E} \left[ S_{l}(S_{l}-1)t_{1}^{S_{1}}\cdots t_{l}^{S_{l}-2} \cdots t_{K}^{S_{K}}\right] =0\notag \end{align} となる。これに$\overrightarrow{1}=(1,\cdots,1)$を代入すると \begin{align} & \left. \frac{\partial }{\partial t_{l}} G(\overrightarrow{t}) \right|_{\overrightarrow{1}} =\frac{\partial }{\partial t_{l}} G(1,\cdots,1) =\mathrm{E} \left[S_{l} \right] =p_{l}\notag\\ & \left. \frac{\partial^2 }{\partial t_{l}^2} G(\overrightarrow{t}) \right|_{\overrightarrow{1}} =\frac{\partial^2 }{\partial t_{l}^2} G(1,\cdots,1) =\mathrm{E} \left[S_{l}(S_{l}-1) \right] =0\notag \end{align} となる。この結果から期待値は上記のとおりであり、分散は \begin{align} \mathrm{Var}[S_{l}] &=\mathrm{E}[S_{l}(S_{l}-1)]+\mathrm{E}[S_{l}]-(\mathrm{E}[S_{l}])^2\notag\\ &=0+p_{l}-(p_{l})^2\notag\\ &=p_{l}(1-p_{l})\notag \end{align} となり、既に求めた結果と一致する。続いて共分散を求める。$t_{l}\neq t_{m}$の二つの$a$で偏微分すると \begin{align} \frac{\partial^{2} }{\partial t_{l} \partial t_{m}} G(\overrightarrow{t}) =\frac{\partial^{2} }{\partial t_{l} \partial t_{m}} G(t_{1},\cdots,t_{K}) =E \left[S_{l}S_{m} t_{1}^{S_{1}}\cdots t_{l}^{S_{l}-1}\cdots t_{m}^{S_{m}-1}\cdots t_{K}^{S_{K}}\right] =0\notag \end{align} となる。このことから \[ \mathrm{Cov}[S_{l},S_{m}]=\mathrm{E}[S_{l} S_{m}]-\mathrm{E}[S_{l}]\mathrm{E}[S_{m}]=-p_{l}p_{m} \] となる。これも既に求めた結果と一致する。