株初心者が本気で儲けるブログ

株式投資・仮想通貨に関連するテーマについて取り扱ってます。

【R言語】 大数の法則の証明

 

 

www.dmjtmj-stock.com

 

に引き続いて今回は大数の法則が本当にそのとおりなのかを統計解析フリーソフトRを使って検証していきたいと思います。

 

まずRで簡単なサイコロを作ってみます。

 > dice <- 1:6


そして、このdiceで定義した1から6の数の中から無作為抽出をおこなっていきます。

無作為抽出にはsample()関数を使います。

 

> sample(dice, size = 10,replace=TRUE)
[1] 4 6 6 5 3 3 5 3 4 1

 

引数replace=TRUEを入れないととサイズがサンプルよりデカイだとかでエラーがでるので必要です。

 

んでこいつをヒストグラムで表すと

> hist(sample(dice, size = 10,replace=TRUE))

 

f:id:oruka199665:20170102233300j:plain

 試行回数が少ないので偏りがみられますね。

 

今度は試行回数を100回にして見ます

> sample(die, size = 100,replace=TRUE)
[1] 3 4 2 4 6 1 2 5 2 1 1 6 2 4 6 2 4 5 2 5 2 2 3 2 4 5 5 6 6 4 2 3 5 4 5 6
[37] 5 3 5 4 6 3 4 4 6 3 2 2 2 5 2 4 1 6 3 4 3 3 4 2 5 2 4 2 2 6 4 1 4 1 5 4
[73] 5 4 1 3 2 2 2 2 3 5 5 6 3 5 5 5 3 5 1 3 1 1 4 6 1 5 2 2

 

ヒストグラムにするとこんな感じになります。

 

f:id:oruka199665:20170102233622j:plain

 

だいぶ均等になってきましたね。ですが、まだバラつきが見られます。理論上では、さいころは1から6までのどの目も均等に1/6の確率で出るはずなので、目の出る回数は下のグラフのように、1から6まで均等のまっ平らになるはずです。

 

f:id:oruka199665:20170102234308j:plain

というわけで1000回してみます。

 

f:id:oruka199665:20170102234440j:plain

 

6の出る確率が少し高く、まだちょっとばらついてます。さらに、次は試行回数を1万回・・・そして10万回にしていきます。

 

・サイコロを1万回投げたときの目の出た回数

 

f:id:oruka199665:20170102234607j:plain

 

・サイコロを10万回投げたときの目の出た回数

 

f:id:oruka199665:20170102234812j:plain

 

どの目のでる回数も約16000回で一緒となり、理論上の確率である1/6にほぼ近似していますね。

 

こういうわけで試行回数が増やせば増やすほど実際にその事象の起きた確率は、理論上起きる確率に近くなっていくという大数の法則は間違っていないということが分かります。

 

次は中心極限定理の証明をしていきます。

 

 

 

www.dmjtmj-stock.com

www.dmjtmj-stock.com