taka5hi’s blog

統計と機械学習の話題をメインに記事を書いています。

積率母関数とは

積率母関数とは、その名の通り積率の母関数です。
もちろん、これでは何の説明にもなっていないので、このページでは積率母関数について整理していきます。


必要な概念の整理

積率(原点回りのk次の積率)とは、下記の式で定義される値のことです。

  • 離散変数の場合

$$
\mu'_k = E[X^k] = \sum_{i=1}^{\infty}x_i^kf(x_i)
$$

  • 連続変数の場合

$$
\mu'_k = E[X^k] = \int_{-\infty}^{\infty}x_i^kf(x_i)
$$

積率という言葉が直接使われていなくても、1次、2次の積率は平均と分散を計算する際に出てきます。
平均・分散は、上記の積率を使って下記のように求めることができます。

  • \((平均) = \mu'_1\)
  • \((分散) = \mu'_2 - (\mu'_1)^{2}\)


一方、数列に関する情報をすべて含んだ関数を母関数といいます。

したがって、積率母関数とは、任意の次数の積率に関する情報をすべて含んだ関数のことです。

積率母関数の定義

積率母関数の定義は以下の通りです。

  • 離散変数の場合

$$
M_X(\theta) = E[e^{\theta X}] = \sum_{i=1}^{\infty}e^{\theta x_i}f(x_i)
$$

  • 連続変数の場合

$$
M_X(\theta) = E[e^{\theta X}] = \int_{-\infty}^{\infty}e^{\theta x_i}f(x_i)
$$

なぜこれが積率母関数なのか

はじめの方に説明した通り、任意の次数の積率に関する情報をすべて含んだ関数のことを積率母関数というのでした。
ここで定義した積率母関数には、本当に任意の次数の積率に関する情報が含まれているのでしょうか。
これを示すために、実際に積率母関数からk次の積率を導出することを考えます。
離散変数の場合と連続変数の場合で、ほとんど同じ議論となるため、ここでは離散変数の場合で議論を進めます。

まず、\(e^{\theta x_i}\) をべき級数展開します。
\(e^{z}\) のべき級数展開は
$$
e^z = 1 + z + \frac{z^2}{2!} + \frac{z^3}{3!} + ・・・
$$
なので、
\begin{align}
M_X(\theta) &= \sum_{i=1}^{\infty}[1+\theta x_i+ \frac{\theta^2 x_i^2}{2!}+\frac{\theta^3 x_i^3}{3!}+・・・]f(x_i) \\
&= \sum_{i=1}^{\infty}f(x_i) + \theta \sum_{i=1}^{\infty}x_i f(x_i) + \frac{\theta^2}{2!} \sum_{i=1}^{\infty}{ x_i^2}f(x_i) + \frac{\theta^3}{3!} \sum_{i=1}^{\infty}{ x_i^3}f(x_i) +・・・\\
&= 1+\theta{\mu'_1}+\frac{\theta^2}{2!}{\mu'_2} + \frac{\theta^3}{3!} {\mu'_3} +・・・
\end{align}
となります。
この式を使えば、以下の計算を行うことにより、k次の積率を求めることができます。
$$
{\mu'_k} = \left.\frac{d^k M_X(\theta)}{d \theta^k}\right|_{\theta=0}
$$

以上から、積率母関数を使って任意の次数の積率が求められることが示せました。確かに積率母関数には、積率に関するすべての情報が含まれていそうです。

積率母関数の利点

ある値について別の導出方法を知っているということは意味のあることです。
例えば、平均・分散を計算する際に積率母関数を使った方が簡単なことがあります。
この記事の締めくくりとして、積率母関数を使って2項分布の平均と分散を求めてみます。

2項分布は以下の式で表されます。
$$
f(x) = \frac{n!}{x!(n-x)!}p^xq^{n-x}
$$

2項分布の積率母関数
\begin{align}
M_X(\theta) &= \sum_{x=1}^n e^{\theta x} \frac{n!}{x!(n-x)!}p^xq^{n-x} \\
&= \sum_{x=1}^n \frac{n!}{x!(n-x)!}(p e^\theta)^xq^{n-x} \\
&= (q + p e^\theta)^n
\end{align}
となります。

1次、2次の積率を求めるため、積率母関数の \(\theta\) についての1次と2次の微分を求めます。
\begin{align}
M_X'(\theta) &= npe^{\theta}(q+pe^\theta)^{n-1} \\
M_X''(\theta) &= npe^{\theta}(q+pe^\theta)^{n-2}(q+npe^\theta)
\end{align}

次に \(\theta=0\) を代入して積率を求めます。\(p+q=1\) であることを考慮すれば、
\begin{align}
{\mu'_1} &= np(q+p)^{n-1} = np \\
{\mu'_2} &= np(q+p)^{n-2}(q+np) = npq + (np)^2
\end{align}
ここから、2項分布の平均 \(np\) と分散 \(npq\) が求められます。(分散は \(\mu'_2 - (\mu'_1)^{2}\) で求められるのでした。)

積率の定義から直接求めることもできますが、2項分布の場合は、積率母関数を使った方が簡単に求めることができます。