モーメント母関数

前々回と前回の記事で、歪度と尖度という指標を紹介しましたが、
おなじみの期待値$\mu=E(X)$や、分散$\sigma^2=E(X^2)-E(X)^2$なども合わせて考えると、
確率分布の形は$E[(X-\mu)^r]$、もしくは$E[X^r]$によって決まってくることがわかります。

一般に、次の値をそれぞれ、原点まわりの$r$次のモーメント(moment)、$X$の期待値まわりの$r$次のモーメントと言います。
$$
\begin{align}
\mu_r &= E(X^r).\\
\mu_r^{\prime} &= E[(X-\mu)^r].
\end{align}
$$
実際に計算してみるとわかるのですが、rが大きくなるとこの計算を直接行うのは結構手間なことが多いです。

そこで、全ての次数のモーメントを成績できるモーメント母関数(moment generating function)と呼ばれる関数が考案されています。
それは次の式で定義されます。
$$
M_X(t) = E\left[e^{tX}\right].
$$
(ただし、確率分布によっては、期待値を求める無限和や積分が収束せず、存在しないこともあり得ます。)

このモーメント母関数を$r$回微分して、$t=0$と置いた導関数が、原点周りの$r$次のモーメントになります。
式で書くと、次のようになります。
$$
M_X^{(r)}(0)=\mu_r = E[X^r]
$$

これは、$e^{tX}$のテイラー展開、$e^{tX}=\sum_{n=0}^{\infty}(tX)^n/n!$と期待値の線形性からわかります。
実際代入して整理してみると、次のようになります。
$$
\begin{align}
M_X(t) &= E\left[e^{tX}\right]\\
&= E\left[\sum_{n=0}^{\infty}(tX)^n/n!\right]\\
&= \sum_{n=0}^{\infty}(E[X^n]/n!)t^n.
\end{align}
$$

これを両辺$r$回微分すると次のようになります。
$$
\begin{align}
M_X^{(r)}(t) &= \sum_{n=r}^{\infty}(E[X^n]/(n-r)!)t^{n-r}\\
&= E[X^r] + \sum_{n=r+1}^{\infty}(E[X^n]/(n-r)!)t^{n-r}.
\end{align}
$$
これに$t=0$を代入して最後の$\sum$の項を消し去れば証明完了です。
(数学的に厳密に行うには和の順序交換や収束生の議論をもっと緻密に行う必要がありますが、ここでは省略)

確率分布の尖度

前の記事の確率分布の歪度に続いて、もう一つ確率分布の形状を表す指標を紹介します。
それは尖度(せんど、kurtosis)という指標です。

これは確率分布関数の鋭さを表す指標で、尖度が大きければ鋭いピークと長く太い裾を持った分布を持ち、
尖度が小さければより丸みがかったピークと短く細い尾を持った分布であるという事が判断できます。
出典:Wikipedia – 尖度

これは次の式で定義されます。($X$:確率変数、$\mu$:期待値、$\sigma$:標準偏差)
最後に3を引いているのは、正規分布の尖度が0となるように定義するためです。

$$
\beta_4 = \frac{E[(X-\mu)^4]}{\sigma^4} – 3
$$

尖度が正ならば、その分布は正規分布よりも尖った分布になります。
(通常の山が一つある形の分布であれば。)

計算は歪度の時と同様に、分子の$E[(X-\mu)^4]$の計算がポイントになりますが、
期待値の線形性により次のように計算できます。

$$
\begin{eqnarray}
E[(X-\mu)^4] &=& E[X^4 – 4X^3\mu + 6X^2\mu^2 – 4X\mu^3 + \mu^4]\\
&=& E[X^4] – 4\mu E[X^3] + 6\mu^2 E[X^2] – 3\mu^4.
\end{eqnarray}
$$

確率分布の歪度

確率分布の特徴を表す値として頻繁に使われるのは期待値と分散(もしくは標準偏差)ですが、
これらの値だけではまだ分布の特徴を完全に捕らえられているとは言えません。
特に、分布を期待値0、分散1に正規化してしまうと、この二つの値だけでは区別がつきませんが、
実際には分布の形が左右非対称に歪んでいたり、中央の尖り具合が違ったりします。

ということで、期待値と分散以外にも、確率分布の形を表す指標があり、その一つが
左右非対称生を示す歪度(わいど,skewness)です。

確率変数$X$に対して、期待値を$\mu$、標準偏差を$\sigma$とすると、次の式で定義されます。

$$
\alpha_3 = \frac{E\left[(X-\mu)^3 \right]}{\sigma^3}
$$

(統計学入門100ページの記号に揃えて、$\alpha_3$と書きましたが、これはどのくらいメジャーなんだろう?
英語版Wikipediaでは、$\gamma_1$が使われてますね。)

