積率母関数:「和を掛け算に変える」ために生まれた形【第9回】

はじめに

前回は大数の法則と中心極限定理を扱いました。ただし証明には触れず、「元の分布が何であれ正規分布に寄る」という事実だけを使って、なぜそうなるのかは棚に上げたまま終えています。

今回はその棚を開けます。第2章に戻って、積率母関数(モーメント母関数)を見ていきます。

この章はロードマップを作った時点で意図的に後ろへ回していました。理由は「数式変形が主役の章だから、具体的な分布と中心極限定理を先に見たほうが何のための道具か分かるはず」というものです。実際そのとおりになりました。ただし、後回しにしたことで別の問題が起きました。

先に「便利さ」を知ってしまったせいで、肝心の定義を分かったつもりで飛ばしていたのです。

今回の学習は、この順番で疑問が出ました。

  1. 便利なのは分かった。ところで積率母関数とは何なのか
  2. 定義は分かった。ところでなぜ etXe^{tX} という形なのか
  3. 形も分かった。ところで、tt には何の意味があるのか

記事はこの逆順、つまり「なぜその形か」から書きます。便利さから入ると、読む側は必ず同じ場所でつまずくと分かったからです。

なお筆者は統計の専門家ではありません。理解の誤りが含まれる可能性があるため、試験対策として読む場合は必ず公式テキストで確認してください。

TL;DR

  • etXe^{tX} は思いつきではない。「和を積に変える関数」を探すと指数関数しか残らない。(X+Y)2X2Y2(X+Y)^2 \neq X^2 Y^2 だが et(X+Y)=etXetYe^{t(X+Y)} = e^{tX} e^{tY} は成立する
  • 「積率」=モーメント、「母関数」=それを生み出す関数。名前がそのまま中身。定義は M(t)=E[etX]M(t) = E[e^{tX}] の一行だけ
  • tt の正体は「分布を傾けるつまみ」。t=0t=0 だけが傾けない=元の分布。だから、t=0t=0 での傾きが元の平均になる
  • サイコロ10個の合計は数え上げると6千万通り。多項式を10乗すれば0.4秒
  • 再生性は掛け算1回で証明が終わる。ポアソン+ポアソン、正規+正規、指数を足すとガンマ、すべて同じ手口
  • 中心極限定理の正体は nlogMZ(t/n)t2/2n \log M_Z(t/\sqrt{n}) \to t^2/2極限に残るのは平均と分散だけで、歪度は消える
  • ただし母関数はいつでも存在するわけではない。コーシー分布や対数正規分布では発散する
  • 試験で必要なのは2つだけ。①t=0t=0 で微分してモーメントを出す ②掛け算で再生性を示す

統計の用語が出てくるので、先に用語集を置いておきます。用語を知っている方は「なぜ指数関数でなければならないのか」まで飛ばしてください。

用語集

この記事の鍵になる2つだけ挙げておきます。どちらも後で具体例つきで説明するので、いま覚える必要はありません。

用語記号意味
積率(モーメント)E[X],E[X2],E[X], E[X^2], \dotsXXnn 乗の平均」たち。1次が平均、2次から分散が作れる
積率母関数M(t)=E[etX]M(t) = E[e^{tX}]積率を生み出す関数。分布の情報を1本の関数に詰め替えたもの

もう一つ、再生性という言葉も出てきます。「同じ種類の分布どうしを足すと、また同じ種類の分布になる」という性質のことです。

なぜ指数関数でなければならないのか

定義より先に、ここから始めます。私が最初に納得できなかったのは、この妙な形でした。

M(t)=E[etX]M(t) = E[e^{tX}]

なぜ ee が出てくるのか。なぜ XX が指数の肩に乗るのか。当初は「テイラー展開すると都合よくモーメントが並ぶから、そういう形にしたのだろう」と考えていました。

これは因果が逆でした。

出発点は、母関数の便利さではありません。独立な変数の和 X+YX+Y の分布を知りたいという、もっと素朴な困りごとです。

独立性が使える形はひとつしかない

確率変数が独立なとき、何が言えるでしょうか。使える性質はこれです。

E[f(X)g(Y)]=E[f(X)]E[g(Y)]E[f(X) \cdot g(Y)] = E[f(X)] \cdot E[g(Y)]

平均をバラバラに分解できる。ただし中身が「積」のときだけです。ここが決定的でした。

(和については E[X+Y]=E[X]+E[Y]E[X+Y]=E[X]+E[Y] が独立でなくても常に成り立ちます。分解できるかどうかが問題なのではなく、独立性という強い武器が効くのが積のときだけという話です。)

ところが知りたいのは和 X+YX+Y の分布です。ここで独立性を活かしたい。

そこで発想を変えます。和を積に変えてくれる関数があれば、話がつながるはずです。求める条件はこうなります。

f(x+y)=f(x)f(y)(すべての実数 x,y で)f(x + y) = f(x) \cdot f(y) \quad (\text{すべての実数 } x, y \text{ で})

