Science

特性関数・生成関数とは【確率分布の統計量を楽に計算しましょう】

特性関数・生成関数とは【確率分布の統計量を楽に計算しましょう】

 

Yuma
Yuma
実は、確率分布から直接m次モーメントなどを計算するのが困難なときが結構あります。今回は、これらの計算をより簡単にできる特性関数・生成関数を説明していきます。

この記事では、容易にm次モーメントを計算する道具である『生成関数・特性関数』を具体的に数式を使いながら解説していきます。

m次モーメント?』という人は下記の記事(10分程度で読み終わる)を参考にして理解してから読み進めてください

*(iphone・Androidの方へ)数式はスクロール可能です。

一変数確率分布関数の基本(確率分布を特徴つける7つの量)一変数確率分布を特徴つける量の理解は、機械学習や量子力学・統計力学を学ぶ上で必要不可欠です。この記事では、一変数確率分布を特徴つける量をサクッと理解できるように簡単に解説しながらまとめました。...

 

統計量の計算を楽にする特性関数・生成関数とは

以下の説明は連続型確率変数を用いて解説していきます。

離散型確率変数で考えたい場合は以下の変換をして考えてください

$$ \int \cdots p(x) dx \rightarrow \sum_{n} \cdots p(x_{n}) $$

 

簡単にいうと、特性関数や生成関数とはm次モーメントを容易に計算するための道具のようなものです。

*具体的な使い方は後ほど解説します。

特性関数の定義

 

特性関数は具体的に、確率変数\(X\)の確率分布\(p(x)\)における\( e^{i \xi x} \)の期待値として以下のように定義されます。

$$ C(\xi) = \langle e^{i \xi x} \rangle = \int e^{i \xi x} p(x) dx $$

*離散変数の場合は以下のように定義されます

$$ C(\xi) = \langle e^{i \xi x} \rangle = \sum_{n} e^{i \xi x} p(n) $$

気づいた方もいるかもしれませんが

特性関数は、確率分布\(p(x) \)のフーリエ変換になっています。

また、特性関数は任意の確率分布に対して一意に定まります。

特性関数と生成関数の違いは、\( \langle e^{i \xi x} \rangle\) (特性関数)か \( \langle e^{ \xi x} \rangle \) (生成関数)の違いです。

どちらもモーメントを求めることができます。

 

モーメント生成関数(母関数)の定義

 

モーメント生成関数(母関数)は、確率変数\(X\)の確率分布\(p(x)\)における\( e^{\xi x} \)の期待値として以下のように定義されます。

$$ M(\xi) = \langle e^{\xi x} \rangle = \int e^{\xi x} p(x) dx $$

*離散変数の場合は以下のように定義されます

$$ M(\xi) = \langle e^{\xi x} \rangle = \sum_{n} e^{\xi x} p(n) $$

モーメント母関数の場合は、確率分布によっては存在しないものもあります。

 

特性関数・モーメント生成関数の使い方

ここでは、特性関数とモーメント生成関数からm次モーメントを求める方法について解説していきます。

勘の鋭い方はどのように導出するか気づいているかもしれませんね。

Yuma
Yuma
時間に余裕がある人はここで立ち止まり、どのようにm次モーメントが求められるのか考えてみましょう。

特性関数からm次モーメントの導出

 

特性関数は\( \xi = 0 \)で解析的であるとき以下のように展開することができます

$$ C(\xi) = \int e^{ i \xi x} p(x) dx = \sum_{m = 0}^{\infty} \frac{(i \xi)^{m}}{m !} \int x^{m} p(x) dx $$

まとめると

$$ C(\xi) = \sum_{m = 0}^{\infty} \frac{(i \xi)^{m}}{m !} \langle x^{m} \rangle $$

この両辺を\( \xi \)で\(m\)階微分して、\( \xi = 0 \)を代入すると以下のように変形することができます。

$$ i^{m} \langle x^{m} \rangle = \left. \frac{d^{m} C(\xi)}{d \xi^{m}}\right|_{\xi = 0} $$

もう少しわかりやすいように書き直すと以下のようになります

$$ \langle x^{m} \rangle = \left. \frac{1}{i^{m}} \frac{d^{m} C(\xi)}{d \xi^{m}}\right|_{\xi = 0} $$

特性関数を\(xi\)でm階微分して\(\xi = 0 \)を代入すればm次モーメントを出すことができます

なので、もし解析的にm次モーメントが出せない時は、特性関数を求めて数値的に微分することで算出することができますね。

モーメント生成関数からm次モーメントを導出

 

次は、モーメント生成関数からm次モーメントを導出していきます。

モーメント生成関数も\( \xi = 0 \)で解析的なとき以下のように展開することができます。

$$ M(\xi) = \int e^{\xi x} p(x) dx = \sum_{m = 0}^{\infty} \frac{(\xi)^{m}}{m !} \int x^{m} p(x) dx $$

同様にまとめると以下のように書き直せます

$$ C(\xi) = \sum_{m = 0}^{\infty} \frac{(\xi)^{m}}{m !} \langle x^{m} \rangle $$

この両辺を\( \xi \)で\(m\)階微分して、\( \xi = 0 \)を代入すると以下のように変形することができます。

$$ \langle x^{m} \rangle = \left. \frac{d^{m} C(\xi)}{d \xi^{m}}\right|_{\xi = 0}$$

特性関数よりスッキリした形でm次モーメントを導出することができましたね。

 

参考文献(特性関数・生成関数)

 

 

 

まとめ

 

特性関数・モーメント生成関数は、m次モーメントを容易に計算するための道具のようなものです。

つまり、m次モーメントを求めづらい時は確率分布\(p(x) \)をフーリエ変換して\( \xi \)で微分して\( \xi = 0 \)を代入すれば求まるということですね。

統計力学等で使う場面も出てくるので習得しておきましょう。

物理数学』をもっと詳しく学びたい人は下記を参考にしてください

確実に力がつく物理数学の参考書10選【東大生のオススメ】物理数学は物理を学ぶためには必要不可欠です。この記事では、私の経験から確実に力がつく物理数学の参考書を10冊に厳選して紹介しました。詳しい内容は記事を参考にしてください。...
ABOUT ME
努力のガリレオ
【運営者】 : 東大で理論物理を研究中(経歴)東京大学, TOEIC950点, NASA留学, カナダ滞在経験有り, 最優秀塾講師賞, オンライン英会話講師試験合格, ブログと独自コンテンツで収益6桁達成 【編集者】: イングリッシュアドバイザーとして勤務中(経歴)中学校教諭一種免許取得[英語],カナダ留学経験あり, TOEIC650点