Hatena::ブログ(Diary)

小人さんの妄想 このページをアンテナに追加 RSSフィード Twitter

2017-03-10

正規分布の導出

■ 予備知識

1.正規分布の骨格は、係数や規格化を除けば

  f(x) = exp( - x^2 )

 要は、2乗=「左右がおんなじで」、指数減衰=「だんだん減っていく形」です。

* 参考: 第6話 押しも押されぬ、正規分布は√π >> http://miku.motion.ne.jp/stories/06_NormDist.html


2.指数は、掛け算を足し算に直す。

  exp( A )・exp( B ) = exp( A + B )

 底の違いや定数倍を別にすれば、掛け算を足し算に直す計算は指数しか無い。

以上、予備知識おしまい。


正規分布の導出

1.平面の的にボールを当てることを考える。

 ボールが中心から外れる誤差の分布を f(r2) としよう。

  r2 は、中心からボールが当たった点までの距離(の2乗)を表す。

 この f が、具体的にどのような関数なのかを知りたい。


2.誤差はあらゆる方向に対して独立(相互に影響しない)とする。

 横方向 x の誤差は、f( x^2 )。

 縦方向 y の誤差は、f( y^2 )。

 合わせた誤差は、f( x^2 )・f( y^2 )。

 なぜ掛け算かというと、x と y が同時に起こる確率は、x と y それぞれの確率の掛け算になるから。


3.的の中心からボールが当たった点までの距離(の2乗)は、x^2 + y^2 。

  ということは、

   ( x と y が同時に起こる確率) = (的の中心から外れた確率)

    f( x^2 )・f( y^2 ) = f( x^2 + y^2 )

 これは、掛け算を足し算に直す計算なのだから、指数である。


4.つまり、独立した誤差を合わせた確率分布の骨格は、

  f(x) = exp( a x^2 )

の形となる。

係数 a がプラスであるとは考えづらい(発散するので)。

結局のところ、確率分布は、

  f(x) = C exp( - A x^2 )

の形となる。

これが正規分布だ。

あとは係数 A と C を規格化条件(全部合わせて100%になること)から決めればよい。

f:id:rikunora:20170311101208p:image

以上は、ハーシェルによる証明(1850)を焼き直したものです。

* 科学哲学ニューズレター No.5: ハーシェルによる最小2乗法の簡単な証明

>> https://www.bun.kyoto-u.ac.jp/philosophy_and_history_of_science/phs-archives/newsletters/newslet_5.html

あまりにも簡明な導出に驚き、ここに再掲しました。

上のリンク先によると、

『若きマクスウェルはこの論証を含むハーシェル論文を読んで、強い感銘を受けたと思われる』

のだそうです。

気体分子運動の「マクスウェルの速度分布」は、上の議論を2次元の的から3次元の空間に拡張したものです。

「分子運動があらゆる方向に対して独立である」というシンプルな仮定から、正規分布の骨格が導かれます。


* 参考: EMANの物理学マクスウェルの速度分布

>> http://eman-physics.net/statistic/maxwell1.html


■ 様々な導出

歴史的に見れば、ド・モアブルによる「二項分布の極限」が源流でしょう。

他にも、中心極限定理ブラウン運動(ウィーナー過程)、実験したらそうなった、

などなど、いろいろな導出方法があります。


* 七つの正規分布正規分布はどこから来たのか?−

>> http://www.psych.or.jp/meeting/proceedings/75/contens/poster/pdf/1AM038.pdf

* 参考: T_NAKAの阿房ブログ: 正規分布の導出について

>> http://teenaka.at.webry.info/201412/article_3.html


■ 本格的な導出

上記の2次元、3次元、といった独立した誤差の数をもっと増やせば、一般的な議論が成り立ちます。


ある大きさ e の誤差が実現する確率を f(e) という関数で表せば、

e1, e2, e3・・・en という n個の誤差の要因が独立に働いた結果の確率は、

 P = f(e1)・f(e2)・f(e3)・・・f(en)

となります。

以下、目的は「もっとも自然な仮定のもとに」f(e) の形を決定することです。


誤差とは、真の値 X との差であると考えます。

個々の観測値を x1, x2, x3・・・とすると、

 e1 = (x1 - X)、e2 = (x2 - X)、e3 = (x3 - X)・・・

です。

実現する確率 P を、真の値 X の関数として考えると、

 P(X) = f(x1 - X)・f(x2 - X)・f(x3 - X)・・・

となるでしょう。


ここで1つ、尤もらしい仮定を置きます。

「実際に起こった x1, x2, x3・・・は、確率 P(X) を最大とするものである」

これが、いわゆる「最尤原理」です。

P(X) が真の値 X で最大となるのなら、X で微分すれば 0 になるということです。

まず、両辺の対数をとります。

 log( P(X) ) = log(f(x1 - X)) + log(f(x2 - X)) + log(f(x3 - X))・・・

  ※ なぜここで対数が出てくるかというと、

  ※ 手に負えそうも無い掛け算の塊をなんとか分解して、

  ※ 微分できる形に持っていきたいと知恵を絞った所産です。

  ※ 上記2次元の例でも分かる通り、「掛け算と足し算の橋渡し」が本質的な意味を持ちます。