「足してから関数に入れた結果」が「別々に入れてから掛けた結果」と一致する関数。これを満たすものを探します。

候補を並べると指数関数だけが残る

実際に試すと、ほとんどの関数が落ちます。

候補和を入れると判定
et(x+y)e^{t(x+y)}=etxety= e^{tx} \cdot e^{ty}成立(積に分かれた)
(x+y)2(x+y)^2=x2+2xy+y2= x^2 + 2xy + y^2失敗(x2y2x^2 y^2 にならない)
t(x+y)t(x+y)=tx+ty= tx + ty失敗((tx)(ty)(tx)(ty) にならない)

2乗は交差項 2xy2xy が邪魔をします。ただの定数倍は、足し算が足し算のまま残るだけで積になりません。

そして数学的には、この関数方程式の連続な解は f(x)=ecxf(x)=e^{cx} だけと決まっています(f0f \equiv 0 という中身のないものを除く)。選択肢が他になかったのです。

なお cc を複素数まで許すと eicxe^{icx} も解になります。これが後で名前だけ出てくる特性関数の正体でした。

積率母関数のtが何を表すかを示す6枚組の図。上段はサイコロの確率分布をe^{tx}で傾けた結果で、左のt=−1は小さい値ばかり出る世界(1の確率が0.63まで上がり平均1.57)、中央のt=0は元のサイコロ(各面1/6の平らな分布で平均3.50)、右のt=+2は大きい値ばかり出る世界(6の確率が0.86で平均5.84)。下段左はtを−3から3まで動かしたときの傾けた分布の平均のS字曲線で、d/dt log M(t)と数値が一致し、t=0で元の平均3.5、t→−∞で1、t→+∞で6に張り付く。下段中央は重みe^{tX}の向きを対数軸で描いた5本の直線で、t>0では大きい値を、t<0では小さい値を強調する。下段右は文字パネルで、独立なら平均が積に分解できるのは積のときだけであること、和を積に変えるf(X+Y)=f(X)f(Y)を満たすのは指数関数だけで、2乗も定数倍も条件を満たさないことから、e^{tX}は思いつきではなく必然だと説明している

上の図の右下パネルがこの話です(他のパネルは後で使います)。

因果が逆だった

つまり順序はこうでした。

「便利な形を探したら etXe^{tX} が見つかった」のではない。「和を扱いたい」という要求から、etXe^{tX} しか選べなかった。

テイラー展開するとモーメントがきれいに並ぶ、という有名な性質は後から来たおまけです。うれしい偶然のほうが後発だった。

この順番が分かってから、etXe^{tX} が急に自然な形に見えるようになりました。指数関数は「足し算を掛け算に翻訳する装置」で、それは高校で習った指数法則 am+n=amana^{m+n} = a^m a^n そのものです。新しいものは何もありません。

定義:「積率」はモーメントのこと

形の理由が分かったので、定義に進みます。まず用語をばらします。ここでかなり気が楽になりました。

言葉意味
積率モーメント。E[X],E[X2],E[X3],E[X], E[X^2], E[X^3], \dots という「XXnn 乗の平均」たち
母関数それを生み出す関数。英語では generating function(生成する関数)

つなげると「モーメントを生み出す関数」。名前がそのまま中身を説明していました。定義は一行です。

M(t)=E[etX]M(t) = E[e^{tX}]

E[ ]E[\ ] は平均を取る記号で、中身の etXe^{tX} は各値に掛ける重みです。つまりやっていることは重みつき平均にすぎません。tt は自分で好きに動かせるダイヤルで、これを変えると重みの付き方が変わります。

サイコロで定義どおり手で組んでみる

抽象的なままだと分からないので、サイコロ1個で作ってみます。値は1から6、確率はどれも 1/61/6。定義に素直に代入するだけです。

M(t)=16et+16e2t+16e3t+16e4t+16e5t+16e6tM(t) = \frac{1}{6}e^{t} + \frac{1}{6}e^{2t} + \frac{1}{6}e^{3t} + \frac{1}{6}e^{4t} + \frac{1}{6}e^{5t} + \frac{1}{6}e^{6t}

これだけでした。「各値の et×e^{t \times \text{値}} に、その確率を掛けて全部足す」——定義そのままです。

tt に数を入れれば、ただの数が返ってきます。

ttM(t)M(t)
001.0001.000
0.50.58.0848.084
11106.105106.105

ここで M(0)=1M(0) = 1 は必ずこうなりますt=0t=0 なら e0=1e^{0}=1 なので、中身は「1の平均」つまり確率の合計です。確率は全部足すと1。だから M(0)=1M(0)=1 は分布によらず成立します。

これは計算間違いの検出に使えます。母関数を導出したら t=0t=0 を入れてみて、1にならなければどこかで間違えている。試験でも使える検算です。

積率母関数の作られ方を3段階で示した図。左は値と確率の表としての分布、中央は各値に重みe^tXを掛ける様子、右は重みつき平均をtの関数として描いた曲線でt=0を高さ1で通り接線の傾きが平均3.5になっている