山が一つの確率分布であれば、
$\alpha_3>0$の時は右(正の方)の裾が長く、$\alpha_3<0$の時は左(負の方)の裾が長くなります。 具体的な例としては、カイ二乗分布やポアソン分布の歪度は正になります。 実際に計算する時は、分子の$E[(X-\mu)^3]$の計算がポイントになりますが、 これは期待値の線型性を用いて次のように計算します。 $$ \begin{eqnarray} E[(X-\mu)^3] &=& E[X^3 - 3X^2\mu + 3X\mu^2 - \mu^3]\\ &=& E[X^3] - 3\mu E[X^2] + 2\mu^2\\ &=& E[X^3] - 3\mu \sigma^2 - \mu^2. \end{eqnarray} $$ 個人的には3行目の$\sigma$が登場する形より、2行目のモーメントで計算できている形の方が使い勝手が良いと思います。

ポアソン分布のパラメータλの区間推定

区間推定に関する記事が続いていますがラストはポアソン分布$Po(\lambda)$のパラメーター$\lambda$の区間推定です。

平均も分散も$\lambda$なので、中心極限定理から$(\sum X_i -n\lambda)/\sqrt{n\lambda}$の分布が、$n$が十分大きい時は標準正規分布で近似できることを使います。
あとは結果だけ紹介すると、$\lambda$の推定量$\hat{\lambda}$の信頼係数$1-\alpha$の信頼区間は、次の式で近似的に求めることができます。
$$
\left[
\hat{\lambda} – Z_{\alpha/2}\sqrt{\frac{\hat{\lambda}}{n}}, \
\hat{\lambda} + Z_{\alpha/2}\sqrt{\frac{\hat{\lambda}}{n}} \
\right].
$$

二項分布の母数pの区間推定

実は地味に使うことがある二項分布の母比率の区間推定の式を紹介します。
今回もテキストは統計学入門(赤本)。
途中、近似計算が多く、細かく説明すると手間なので、詳細はテキストの方で追っていただくとして、
ここでは方針と結果だけ紹介しましょう。

前提として二項分布$B(n,p)$は、$n$が大きくなると直接計算するのが難しくなります。
(二項係数がどんどん大きくなるからです)
そのため、方針としては$n$が大きくなると、二項分布が正規分布で近似できることを使います。

まず、母集団分布が母数pのベルヌーイ分布($n=1$の二項分布) $B(1,p)$の時、
母数$p$は$\hat p = \bar X$で推定します。
この時、$\sum X_i$は$B(n,p)$に従います。
これに対して、$\hat p = \bar X = \sum X_i/n$で推定されます。

そして、信頼水準$1-\alpha$の$p$の信頼区間は近似的に次の式で求めることができます。
$$
\left[\hat{p}-Z_{\alpha/2}\sqrt{\hat{p}(1-\hat{p})/n}, \hat{p}+Z_{\alpha/2}\sqrt{\hat{p}(1-\hat{p})/n}\right].
$$

ここで、$Z_\alpha$は、標準正規分布の$\alpha$パーセント点です。

カイ二乗分布

このブログでもカバン検定の説明の中などで登場しており、
昨日のt分布の紹介の中でも使われているので、明らかに順番がおかしくなってしまっていますが、
カイ二乗分布について紹介してなかったので紹介しておこうと思います。

統計学入門(赤本)ではt分布同様定義は紹介されますが確率密度関数の式は登場しないようです。
不思議ですね。

定義

$Z_1, Z_2,\dots, Z_k$を独立な標準正規分布$N(0, 1)$に従う確率変数とします。
ここで、
$$
\chi^2 = Z_1^2+Z_2^2+\cdots+Z_k^2
$$
とすると、確率変数$\chi^2$が従う確率分布を自由度$k$の$\chi^2$分布と呼びます。
そしてそれを$\chi^2(k)$と書きます。

自由度$k$の$\chi^2$分布の確率密度関数$f_k(x)$は、$x\geq0$に対して、次のように書けます。
$$
f_k(x) = \frac{1}{2^{\frac{k}{2}}\Gamma(\frac{k}{2})}x^{\frac{k}{2}-1}e^{-\frac{x}{2}}
$$
また$x<0$に対しては、$f_k(x)=0$です。

スチューデントのt分布

母平均の信頼区間を出したり、t検定を行ったりする時に登場するt分布の紹介です。

今回も主に東京大学出版会の統計学入門を参考に書きますが、
なぜ過去の本にはt分布の確率密度関数の具体的な式が登場しないので、そこだけは別の本を参照しました。
(シリーズの緑色の本、青色の本にも登場してないように見えます。数表があれば十分という判断かな?)