これを X で微分すると、

 { log( P(X) }' = {log(f(x1 - X))}' + {log(f(x2 - X))}' + {log(f(x3 - X))}'・・・

 P'(X) / P(X) = - f'(x1 - X)/f(x1 - X) - f'(x2 - X)/f(x2 - X) - f'(x3 - X)/f(x3 - X)・・・

これが 0 になるということですから、

 f'(x1 - X)/f(x1 - X) + f'(x2 - X)/f(x2 - X) + f'(x3 - X)/f(x3 - X)・・・ = 0

式が見にくいので、もとの e1, e2, e3・・・に戻しましょう。

 f'(e1)/f(e1) + f'(e2)/f(e2) + f'(e3)/f(e3)・・・ = 0

以下、いちいち書くのがめんどくさいので、

 φ(e) = f'(e)/f(e)

とおきます。

 φ(e1) + φ(e2) + φ(e3)・・・ = 0   ・・・★式

この ★式が、関数 f の満たすべき条件です。


さて、ここで問題としている誤差は、系統誤差では無く偶然誤差なので、

誤差の合計は 0 である(おしなべてプラスにもマイナスにも同等に作用する)としましょう。

 e1 + e2 + e3 ・・・ = 0

とある誤差 e1 に着目すると、

 e1 = - (e2 + e3 + e4・・・)

e1 は残りの誤差 e2, e3, e4・・・の関数であると見て、

上の式を e2, e3, e4・・・で順に偏微分します。

 ∂e1 / ∂e2 = -1

 ∂e1 / ∂e3 = -1

 ∂e1 / ∂e4 = -1

  ・・・

この関係は、全ての誤差の組み合わせについて成り立ちます。

 ∂ei / ∂ej = -1 (i≠j)   ・・・☆式

ある1つの誤差を動かすと、別の誤差はそれを打ち消すように動く、ということです。


各誤差同士の動き方が分かったところで、先の★式に戻ります。

とある誤差 e1 を、残りの誤差の関数 e1( e2, e3, e4 ・・・) であると見なして、

★式を e2 で微分してみます。

 φ'(e1)・(∂e1/∂e2) + φ'(e2) + 0 + 0 ・・・ = 0

1項目は合成関数微分だよ。

e3 以降の項は e2 を直接含まないので(独立なので)全て 0 。

ここで ☆式“誤差が互いに打ち消すように動く”ことを思い出して、

 φ'(e1)・(-1) + φ'(e2) = 0

 φ'(e1) = φ'(e2)

同じことは、全ての誤差の組み合わせについて成り立つので、

 φ'(e1) = φ'(e2) = φ'(e3) = φ'(e4) ・・・

これがどんな e についても成り立つということは、φ'(e) は定数関数である、ということです。

定数関数 φ'(e) を積分すると、

 φ(e) = a e + C

    ( a, C は任意の定数)

なのですが、★式から C=0 であることが分かるので、結局

 φ(e) = a e

です。

φ(e) を元の形に戻すと、

 f'(e) / f(e) = a e


ここまでくれば、あと一息。

あとはこの微分方程式を解いて(変数分離形ですね)、

 (d/de)( f(e) ) / f(e) = a e

 ∫ 1/ f(e) df = ∫( a e ) de

 log( f(e) ) = (a/2) e^2 + C0

 f(e) = exp( (a/2) e^2 + C0 )

    = C1 exp( -C2 e^2 )

おつかれさま。確かに正規分布の骨格が出てきました。


* 参考: ガウス分布の導出

>> http://www.eng.niigata-u.ac.jp/~nomoto/7.html


正規分布の“もっとも自然な仮定”とは

以上の導出に用いた仮定を列挙してみましょう。

1.複数の独立した誤差の要因が結果に作用する。

2.誤差の合計は0。おしなべてプラスにもマイナスにも同等に作用する。

3.最尤原理「実際に起こった x1, x2, x3・・・は、確率 P(X) を最大とするものである」

これらの仮定を満たす状況であれば、結果は正規分布に従います。

改めて仮定のリストを眺めてみると、どれも自然なものばかりです。

なので、実際に非常に多くの状況で正規分布が現れるわけです。

もし上の仮定が成り立たなければ、結果は正規分布から外れます。

例えば変数が上限や下限の影響を大きく受ければ、仮定2.が崩れるので、正規分布にはなりません。

いかなる場合に正規分布と見なしてよいのか、このリストから判断が付くことになります。


T_NAKAT_NAKA 2017/04/07 09:08 私の記事を引用して下さり、ありがとうございます。
かつて同じような「正規分布の導出」http://teenaka.at.webry.info/200604/article_7.html という記事も書いていましたが、どうも論理の飛躍があってしっくりしませんでした。rikunora さんの記事を拝読させていただいてスッキリしました。ありがとうございます。

rikunorarikunora 2017/04/09 10:01 正規分布はこれほど使われていながら、導出が示されているページはとても少ないです。
その中にあって、T_NAKAさんは以前から様々な導出を試みられていたので、とても参考になりました。
、、、というより、そのものですね。
私も長らく疑問だったのですが、最近上の「ハーシェルの証明」というものを知って、自分なりに納得できました。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/rikunora/20170310/p1