図の①が元の分布、②が重み etXe^{tX}、③がそれらを掛けて平均した結果を tt の関数として描いたものです。③の曲線が M(t)M(t) そのものです。t=0t=0 で必ず高さ1を通っているのが確認できます。

なぜモーメントを「生む」のか

名前の由来を確かめます。etXe^{tX} をテイラー展開すると、

etX=1+tX+t2X22!+t3X33!+e^{tX} = 1 + tX + \frac{t^2 X^2}{2!} + \frac{t^3 X^3}{3!} + \cdots

これの平均を取ります。平均は足し算をバラせるので、

M(t)=1+E[X]t+E[X2]t22!+E[X3]t33!+M(t) = 1 + E[X]\,t + E[X^2]\frac{t^2}{2!} + E[X^3]\frac{t^3}{3!} + \cdots

モーメントが係数として全部詰まっています。 これが「母関数」と呼ばれる理由でした。

サイコロで実際に展開させてみると、こうなりました。

M(t)=1+72t+9112t2+494t3+2275144t4+M(t) = 1 + \frac{7}{2}t + \frac{91}{12}t^2 + \frac{49}{4}t^3 + \frac{2275}{144}t^4 + \cdots

tt の係数が 7/2=3.57/2 = 3.5。サイコロの平均そのものです。t2t^2 の係数に 2!2! を掛けると 91/6=15.166791/6 = 15.1667 で、これは E[X2]E[X^2] に一致します。

だから微分すれば取り出せる

テイラー展開の係数を取り出す操作が微分でした。t=0t=0 で微分すると、

M(0)=E[X],M(0)=E[X2]M'(0) = E[X], \quad M''(0) = E[X^2]

サイコロで確かめると M(0)=7/2=3.5M'(0) = 7/2 = 3.5M(0)=91/6=15.1667M''(0) = 91/6 = 15.1667。そして分散は、

Var(X)=M(0)M(0)2=916(72)2=3512=2.9167\text{Var}(X) = M''(0) - M'(0)^2 = \frac{91}{6} - \left(\frac{7}{2}\right)^2 = \frac{35}{12} = 2.9167

サイコロの分散の既知値 35/1235/12 と一致しました。

ここで第3回が戻ってきます。あの回で扱った「分散 = 2乗の平均 − 平均の2乗」が、そのまま M(0)M(0)2M''(0) - M'(0)^2 という形で現れています。母関数は新しい概念を持ち込んでいるのではなく、既知の公式を機械的に実行できる形に整理しただけでした。

tt とは何か——3つの顔

ここが最後まで残った疑問です。定義も形の理由も分かった。それでも tt が何なのか掴めませんでした。

tt は分布のパラメータではありません。データでもない。かといって t=0t=0 を代入して消すだけなら、なぜわざわざ変数として置くのか。「計算のための飾り」だと思っていました。

調べると、tt には少なくとも3つの役割がありました。

顔①:分布を傾けるつまみ

一番腑に落ちたのがこれです。重み etXe^{tX} を掛けて、合計が1になるように割り直してみます。すると元の分布を傾けた別の分布が得られます。

サイコロで tt を動かすと、こうなりました。

ttP(1)P(1)P(2)P(2)P(3)P(3)P(4)P(4)P(5)P(5)P(6)P(6)平均
1.0-1.00.6340.2330.0860.0320.0120.0041.567
0.5-0.50.4140.2510.1520.0920.0560.0342.227
0\mathbf{0}0.1670.1670.1670.1670.1670.1673.500\mathbf{3.500}
+0.5+0.50.0340.0560.0920.1520.2510.4144.773
+2.0+2.00.0000.0000.0020.0160.1170.8655.844

tt を上げると大きい目ばかり出る世界、下げると小さい目ばかり出る世界に移ります。t=+2t = +2 では86.5%が6になり、平均は5.844。t±t \to \pm\infty では最大値6・最小値1に張り付きます。

そして重要なのは、t=0t = 0 だけが「傾けない」ということです。重みが全部1になるので、元のサイコロがそのまま残ります。

tを動かすと分布が傾く様子を示した4枚組の図。t=-1では小さい目に偏り、t=0で元の一様なサイコロ、t=+2では6に集中する。左下は傾けた分布の平均がtに応じて滑らかに動きt=0で3.5を通る曲線

これは気分の話ではなく、等式で裏づけられます。

ddtlogM(t)=t で傾けた分布の平均\frac{d}{dt}\log M(t) = t \text{ で傾けた分布の平均}

6つの tt で数値微分と比べたところ、すべて完全に一致しました(t=1t=-1 で 1.567067、t=0t=0 で 3.500000、t=+2t=+2 で 5.843519)。

ここで「微分すると平均が出る」の正体が見えました。 t=0t=0 は傾けない世界、つまり元の分布そのものです。だからそこでの傾きが元の平均になる。公式として暗記していた M(0)=E[X]M'(0) = E[X] に、はっきりした意味がつきました。

