趣味の統計

心理統計のはなし(偏差への偏愛ともいう)。Web上に散らばっている「アンケート」へのつっこみ。その他。

モンテカルロシミュレーション

アニメーションによる統計学

サイコロシミュレーションに続いて、モンテカルロシミュレーションツールを作成しました。
www.hanmoto.com
この本の3章、3.1.4節に、正規分布曲線の±1.96σ内の面積を、ランダムプロットを用いて推定するコードが示されています。これを、Javascriptに移植したものです。

プロットの位置で色分け

そのまま移植するだけでは面白くないので、p5.js らしく、プロットが順に増えていく様子がみえるようにしました。といっても、数万個のプロットを1個ずつ打っていくのはさすがに時間がかかりすぎるので、10個ずつとか、20個ずつとか、まとめて打つようにしています。
また、プロットの位置によって色分けをしています。正規分布曲線とX軸との間にあるときは青、そのうち±1.96σの内側にあるときは赤にします。青と赤のプロットの数を数えておき、(赤÷(赤+青))で、±1.96σ内の面積が推定できます。
図は、プロット数を50000にしてシミュレーションした結果です。

ほぼ全面に色がついたようになっていて、±1.96σ内の面積は0.9513となりました。理論的にはほぼ0.95になるはずなので、かなりいい線行っていますね。
書籍内のRスクリプトでは、このような色分けはしていませんが、スクリプトを書き換えるのはそんなに難しくないと思います。挑戦してみるのも面白いでしょう。

シミュレーションサイトはこちら

almondfish.starfree.jp
遊んでみてください。