たとえば、マセマのキャンパスゼミシリーズの統計学にベータ関数を用いた表記が登場します。
Wikipediaなどにあるのはガンマ関数を使った表記ですが同じ式です。

定義
二つの確率変数$Y$と$Z$が次の条件を満たすものとします。
(a) $Z$は標準正規分布$N(0,1)$に従う。
(b) $Y$は自由度$k$の$\chi^2$分布$\chi^2(k)$に従う。
(c) $Z$と$Y$は独立である。

今、確率変数$t$を
$$
t = \frac{Z}{\sqrt{Y/k}}
$$
と定義すると、$t$が従う確率分布を自由度$k$の$t$分布(もしくはスチューデントの$t$分布)と言います。
これを$t(k)$と表します。

自由度$k$が大きくなり、特に$30$以上くらいになると、ほぼ正規分布と変わらない分布になり、$k$が$\infty$になると一致します。

自由度$k$の$t$分布の確率密度関数$f(t)$は次のようになります。
$$
f(t) = \frac{\Gamma(\frac{k+1}{2})}{\sqrt{k\pi}\Gamma(\frac{k}{2})}\left(1+\frac{t^2}{k}\right)^{-(\frac{k+1}{2})}
$$

ベータ関数$B(x,y)$を使うと次のようにも書けます。
$$
f(t) = \frac{1}{\sqrt{\pi}B(\frac{k}{2},\frac{1}{2})}\left(1+\frac{t^2}{k}\right)^{-(\frac{k+1}{2})}
$$

母分散の信頼区間

今回は母分散の信頼区間の求め方を紹介します。
母集団の分布は正規分布 $N(\mu, \sigma^2)$とし、標本を$X = (X_1, X_2, \dots, X_n)$とします。
$\alpha$などの記号の意味も母平均の信頼区間の記事と同じです。

標本分散を$s^2 = \sum_{i=1}^n\frac{(X_i-\bar X)^2}{n-1}$とすると、
$(n-1)s^2/\sigma^2$は、自由度$n-1$の$\chi^2$分布、$\chi^2(n-1)$に従います。
そのため、$\chi^2(n-1)$のパーセント点$\chi_{1-\alpha/2}^2(n-1)$と、$\chi_{\alpha/2}^2(n-1)$を使って、次式のように書けます。

$$
P(\chi_{1-\alpha/2}^2(n-1) \leq (n-1)s^2/\sigma^2 \leq \chi_{\alpha/2}^2(n-1)) = 1 – \alpha.
$$

括弧の中を整理すると次のようになります。(分子と分母を逆転させる必要がありますが、3つの値が全部正なので簡単です。)
$$
P(\frac{(n-1)s^2}{\chi_{\alpha/2}^2(n-1)} \leq \sigma^2 \leq \frac{(n-1)s^2}{\chi_{1-\alpha/2}^2(n-1)}) = 1 – \alpha.
$$

よって母分散の信頼区間は次のように求まります。
$$
[\frac{(n-1)s^2}{\chi_{\alpha/2}^2(n-1)} , \frac{(n-1)s^2}{\chi_{1-\alpha/2}^2(n-1)}].
$$

普段の業務だと母平均に比べて、母分散の信頼区間を求めようと思うことが少ない、(というかほぼ無い)ので、
この式に馴染みがなく、ちょっと違和感を感じます。
nが大きくなるとこの区間は狭まっていくのでしょうか。
信頼区間なので、この区間中に標本分散$s^2$が含まれてるはずなのですが、
自分にはまだその感覚も身についてません。
普段のクロス表の検定で使わないような、自由度のでかいカイ2乗分布のパーセント点を意識して無いですからね。

区間推定の実験(95%信頼区間の信頼度は本当に95%なのか)

前回の記事で、正規分布に従う確率変数の母平均の区間推定を行う式を紹介しました。
参考:母平均の区間推定

これで、実際に信頼区間を計算すると、結構広い区間が求まります。
特にサンプルサイズが30とか50の時は、もっと絞り込めるんじゃないか?と感じる結果になることが多いです。
ぶっちゃけた話、95%信頼区間に99%くらいの確率で母平均が含まれてそうに見えます。

ということで、既知の分布から繰り返し標本を抽出し95%信頼区間を計算して、
その中に母平均が含まれている割合が95%に近い値になるのか試してみました。
対象とする分布は $N(7, 2^2)$, 一回の標本のサイズは50、実験回数は100としました。

試したコードがこちらです。


from scipy.stats import norm
from scipy.stats import t
import numpy as np
import matplotlib.pyplot as plt

# 母集団の平均と標準偏差を定義
mu = 7
sigma = 2