顔②:モーメントを仕分ける棚

もう一つの役割は整理棚です。

M(t)=1+E[X]t+E[X2]t22!+E[X3]t33!+M(t) = 1 + E[X]t + E[X^2]\frac{t^2}{2!} + E[X^3]\frac{t^3}{3!} + \cdots

tt の何乗かが、モーメントの住所になっています。 1乗の棚に平均、2乗の棚に2乗平均、3乗の棚に3乗平均。

もし tt がなく数値ひとつしか持てなければ、取り出せる情報も1個だけでした。tt を変数として抱えているから、無限個のモーメントを1本の関数に同時に格納できる。これが「分布の情報を1本の関数に詰め替えた」の意味でした。

顔③:和を積に変えるための係数

3つ目は最初の節で見たとおりです。指数の肩に XX を乗せるために必要な係数、という役割です。

おまけ:tt には単位がある

細かい話ですが、これも納得の助けになりました。tXtX は指数の肩に乗るので無次元でなければなりません。ということは、

  • XX が「秒」なら、tt は「1/秒」
  • XX が「円」なら、tt は「1/円」

ttXX を測る物差しの逆数です。「どのスケールで分布を覗くか」を決めている、と読めます。

用途①:和の分布を数え上げずに求める

tt の意味が分かったので、実際に何ができるかに移ります。最初の動機だった「和の分布」からです。

問題を立てます。

サイコロを10個振ったとき、合計の分布はどうなるか。

正直に数え上げると 610=60,466,1766^{10} = 60{,}466{,}176 通り。6千万通りを列挙するのは現実的ではありません。

ここで多項式を持ち出します。確率を係数として並べた関数を作ります。

G(x)=16(x+x2+x3+x4+x5+x6)G(x) = \frac{1}{6}\left(x + x^2 + x^3 + x^4 + x^5 + x^6\right)

これを10乗して展開すると、x35x^{35} の係数がそのまま「合計35になる確率」になります。実測 0.4 秒で答えが出て、合計35の確率は 0.07269 でした。

なぜこれでうまくいくのか

種明かしは多項式の掛け算の仕組みです。xa×xb=xa+bx^a \times x^b = x^{a+b} なので、指数は足され、係数は掛け合わされます

一方、独立な確率変数の和では、値が足され、確率が掛け合わされます

構造が完全に同じです。この操作は畳み込みと呼ばれ、まともに計算すると面倒なのですが、母関数の世界では単なる掛け算になる。これが母関数の本質でした。

念のため、n=2,3,4n = 2, 3, 4 については全数え上げと突き合わせて完全一致を確認しました(確率の総和もぴったり1)。

サイコロ1個・2個・3個・10個の合計の確率分布を並べた4連図。1個では一様だが個数を増やすと釣鐘型に近づき、10個では数え上げなら6千万通りになる分布が多項式展開で求まっている

図を見ると、個数を増やすにつれて自然に釣鐘型へ向かっていきます。これは後で中心極限定理として回収されます。

ここで混乱した:母関数は2種類ある

正直に書きます。ここで2つの母関数を混同していました

名前定義係数の中身
確率母関数G(x)=E[xX]G(x) = E[x^X]確率そのもの
積率母関数M(t)=E[etX]M(t) = E[e^{tX}]モーメント

サイコロの多項式で使ったのは確率母関数のほうです。x35x^{35} の係数が確率だったのはそのためでした。一方、微分してモーメントを出していたのは積率母関数です。別物です。

ただし両者は無関係ではありません。x=etx = e^t を代入すると完全に一致します(実際に確認しました)。同じ関数を、変数の取り方を変えて見ているだけでした。

使い分けはこうです。多項式として係数を読みたいときは GG、微分してモーメントを出したいときは MM なお GG が使えるのは、サイコロのように値が0以上の整数である分布に限られます。連続分布では MM だけを使います。

この区別を曖昧にしたまま読み進めると、「係数が確率なのかモーメントなのか」で必ず混乱します。私はここで一度つまずきました。

用途②:再生性が掛け算1回で証明できる

母関数が本当に強いのはここからでした。

まず基本の事実です。独立な X,YX, Y について、

MX+Y(t)=MX(t)MY(t)M_{X+Y}(t) = M_X(t) \cdot M_Y(t)

和の母関数は、各母関数の積。冒頭で「和を積に変える関数」を探した成果がこれです。

ポアソン分布でやってみる

ポアソン分布の母関数は eλ(et1)e^{\lambda(e^t - 1)} です。λ1\lambda_1λ2\lambda_2 の2つを掛けます。

eλ1(et1)×eλ2(et1)=e(λ1+λ2)(et1)e^{\lambda_1(e^t-1)} \times e^{\lambda_2(e^t-1)} = e^{(\lambda_1+\lambda_2)(e^t-1)}

指数部が足されただけです。そして右辺は、パラメータ λ1+λ2\lambda_1+\lambda_2 のポアソン分布の母関数そのもの

