中心極限定理

はじめに

 今回は中心極限定理について説明する。数学的な証明は行わず、その振る舞いについてPythonプログラムで確認したあと、この定理の有用性の例を示す。

中心極限定理とは

 任意の確率分布p(x)を考える。その平均\muと分散\sigma^2は既知であるとする。この確率分布から独立にN個のデータをサンプリングする。

     \begin{align*} D=\{x_1,\cdots,x_N\} \end{align*}

「独立に」とは、今のサンプリングが次のサンプリングに影響を与えないということである。このようなN個のサンプリングをたくさん繰り返す。

     \begin{align*} D^{(1)}=\{x_1^{(1)},\cdots,x_N^{(1)}\},\cdots, D^{(K)}=\{x_1^{(K)},\cdots,x_N^{(K)}\} \end{align*}

各データの組D^{(k)}から平均(標本平均)を計算する。

     \begin{align*} \bar{x}^{(k)}=\frac{1}{N}\sum_{n=1}^N x_n^{(k)},\;\;\;k=1,\cdots,K \end{align*}

この平均の分布\{\bar{x}^{(1)},\cdots,\bar{x}^{(K)}\}は、Nを十分に大きくとると、平均が\mu、分散が\sigma^2/Nの正規分布に近づくことが証明されている。これが中心極限定理である。ここで大切なことは、最初に考えた確率分布p(x)の種類は任意であることである。ベルヌーイ分布でも二項分布でも構わない。サンプリング数を十分大きくすればその平均は正規分布に近づくのである(下図参照)。

図1

Pythonによる実験

 ここでは任意の確率分布として0以上1未満で定義された一様分布p(x)を考える。

     \begin{align*} p(x)=1 \end{align*}

このとき

     \begin{align*} \int^1_0dx\;p(x)=1 \end{align*}

が成り立ち、平均と分散は

     \begin{align*} \mu&=\int^1_0dx\;p(x)\;x = \frac{1}{2} \\ \sigma^2&=\int^1_0dx\;p(x)\;(x-\mu)^2 = \frac{1}{12} \end{align*}

となる。さて、最初に以下の手順を実装する。

  1. 一様分布からN個のデータを無作為に取り出す。
  2. N個のデータの平均を計算する。
  3. 1と2をK回繰り返す。

残りは、描画部分とメイン関数部分である。

特に難しい部分はない。実験結果は以下の図の通り。図内のNKは上の説明で使用したパラメータに対応する。Kを10000に固定し、Nを増やしていく。青いヒストグラムはK個の\bar{x}(平均)の分布を表し、赤い点線はそれぞれのNのときの正規分布

     \begin{align*} p(\bar{x})=\mathcal{N}(\bar{x};\mu,\frac{\sigma^2}{N}) \end{align*}

である。

図2

Nが大きいほど青いヒストグラムの分布は正規分布(赤い点線)に近づいていく様子が分かる。N=10程度でほぼ正規分布と一致している。今回使用したソースコードはここにある。

中心極限定理はどこで役立つのか

 ここまでの説明で中心極限定理については理解できたと思う。次にこれが役に立つ場面を紹介する。良く例に使われる日本人の身長について考えよう。日本人の身長を変数x、その確率分布をp(x)とおく。p(x)の真の形状は不明なので(全日本人の身長を測るわけにはいかない)、p(x)の平均と分散をそれぞれ\mu\sigma^2という未知数で与えておく。次に10000(=N)人のサンプリングを行う。

     \begin{align*} D=\{x_1,\cdots,x_N\} \end{align*}

これらの平均を計算し\bar{x}を求める。このようなサンプリングから得られる平均は、中心極限定理によると次の正規分布

     \begin{align*} p(\bar{x})=\mathcal{N}(\bar{x};\mu,\frac{\sigma^2}{N}) \end{align*}

に従うのであった。従って、正規分布の場合の区間推定を行うと、\bar{x}は99.7%の確率で

(1)    \begin{align*} \mu-3\frac{\sigma}{\sqrt{N}}\leq \bar{x} \leq \mu+3\frac{\sigma}{\sqrt{N}} \end{align*}

を満たすと結論できる。今回は区間推定についての説明は割愛するが、例えば68–95–99.7則を見てほしい。この式を変形すると

     \begin{align*} \bar{x}-3\frac{\sigma}{\sqrt{N}}\leq \mu \leq \bar{x}+3\frac{\sigma}{\sqrt{N}} \end{align*}

を得る。さらに、統計学の教えるところによると、Nが十分に大きい場合、真の分散\sigma^2はサンプリングデータから計算できる不偏分散s^2に置き換えることができる(不偏分散については以前こちらの記事「標本分散と不偏分散」で解説した)。従って

(2)    \begin{align*} \bar{x}-3\frac{s}{\sqrt{N}}\leq \mu \leq \bar{x}+3\frac{s}{\sqrt{N}} \end{align*}

を得る。上式において未知数は真の平均\muだけである。すなわち、真の平均\muを99.7%の確率で区間推定できたことになる。このような計算が可能なのは、中心極限定理により\bar{x}が正規分布に従い、その結果、式(1)が成り立つためである。式(2)でN\rightarrow\inftyにすると真の平均\muが存在する区間が狭くなっていくことが分かる。

まとめ

 今回は中心極限定理について解説した。最近読んだ書籍「ゼロから作るDeep Learning 5」に中心極限定理が紹介されており、むかし勉強した知識を再度思い出すために今回の解説記事を書いた。中心極限定理が役立つ場面については自分で調べた内容を記載した。

参照サイト

  • ゼロから作るDeep Learning 5
  • 中心極限定理って何がすごいの?
  • 中心極限定理(Wikipedia)
  • 68–95–99.7則
  • 標本分散と不偏分散
  • Kumada Seiya

    Kumada Seiya

    仕事であろうとなかろうと勉強し続ける、その結果”中身”を知ったエンジニアになれる

    最近の記事

    • 関連記事
    • おすすめ記事
    • 特集記事

    アーカイブ

    カテゴリー

    PAGE TOP