# サンプルサイズ(一回の実験で撮る標本数)とサンプル数(標本のセットの数)
sample_size = 50
sample_count = 100
# 1-alpha が 0.95 なので、 alpha ha 0.05
alpha = 0.05

# 母集団が従う確率分布
norm_rv = norm.freeze(loc=mu, scale=sigma)
# 区間推定の計算に使う、自由度が sample_size - 1 のt分布
t_rv = t.freeze(sample_size-1)

# 計算した信頼区間たちを格納しておく配列
result = []
for i in range(sample_count):

    sample = norm_rv.rvs(size=sample_size)
    ave = sample.mean()
    s = sample.std()

    L = ave - t_rv.isf(alpha/2) * s/np.sqrt(sample_size)
    U = ave + t_rv.isf(alpha/2) * s/np.sqrt(sample_size)

    result.append([L, U])

fig = plt.figure(figsize=(12, 6))
ax = fig.add_subplot(1, 1, 1)
for i, r in enumerate(result):
    # 真の平均が信頼区間の中に入っているかどうかで色を変える
    if r[0] > mu or r[1] < mu:
        color = 'm'
    else:
        color = 'c'

    ax.vlines(x=i, ymin=r[0], ymax=r[1], colors=color)

# 真の平均の値で横線を引く
ax.hlines(y=mu, xmin=-1, xmax=sample_count)
plt.show()

当然ですが途中に乱数を含むので実行のたびに結果が変わります。

外れてしまった(赤っぽく着色されている)のが 6本あり、残り94本が区間内に真の母平均を含む結果になりました。
今回の結果は94%となりましたが、テスト回数が100回だったので十分許容誤差だと思います。
本当に5%くらいは外すんですね。

母平均の区間推定

今回は正規分布に従う母集団から抽出した標本について、その母平均を区間推定する式を紹介します。
テキストは東京大学出版会の統計学入門です(11.5.1 正規母集団の母平均、母分散の区間推定)。

まず、母集団の分散$\sigma$は既知で、平均$\mu$を推定したい場合から。
(どんな場合に、分散が既知になるんだろうかという気もしますが、簡単なので先に紹介します。)

標本を $X = (X_1, X_2, \dots, X_n)$とし、標本平均を$\bar X$とします。
すると、$\bar X$は、正規分布 $N(\mu, \sigma^2/n)$に従うので、標準化すると、次のようになります。
$$
P(-Z_{a/2} \leq \frac{\sqrt{n}(\bar X – \mu)}{\sigma} \leq Z_{a/2}) = 1-\alpha.
$$

ここで、$Z_\alpha$は、パーセント点と呼ばれるもので、
標準正規分布$N(0, 1)$において、その点より上側の確率が$100\alpha\%$となる点です。
統計学入門ではP197の10.2 で導入されている記号です。

この式を括弧内の不等式についてとくと次のようになります。
$$
P(\bar X-Z_{a/2} \cdot \frac{\sigma}{\sqrt{n}} \leq \mu \leq \bar X+Z_{a/2} \cdot \frac{\sigma}{\sqrt{n}}) = 1-\alpha.
$$

結果、$\mu$の信頼区間は、次のようになります。
$$
[\bar X-Z_{a/2} \cdot \frac{\sigma}{\sqrt{n}}, \bar X+Z_{a/2} \cdot \frac{\sigma}{\sqrt{n}}].
$$

さて、次は$\sigma^2$が未知の場合です。通常はこちらだと思います。
この時は、標本分散を使うことになります。標本分散$s^2$の式はいつものこれ。
$$
s^2 = \sum_{i=1}^n\frac{(X_i-\bar X)^2}{n-1}.
$$

すると今度は$\sqrt{n}(\bar X-\mu)/s$は、自由度$n-1$の$t$分布に従うので、
$t$分布のパーセント点を使って、次のようにかけます。
$t_{\alpha}(n)$は自由度$n$の$t$分布の$\alpha$パーセント点です。

$$
P(-t_{a/2}(n-1) \leq \frac{\sqrt{n}(\bar X – \mu)}{s} \leq t_{a/2}(n-1)) = 1-\alpha.
$$
これを先ほど同じように整形すると、次のようになります。
$$
P(\bar X-t_{a/2}(n-1) \cdot \frac{s}{\sqrt{n}} \leq \mu \leq \bar X+t_{a/2}(n-1) \cdot \frac{s}{\sqrt{n}}) = 1-\alpha.
$$

よって、母平均$\mu$の信頼係数$1-\alpha$の信頼区間はこのようになります。
$$
[\bar X-t_{a/2}(n-1) \cdot \frac{s}{\sqrt{n}}, \bar X+t_{a/2}(n-1) \cdot \frac{s}{\sqrt{n}}].
$$