これで証明が終わりました。 「ポアソン分布を足すとポアソン分布になり、パラメータは足し算になる」という定理が、指数法則1回で出ました。

畳み込みで直接やろうとすると、無限和の計算に二項定理を持ち込む面倒な作業になります。それが不要になりました。

同じ手口で全部出る

この方法の強さは、使い回しが効くところです。

足すもの結果母関数での見え方
ポアソン(2) + ポアソン(3)ポアソン(5)λ\lambda が足される
正規(1, 1) + 正規(3, 4)正規(4, 5)μ\muσ2\sigma^2 が足される
指数(λ\lambda) を nnガンマ(nn, λ\lambda)指数が nn 乗される
χ2(k1)\chi^2(k_1)χ2(k2)\chi^2(k_2)χ2(k1+k2)\chi^2(k_1+k_2)自由度が足される

正規分布の場合は母関数が eμt+σ2t2/2e^{\mu t + \sigma^2 t^2 / 2} なので、掛けると肩が足されて μ1+μ2\mu_1 + \mu_2σ12+σ22\sigma_1^2 + \sigma_2^2 が現れます。分散が足されるのは標準偏差ではなく分散のほう、という第3回で確認した事実も、ここに自然に出てきます。

モーメントも機械的に出る

ついでに主要な分布のモーメントを、微分だけで出してみました。すべて教科書の値と一致しました。

分布積率母関数 M(t)M(t)M(0)=E[X]M'(0) = E[X]分散
二項(nn, pp)(1p+pet)n(1-p+pe^t)^nnpnpnp(1p)np(1-p)
ポアソン(λ\lambda)eλ(et1)e^{\lambda(e^t-1)}λ\lambdaλ\lambda
指数(λ\lambda)λλt\dfrac{\lambda}{\lambda - t}t<λt < \lambda1/λ1/\lambda1/λ21/\lambda^2
正規(μ\mu, σ2\sigma^2)eμt+σ2t2/2e^{\mu t + \sigma^2 t^2/2}μ\muσ2\sigma^2
ガンマ(α\alpha, β\beta)(ββt)α\left(\dfrac{\beta}{\beta - t}\right)^{\alpha}t<βt < \betaα/β\alpha/\betaα/β2\alpha/\beta^2

指数分布とガンマ分布に条件が付いています。つまみには回せる範囲がありました。 裾が指数的に減る分布では、重み etXe^{tX} の増え方が裾の減り方に勝ってしまう tt があり、そこで母関数は発散します。ただしモーメントを出すのに使うのは t=0t=0 の近くだけなので、実用上は困りません。

二項分布の分散 np(1p)np(1-p)第3回で手計算で導きました。母関数なら微分2回で同じ答えに着きます。覚える対象が「分布ごとの平均と分散」から「母関数1本」に減るのが実用上のうまみでした。

乱数で検算する

導出が合っていても、思い込みで間違えている可能性があります。それぞれ40万件の乱数で確かめました。

検証内容実測(平均・分散)理論値
ポアソン(2) + ポアソン(3)4.9992・5.00575・5
正規(1, 1) + 正規(3, 4)4.0038・4.99174・5
指数(1.5) を3個1.9994・1.33442・1.3333

再生性のシミュレーション検証。ポアソン同士の和・正規同士の和・指数を3個足した和のヒストグラムに理論分布の曲線を重ねた3連図で、いずれも完全に一致している

理論曲線とヒストグラムが3つとも重なりました。掛け算1回で出した結論が、乱数でも再現されています。

第6回が回収された

ここで気づいたことがあります。第6回では連続分布を「足したのか、掛けたのか、混ざったのか」という軸で整理しました。あの「足す」系の関係——指数を足すとガンマ、正規を足すと正規——は、すべてこの掛け算1本に集約されます

個別に覚えていた関係が、1つの原理に落ちました。第6回では「作られ方で分布が決まる」と書きましたが、その作られ方を計算する道具が母関数だったわけです。

一意性:この議論が成立している前提

ここで一度立ち止まる必要がありました。

上の証明では「母関数がポアソンの形になったからポアソン分布だ」と結論しています。これは当たり前でしょうか。

当たり前ではありません。母関数と分布が1対1に対応しているという保証があって初めて許される推論です。これが一意性の定理でした。

原点のまわりで母関数が存在するなら、母関数が一致すれば分布も一致する。

地味な定理ですが、これがなければ再生性の議論は全部崩れます。「形が似ている」だけでは同じ分布だと言えないからです。

条件が付いていることに注意が必要でした。すべての分布に母関数があるわけではありません。 コーシー分布や対数正規分布は t>0t>0E[etX]E[e^{tX}] が発散します。その場合は eitXe^{itX} の平均を取る特性関数という兄弟の道具に交代します(こちらは必ず存在する)。母関数は「使えるときは強いが、いつでも使えるわけではない道具」でした。

再生性は当たり前ではない

「和をとっても同じ種類の分布に留まる」のは特別な性質だと分かる例があります。一様分布です。

