大数の法則と中心極限定理
結果には必ず原因があり、初期条件さえ特定できれば、結果は必ず同じになる。19世紀はそんな機械論的世界観が支配した時代です。そんな中、何度測定しても同じにならない現象があることに気づく人が出始めます。
惑星の公転運動は厳密な方程式で説明できているはずなのに、観測すると微妙に位置がずれます。初めは測定機器の精度が原因と思われました。いわゆる誤差(エラー)です。精巧な測定器が開発されれば問題は解決すると思われましたが、一向になくなりません。
しかし、この現象が測定誤差ではなく、測定対象自体が持っている確率分布によるものだと洞察した人物がいます。それがカール・ピアソン、その人です。
データを集めると見えてくる分布
ピアソン(1857~1936)は相関を発見したゴルトン(1822~1911)の弟子でしたが、ともに統計学の発展に寄与しました。彼は全ての分布が4つのパラメータ(平均、偏差、歪度、尖度)をもった歪んだ分布であると仮定しました。
そのパラメータを推定するには大量のデータが必要です。そこで、類希なる才能と博学の彼は頭蓋骨の容量からくちばしの長さに至るまで、世界中からデータを集め分布を求めます。大量にデータを集めれば、その分布は真の4つのパラメータを持つ分布に近づくはずだと…。
現実はピアソンの思い描く世界とは異なりました。歪んだ分布とは全く異なる様々な分布があることが後々、判明していきます。
歪んだ分布のうち、平均と偏差の2つしかないのが、釣鐘状の形が特徴的なガウス分布(正規分布)です。統計学で最も利用される分布であり、20世紀初頭における統計学の中核でした。*
実際、大量にデータを集めることで見えてくるものがあることは確かです。ここでは、データを収集すればするほど、効果を現す有名な法則と定理を紹介します。それは大数の法則と中心極限定理です。
大数の法則(law of large numbers)とは
例えば、サイコロを振って出る目の平均値を知りたいとします。理論値では1から6の合計を6で割った3.5なのですが(期待値ともいいます)、実際にサイコロを10回振っただけでは、出た目の平均値は大きく異なります。
でも100回も振ればある値に近づいていきます。その値が3.5、つまり理論値です。データ(標本数)を増やせば増やすほどその平均値は、母集団の平均値(真の値)に近づいていく…。つまり、経験的確率が理論的確率に限りなく等しくなる。それが大数の法則です。
コーシー分布のように期待値が存在しないと大数の法則は成立しません。
中心極限定理(central limit theorem)とは
母集団から標本を取り出して、平均値を計算することを繰り返し、その値をメモしていきます。何十、何百と集めて分布図を作ってみると、どのようになるでしょう。
なんと、それはガウス分布(正規分布)になります。面白いことに母集団がどのような分布であってもガウス分布になります。信じられない気がしますが、証明もされています。その定理を中心極限定理といいます。
ファットテールのように分散が無限大だと中心極限定理は成立しません。
試してみよう大数の法則と中心極限定理
実際に大数の法則と中心極限定理が成り立つのかどうか試してみましょう。試す確率分布は一様分布、ガウス分布、指数分布にしてみます。いずれも統計上、代表的な分布です。
| | *
| 一様分布 | ガウス分布 * 指数分布
| | |*
| | |*
| * * * * * * * * *|* | *
| * | * | *
| * | * | *
| * | * | *
| * | * | ***
| * | * | ***
| ** | ** | *********
+-------------------> <----------+----------> +------------------->
一様分布
サイコロに代表される分布です。発生する確率が同じ場合に使います。サイコロだと1から6の出る確率は全て同じ1/6です。
ガウス分布(正規分布)
自然界に多く見られる分布と思われていたのが、ガウス分布(正規分布)です(今では少数であることが知られています)。この分布が統計学で特別な意味を持つのは、中心極限定理があるからです。
指数分布
ランダムな事象が発生する(生起する)間隔が従う分布が、指数分布です。ベアリングの故障間隔、ガラスが割れる間隔など面白い事例があります。
大数の法則を試そう(一様分布)
6面あるサイコロをイメージします。そこで以下の実験を行ないます。
- 1~6の一様分布から10個取り出して平均を取る。
- 1~6の一様分布から100個取り出して平均を取る。
理論平均値は3.5になるはずですが、当然ピッタリにはなりません。rpnで一様乱数を発生させて、2つのケースを実験してみましょう。stemleafプログラムで幹葉表示して、平均を計算しています。
1 | 000
2 | 00
3 | 0
4 | 00
5 | 0
6 | 0
>rpn 6 ? -r 10 | rpn -c mean
2.9
3.5とはズレがありますね(誤差百分率は20.7%)。もうちょっと増やして100回にしてみます。
1 | 00000000000000000000
2 | 0000000000000000000
3 | 00000000000000
4 | 0000000000000000
5 | 00000000000000
6 | 00000000000000000
>rpn 6 ? -r 100 | rpn -c mean
3.36
3.5に近づいてきました(誤差百分率は4.2%)。度数を見ると大きなばらつきが減ってきているように見えます。大数の法則どおりですね。
大数の法則を試そう(ガウス分布)
次はガウス分布(正規分布)で試してみましょう。平均0、標準偏差1のガウス分布から標本をランダムに取り出します。
- ガウス分布(正規分布)から10個取り出して平均を取る。
- ガウス分布(正規分布)から100個取り出して平均を取る。
理論平均値は0になるはずですが、一様乱数同様、ピッタリにはなりません。rpnでガウス分布に従った乱数を発生させて、実験してみます。
>rpn 10 * -c stemleaf <tmp
-0 | 0356
0 | 0249
1 | 37
>rpn -c mean <tmp
0.3235
理論平均値と大きく異なります。実際、分布を見てみるとサンプルが少なすぎて、ガウス分布とは思えない代物です。100回試行してみるとどうなるでしょう。
>rpn 10 * -c stemleaf <tmp
-2 | 338
-1 | 00000111344557
-0 | 0001112223333455556666667788888999999999
0 | 0000011111111222223355557899
1 | 01122222445567
2 | 3
>rpn -c mean <tmp
-0.18412
平均が0に近づいてきました。幹葉表示を見ても釣鐘状に近づいてきていることが分かります。
大数の法則を試そう(指数分布)
最後に指数分布です。平均1の指数分布を使って、標本をランダムに取り出します。
- 指数分布から10個取り出して平均を取る。
- 指数分布から100個取り出して平均を取る。
理論平均値は1ですが、当然同じにはなりません。rpnで指数分布に従った乱数を発生させて、様子を見てみましょう。
>rpn 10 * -c stemleaf <tmp
0 | 1348
1 | 1347
2 | 3
3 |
4 |
5 | 2
>rpn -c mean <tmp
1.51396
理論平均値とはズレがあります。幹葉表示も指数分布の片鱗が僅かに見える程度です。100回の試行ではどうでしょう。
>rpn 10 * -c stemleaf <tmp
0 | 00000000011111111122222233333333333455556666677788899999999
1 | 001122334444555566667789
2 | 00112335569
3 | 029
4 | 02
5 | 8
>rpn -c mean <tmp
1.11783
平均は理論値に近づいています。また幹葉表示に指数分布の感じがとてもよくでていますね。
次は…
大数の法則が本当に機能するのかどうかを一様分布、ガウス分布、指数分布で試してみました。10回程度の試行では理論平均に全く近似しないことが分かります。一致するのはかなりの偶然です。
3つの分布ともに100回を超える試行回数で、かなり平均が理論値に近づいて、分布も元の確率分布に近くなることが見てとれます。つまり、データ数を増やせば増やすほど、大数の法則によって経験的確率と理論的確率が近似していくわけです。
次は中心極限定理です。どんな分布でも標本(サンプル)を取って平均すると、その平均値の分布がガウス分布(正規分布)になるという定理です。一見、ありえないように思える定理なのですが、実際に試すことでなるほどと腑に落ちてくるでしょう。
rpnプログラムを実行するには、rpn試用版かrpn標準版が必要です(バージョンの違いはこちら)。
stemleaf, rand-gau, rand-expはrpnマイスターパッケージに同梱されています。詳しくはプロダクトを参照ください。