Part11 4章　確率過程を理解する為の基礎概念 (大数の弱・強法則/中心極限定理)

※この投稿はシリーズものの一部です。
[part10](http://qiita.com/yuusei/items/36c2307069c4a8bdb9ee) <-[part1](http://qiita.com/yuusei/items/f8850a0efb74f68f988b)->[part12]なる早

[今回のRコードはこちら](https://github.com/yuusei-chidori/Blog-Codes/blob/master/Blog11)

前回、正規分布は中心極限定理のおかげで便利になった。と、書きました。今回は、次のエントリで確率過程について説明する予定もあって、 [株価をランダムウォーク、さらにはヒストグラムとして読み替え、平均と分散で議論する事ができるのです]()エントリと絡めて説明したいと思います。

# 準備
株価のリターン値一つ一つを確率的に独立した変数$X_i$とします。このリターンの値$X_i$は平均$\mu = 0$、分散$\sigma^2 = 1$の正規分布に従うとします。
つまり、株価リターンのサンプルをヒストグラムにすると、正規分布に近似できます。
※応用上はどうも違う様なのですが、ここでは説明に差し支えがないのでそうしておきます。

<img width="1139" alt="201_optimal_P.png" src="https://qiita-image-store.s3.amazonaws.com/0/138270/e0e4155d-2d09-506c-d5dd-e0752a05fde1.png">

このヒストグラムのサンプル一つ一つを$X_i$とした時、その合計の値$S_N = \sum{N}{i=1}$を定義した時、これをサンプル数で割り算した$S_N/N$が平均値$\mu$に近い値になるのは直感的に理解できると思います。

ここまでが前準備になります。

# 大数の法則 (Law of Large Numbers)
Wikipediaによると(寄らずとも)大数の法則は「弱法則」「強法則」の2パターンあります。

>大数の法則（たいすうのほうそく、英: law of large numbers）は、確率論・統計学における極限定理のひとつで、「経験的確率と理論的確率が一致する」 という、素朴な意味での確率を意味付け、定義付ける法則である。厳密には、ヤコブ・ベルヌーイによる大数の弱法則 (WLLN: Weak Law of Large Numbers) と、エミール・ボレルやアンドレイ・コルモゴロフによる大数の強法則 (SLLN: Strong Law of Large Numbers) とがある。単に「大数の法則」と言った場合、どちらを指しているのかは文脈により判断する必要がある。(引用元：[Wikipedia](https://ja.wikipedia.org/wiki/大数の法則))

大数の法則では強法則(Strong Law of Large Numbers-SLLN)の方が弱法則(Weakly Law of Large Numbers-WLLN)の方が上位的な立ち位置です。どちらも数列が極限に収束していくことを利用した前者は確率収束(Convergence in Probability)と言い、後者を概収束(Convergence “with probability 1”)といいます。前者は主に「極限に飛ばす前に確率を定めている」が、後者は「極限に飛ばしたあとの確率」を論じている。このあたりについては各個説明すします。

## 大数の弱法則(Weakly Law of Large Numbers)
大数の弱法則は「極限に飛ばす前に確率を定めている」ので、順番的には有限から無限に話を広げています。式にすると、任意の$\epsilon > 0$に対して

```math
\begin{eqnarray}
\lim_{N \rightarrow \infty} P[|\frac{S_N}{N}-\mu| > \epsilon]= 0
\end{eqnarray}
```

となります。これは「サンプルの合計をサンプル数で割った数(つまり幾何平均)と真の平均値の差が$\epsilon$よりも大きくなる可能性が、極限においては0になる」と言う事を言っています。もう少し砕けて言うと「サンプルの平均値と真の平均値がずれる確率は$N$を極限に飛ばせばゼロだよ」と言うことです。「サンプルの数を大きくしていけば、サンプルの平均は真の平均に近づく」と言う話の根拠です。

試しに、Rのrnorm(x)関数を使って確認して見ましょう。rnorm(x)関数はx個の「正規分布に従う」乱数を発生させるコマンドです。これを使って、実際に10万個のサンプルを発生させ、その平均値が$\epsilon = 0.01$よりも大きくなる確率を求めました。この0.01に深い理由はありません。小さい数字として使ってるだけです。

手順は

①rnorm(x)でx個のサンプルを発生させる
②平均値を取る
③平均値が0.01より大きかったらTRUE、そうでなければFALSEを返す
④これを10万回繰り返す(10万にも深い理由はありません。差が出そうな大きさとして使っています)
⑤10万回の試行を母数として、TRUEになる確率を求める
⑥これをxを5, 10, 50, 100, 500, 1000と変化させる。

①〜⑥までを一巡として、合計三巡しています。結果は、

<img width="646" alt="WLLN_5-1000.png" src="https://qiita-image-store.s3.amazonaws.com/0/138270/f0c716be-69c0-aaa1-cdf2-19229f30a0b3.png">

となりました。横軸が試行回数で右側に行くほどxの数が大きくなっており、縦軸が確率になります。
これを見ると、WLLNが成立しているのがわかるかと思います。

おまけ：計算時間が10分弱かかりましたが、xを10万にしてやって見ました。$\epsilon = 0.01$より大きくなったのは10万回中77回、確率は0.077%となりました。確かに確率はNが大きくなるにつれ0に近づいてます。極限では0になりそうです。

<img width="757" alt="WLLN_s-100000.png" src="https://qiita-image-store.s3.amazonaws.com/0/138270/3b391d10-4b16-4fb8-65cd-6850cf0e3f34.png">



## 大数の強法則(Strong Law of Large Numbers)
大数の強法則は極限に飛ばした後の確率を定義していますが、極限の計算は理論上の話。現実のシミュレーションでは不可能なので、$N$を大きくして行く過程だけを見せてお茶を濁したいと思います。ちなみに式はこれ

```math
\begin{eqnarray}
P[\lim_{N \rightarrow \infty} \frac{S_N}{N}=\mu] = 1
\end{eqnarray}
```

ここで見せるのは、rnorm(x)でxを大きくして行った時の平均値100個の平均がどの様に真の平均$\mu = 0$に収束していくかです。

手順は

①rnorm(x)でxを1〜1000まで変化させ、それぞれのサンプルの平均値を計算する
②これを100サンプル分繰り返す(つまり、100個のx=1〜1000までのサンプルができる)
③100サンプル全ての平均をとる

以上です。手順としては①だけでも良いのですが、Rの乱数生成には偏りがあると言う話を昔聞いているので、②と③を精神安定剤がわりに追加しています。

<img width="647" alt="SLLN.png" src="https://qiita-image-store.s3.amazonaws.com/0/138270/de46c706-2f46-5e31-6201-49d5e02ace7f.png">


だいたい400くらいのサンプル数で収束していますね。なんなら200で収束が始まっている感じがします。このまま収束しない気もするのですが、理論上は収束するし、証明もされています。

#中心極限定理 (Central Limit Theorem)
まずは式から

```math
\begin{eqnarray}
\lim_{N \rightarrow \infty}　P[ a \leq \frac{S_N- E[S_N]}{\sigma \sqrt{N}} \leq b] =
\int_{a}^{b} \frac{e^{-x^2/2}}{\sqrt{2} \pi}dx
\end{eqnarray}
```
ただし、$E[S_N]$は$S_N$の期待値です。

この中心極限定理は、先ほど大数の強法則の説明に挿入した画像の極限について解を与えてくれます。つまり「このまま収束しない気もする」に対して「収束の幅はどれくらいか？」「完全に収束するとどうなるのか？」です。

この式の右側が正規分布を表現しているので、答えは「正規分布になる」なわけです。乱暴な説明ですね。もう少し丁寧に説明すると、

これは$[a, b]$区間における$S_N$の理論値からのズレ$S_N- E[S_N]$が$N$を増やすごとに増えていくが、$\sigma \sqrt{N}$で除算しているため、ズレ幅は(多くの場合)有限になるだろう。そして、そのズレの分布は正規分布に従うよ。

と言っているわけです。

試しに、正規分布に従う乱数を発生させ、そのズレを$\sigma \sqrt{N}$で除算してみました。$N=100000$で3000回繰り返し、ヒストグラムにプロットします。

<img width="628" alt="CLT.png" src="https://qiita-image-store.s3.amazonaws.com/0/138270/5e98fff6-3a0c-833b-61a8-fc5e465cb972.png">

それっぽいですよね。今回は正規分布に従う乱数でしたが、一様分布やポアソン分布に従う乱数でやるのも楽しいかなと。

さて、前回の繰り返しになりますが、中心極限定理は「真の平均値からのズレの分布」についての議論であって「(サンプル)平均値の分布」ではないわけです。ですので、品質工学やMSAにおいて「製品サイズのズレ量の調査」をする際に

「製品を複数回測定した時の平均値が○○cmだから、この製品はサイズが○○cmだ」

は若干乱暴な議論で

「サイズのバラツキの中心が○○cmだと思われるが、そこに真の値があるとは限らない。だが真のサイズは平均○○cmで標準偏差××cmくらいの正規分布の中に収まるはずだ」

と表現するのが適切になります。が、こんなことをイチイチものつくりの住人以外の人に説明しても理解はして貰うのは難しいでしょう。なぜなら彼らは製品が規格どおりにできていれば良いので、数式なんかには興味がないからです。

・・・最後に若干苦い思い出が入りましたが、これでランダムウォークと金融工学を説明する準備ができました。次は導入として、ランダムウォークとウィーナー過程の関係、及びドリフト項のあるウィーナー過程に関する絵での直感的な説明ができればなと思っています。

なお、ここで使ったコードについては[こちら](https://github.com/yuusei-chidori/Blog-Codes/blob/master/Blog11)にあります。