一様分布 (0,1)(0,1) の母関数は et1t\dfrac{e^t - 1}{t} です(t=0t=0 では 0/00/0 になるので、極限として M(0)=1M(0)=1 と読みます)。これを2乗しても、et1t\dfrac{e^t-1}{t} の形にはなりません

実際に一様分布を2つ足すと、平坦にならず三角分布になります。40万件で確かめると平均1.0007・分散0.1669(三角分布の理論値は1と 1/60.16671/6 \approx 0.1667)。

サイコロ2個の合計が7を頂点とする三角形になるのと同じ現象です。「一様なものを足したら一様」ではありませんでした。

低次のモーメントが一致しても分布は決まらない

もう一つの対比が効きました。平均2・分散1 を共有する2つの分布を並べてみます。正規分布と対数正規分布です。

左は一様分布を2つ足すと平坦にならず三角分布になることを示し、右は平均2・分散1を共有する正規分布と対数正規分布が全く違う形をしていることを重ねて描いた図

右の図のとおり、まったく別の形をしています。平均と分散が同じでも、分布は決まりません。

だから一意性の主張は「母関数まるごとの一致」という強い条件を要求します。「2次までのモーメントが同じ」では足りない。この対比を見て、一意性が単なる形式的な定理ではないことが分かりました。

中心極限定理の正体

いよいよ最大の応用です。

第1回で、私は中心極限定理をアニメーションと4パネルの図で扱いました。標本サイズを増やすと標本平均の分布が正規分布に近づく様子を見せて、歪度が 2/n2/\sqrt{n} に従うことまで実測しました。

ただし、あの回でやったのは、「近づく様子を見せた」だけです。なぜ近づくのかには触れていません。前回も「元の分布が何であれ正規に寄る」という事実を使う側に徹して、証明は預けたままにしました。

その預けた「なぜ」に、母関数が答えを持っています。

対数を取ると掛け算が足し算になる

母関数の対数を取ります。これをキュムラント母関数と呼びます。

K(t)=logM(t)K(t) = \log M(t)

和の母関数は積だったので、対数を取ると和になりますnn 個の和なら nn 倍です。扱いが一気に楽になります。

ここで各項を標準化します。Z=(Xμ)/σZ = (X - \mu)/\sigma として、その母関数を MZM_Z と書きます(平均0・分散1に直したもの)。展開すると次の収束が出ます。

nlogMZ ⁣(tn)t22n \log M_Z\!\left(\frac{t}{\sqrt{n}}\right) \longrightarrow \frac{t^2}{2}

そして et2/2e^{t^2/2} は標準正規分布の母関数です。一意性の定理があるので、母関数が正規分布の母関数に収束すれば、分布も正規分布に収束すると言えます。

つまり、「正規分布に近づく」の中身は「母関数が正規分布の母関数に近づく」ことだったわけです。

ひとつ注意があります。この筋道が使えるのは母関数が存在する分布に限られます。中心極限定理そのものに必要な条件は「分散が有限」だけで、母関数の存在は要りません。母関数を持たない分布でも定理は成り立ち、そこでは先に触れた特性関数を使って同じ議論をします。母関数版は「見通しのよい特別な場合」だと理解しました。

数値で確かめる

本当に t2/2t^2/2 に行くのか、指数分布を出発点にして確かめました。指数分布は強く右に歪んだ分布で、正規分布とは似ても似つかない形です。

λ=1\lambda = 1 の指数分布を平均0・分散1に直すと MZ(t)=et1tM_Z(t) = \dfrac{e^{-t}}{1-t} になります。t=1t = 1 における値を並べます。目標は t2/2=0.5t^2/2 = 0.5 です。

nnnlogMZ(1/n)n \log M_Z(1/\sqrt{n})
50.72785
300.57063
2000.52490

きちんと 0.5 に向かっています。

左は標準化した和の対数母関数がnを増やすとt^2/2の曲線に貼りついていく様子、右は同じことを分布の形で見た図で指数分布の鋭い山がn=30で標準正規分布に重なる

図の左が対数母関数の収束、右が同じことを分布の形で見たものです。左右は同じ現象の別の見方です。左で曲線が黒い破線に貼りつくことと、右で分布が釣鐘型に重なることが、一意性の定理で結ばれています。

歪度が消えるという事実

この見方をすると、中心極限定理のある性質がはっきりします。

展開したときに極限へ残るのは1次(平均)と2次(分散)の項だけです。3次の項には 1/n1/\sqrt{n}、4次には 1/n1/n と、次数が上がるほど速く小さくなる係数が掛かるため、nn を大きくすると消えていきます。

つまり極限では歪度や尖度の情報が消えます。

だから元の分布がどんな形でも、同じ極限に行き着きます。前回の問い——なぜ元の分布の情報が消えて正規分布だけが残るのか——の答えがこれでした。消えているのは3次以上の項、残っているのは平均と分散。第1回で指数分布から始めても正規分布に近づいたのも、このためでした。

