あおきのモンテカルロシミュレーション入門(後半) #5
みなさん、こんにちは!タキプロ6期生のあおき@大分です。
四月も終わりが近づき梅雨の時期がそろそろやってきますね。
じめじめな嫌な気候がしばらく続きますが、
ここはひと踏ん張り!頑張っていきましょう!
さて、今日は前回(#4)の続きで、
モンテカルロシミュレーション(以下、MC法)を使い、
円周率をシミュレーションしてみたいと思います。
このMC法を使った円周率計算はエクセルで出来る
非常に簡単で有名なものなので是非お時間があれば
手を動かして実践してみてください!
エクセルには「=rand()」と言った、
0より大きく1より小さい値をランダムに出す関数があります。
その関数をエクセルのA列、B列に入力し、それを1ペアとし、
X軸、Y軸上にプロットします。
(0<X<1、0<Y<1の二次元空間に
ランダムな点を大量に打つイメージ)
そしてプロットされた点と原点の距離が
1以下のプロット数をMとすると、
「M/総プロット数(円の面積/4)=π/4」と方程式が立てられ、
π=4M/総プロット数より円周率を計算することが出来ます。
実際にプロット数を大きくしていくとπは下記の値になります。
50回:3.28
100回:3.21
1000回:3.164
10000回:3.1336
100000回:3.14388
1000000回:3.142964
上記を見ると実際πに近づいている事が分かります。
さすがに1000000回やってる時は、
私のパソコンの動きも若干重くなりました。
正直この数字を見て精度が良いのか悪いのか判断出来ませんが、
家庭にあるレベルのパソコンを使い、求めたものとしては
高い精度が得られているのではないでしょうか。
今回は円周率を求めましたが、
仮に企業のバリュエーションや収益分布を求めたいと思った場合、
1円単位では考えず、100、1000万円単位で考える事になります。
そのように考えると、
十分過ぎる精度をMCから得ることが可能と判断して良いでしょう。
是非皆さんもこのシミュレーションに対して、
少しでも興味を抱いて頂けたら幸いです♪
====================
タキプロ勉強会のお知らせ
タキプロでは各地域で勉強会を開催しています。
地域をクリックするとジャンプします。
====================