ついでに、前回「指数分布は n=100n=100 でも近似が不足する」「コーシー分布は何個足しても無駄」という実測が出ていました。ここも説明がつきます。歪んだ分布は3次の項が大きいので、消えるまでに nn が要る。

コーシー分布はもっと根本的です。t0t \neq 0 では E[etX]E[e^{tX}] が無限大になり、そもそも母関数が作れません。平均も分散も存在しないので、残るべき1次・2次の項が最初からない。実際、コーシー分布は nn 個の平均を取ってもまったく同じコーシー分布のままです。近づくのが遅いのではなく、最初から最後まで動かない。

そしてこの事実が、この後の章を支えています。母集団の分布の形を知らなくても、標本平均の分布は平均と分散だけで扱える。 推定と検定の全体がこの上に立っています。母関数が「後半への土台」である理由がここでした。

コラム:試験の主題ではないが実務で効く使い方

ここからは寄り道です。これから出てくるチェルノフ上限と重点サンプリングは、準1級の出題範囲には入っていません。ただし tt に具体的な数を入れる場面として面白かったので、読み物として残します(なお節の後半で触れる指数型分布族は、範囲外ではなく後の章で顔を出します)。

実は私は最初、「tt に数を入れる場面なんてないのでは」と考えていました。t=0t=0 で微分するだけなら、tt は計算のための飾りに見えたからです。これは言い過ぎでした。

めったに起きないことを測る

問題を立てます。

サイコロを100個振る。合計の平均は350。では合計が450以上になる確率は?

正解は 1.52×1091.52 \times 10^{-9} です。10億回振って1〜2回という世界です。

まず第3回で扱った分散を使う方法(チェビシェフの不等式)を試すと、上限は 2.92×1022.92 \times 10^{-2} でした。真の値の1900万倍です。「3%以下です」と言われても、実際は10億分の1。何も言えていません。

ここで母関数を使うと、次の形の上限が得られます。

P(Sa)mint>0etaM(t)nP(S \ge a) \le \min_{t > 0} e^{-ta} M(t)^n

この min\min を探す作業が、まさに tt に数を入れて動かすことです。結果は 1.83×1081.83 \times 10^{-8}、真の値の12倍。桁が合いました。

サイコロ100個の合計が450以上になる確率を3つの方法で評価した図。厳密値と母関数を使うチェルノフ上限は桁が合うが分散だけのチェビシェフ上限は1900万倍緩い。右は最適なtで傾けると平均が4.5になる様子

最適な tt の意味がきれいだった

探索の結果、最適値は t=0.371t^* = 0.371 でした。この値に意味があります。

この tt で分布を傾けると、平均がちょうど 450/100=4.5450/100 = 4.5 になります。

つまりやっていることは、「450が"平均"になるような世界に分布を傾けて、そこでの計算を元の世界に換算する」。レアな出来事を、いったんそれが普通に起きる世界へ移して扱うわけです。

さきほどの「tt は分布を傾けるつまみ」という解釈が、そのまま手順になっていました。

シミュレーションが成立するようになる

もっと実感が湧いたのはこちらです。同じ確率をモンテカルロで求めようとすると、素朴な方法は破綻します。

方法20万回中の当たり推定値真値との比
素朴なモンテカルロ0 回0(推定不能)
tt^* で傾けてから補正103,433 回1.506×1091.506 \times 10^{-9}0.992

素朴に振ると20万回で一度も当たらず、推定値は0になります。10億回に1回なので当然です。

そこで tt^* で傾けた分布から乱数を出し、後で重みを掛けて元の世界の確率に戻します。すると当たりが10万回を超え、同じ計算量で真値の0.992倍まで当てました。測れなかったものが測れるようになっています。

これは重点サンプリングと呼ばれ、金融のリスク評価(損失が閾値を超える確率)、通信のビット誤り率、保険の破産確率などで標準的に使われる技法です。

IT の文脈だと、テールレイテンシや SLO 違反率の見積もりが同じ構造です。 「p99.99 を超える確率」を素朴な負荷試験で測ろうとしても、めったに起きないので観測できません。傾けて測るという考え方は、そういう場面で効いてきます。

統計理論そのものの土台でもある

もう一つ、これは試験範囲に効いてきます。

傾けた分布は q(x)etxp(x)q(x) \propto e^{tx}p(x) という形をしていました。これは指数型分布族のもっとも素朴な形(自然指数型分布族)そのものです。 このとき tt自然パラメータlogM(t)\log M(t)正規化項にあたります。

一般の指数型分布族は xx の代わりに十分統計量が入る形に拡張されますが、骨格は同じです。正規・ポアソン・二項・ガンマといった主要な分布を同じ枠組みで統一的に扱えるのは、この構造のおかげです。そして次回扱う最尤法やフィッシャー情報量の一般論も、同じ土台の上に立っています。

tt での重みづけは、8章以降で出会う道具の下地でした。

試験対策として必要なのは2つだけ

ここまで長く書きましたが、試験のために押さえるべきことは絞れます。

  1. t=0t = 0 で微分してモーメントを出すM(0)M'(0) が平均、M(0)M(0)2M''(0) - M'(0)^2 が分散)
  2. 掛け算で再生性を示す(母関数を掛けて、同じ分布の形になるか見る)

この2つです。チェルノフ上限と重点サンプリングは準1級の範囲を超えています。一方で指数型分布族は範囲外ではありません——第8章の十分統計量や第10章の検定法の導出で顔を出します。ただしこの第2章の段階で一般論まで踏み込む必要はなく、「etxe^{tx} で重みづけした形が後で戻ってくる」と覚えておけば十分でした。

検算として M(0)=1M(0) = 1 を確認する習慣も付けておくと、導出ミスに気づけます。

自分が間違えていたこと

今回は勘違いが多い回でした。正直に残します。

1. 確率母関数と積率母関数を混同していた

G(x)=E[xX]G(x) = E[x^X]M(t)=E[etX]M(t) = E[e^{tX}] を、どちらも「母関数」と呼んで行き来していました。係数が確率なのかモーメントなのかが曖昧になり、途中で話がつながらなくなりました。x=etx = e^t で一致するとはいえ、別物として区別すべきでした。

2. etXe^{tX} の因果を逆に理解していた

「テイラー展開すると便利だから、この形にしたのだろう」と思っていました。実際は「和を積に変える関数が必要」という要求から、指数関数しか選べなかった。便利さは結果であって理由ではありませんでした。

3. tt を計算用の飾りだと思っていた

t=0t=0 で微分して消すだけの変数に見えていました。実際には「分布を傾けるつまみ」であり、ddtlogM(t)\frac{d}{dt}\log M(t) が傾けた分布の平均になるという明確な意味がありました。この解釈を知ってから、M(0)=E[X]M'(0) = E[X] が公式ではなく当然の事実に見えるようになりました。

4. 母関数はどんな分布にもあると思っていた

「分布の情報を1本の関数に詰め替えたもの」と理解した結果、すべての分布に母関数があるつもりでいました。実際にはコーシー分布のように t0t \neq 0 で発散するものがあり、一意性の定理にも「原点近傍で存在するなら」という条件が付いています。便利な道具ほど、使える範囲を先に確認しておくべきでした。

この回で押さえること

問い答え
なぜ etXe^{tX} なのか和を積に変える関数が必要で、それは指数関数だけ
積率母関数とはモーメントを生み出す関数。M(t)=E[etX]M(t) = E[e^{tX}] という重みつき平均
tt とは分布を傾けるつまみ。t=0t=0 が元の分布。だから M(0)M'(0) が平均
何が楽になるのか畳み込みが掛け算になる。モーメントが微分で出る
再生性の証明母関数を掛けて、同じ形になるか見るだけ
一意性が要るのは「形が一致したから同じ分布」と言うため。これがないと全部崩れる
母関数の限界原点近傍で存在しない分布がある(コーシー・対数正規)。そこは特性関数の担当
中心極限定理の正体nlogMZ(t/n)t2/2n\log M_Z(t/\sqrt{n}) \to t^2/2。平均と分散だけが残り、歪度は消える
試験で必要なのはt=0t=0 での微分と、掛け算による再生性の2つ

一本の筋にまとめると、こうなります。

母関数は、面倒な畳み込みを掛け算に変える装置。etXe^{tX} という形も tt という変数も、そのために必要だったから存在している。

確率の土台が閉じた

今回で節目を迎えました。

内容状態
1章事象と確率第2回
3章分布の特性値第3回
4章変数変換第4回
5章離散型分布第5回
6章連続型分布・標本分布第6回・第7回
7章大数の法則・中心極限定理第8回
2章確率分布と母関数今回

第2章を最後に回したので、これで確率パートが全部埋まりました

振り返ると、母関数を最後に置いた判断は当たっていました。もし第2回あたりでこの章をやっていたら、「etXe^{tX} を微分するとモーメントが出る」という手続きだけを覚えて、何のためかは分からないまま通過していたはずです。分布を5つ以上見て、中心極限定理を現象として眺めた後だからこそ、「その全部を1本の関数で扱える」という話に意味が出ました。

順番を組み替えるという判断そのものが、今回いちばん効いた工夫だったかもしれません。

次回

次回からは推定と検定に入ります。第8章「統計的推定の基礎」です。

手元のデータから母集団の値を推し量るとき、何をもって「良い推定」と言うのか。最尤法・不偏性・フィッシャー情報量が出てくる回です。

今回見た指数型分布族の構造が、そこで効いてきます。tt を自然パラメータと呼んだあの形が、最尤推定の一般論にそのまま現れるはずです。土台が埋まった状態で、いよいよ本題に入ります。


この連載は、うまくいった記録だけでなく詰まった箇所も含めて書いています。今回は「なぜこの式なのか」を後回しにしたまま便利さだけ受け取っていたことが分かりました。同じく準1級を目指している方、一度挫折した方の参考になれば嬉しいです。