So-net無料ブログ作成
検索選択

コイン投げで中心極限定理 [Math]

scilab でシミュレーションしてわかった気になるシリーズ第二弾です。

コイン投げで表=1、裏=0とすると、平均値は0.5、分散は0.25。コイン投げというとなぜか n 回投げて x 回表が出る確率が二項分布になる話が多いですが、今回は平均0.5で分散が0.25/√n になるのをサクッと scilab で見てみることにします。

1.n回コインを投げる
2.平均値をプロット
....というのを100回繰り返す。

n を大きくしていくとばらつき(分散)が小さくなって、収束していく

n=10
binomial_5.png

n=100
binomial_100.png

n=500
binomial_500.png

ほんとだ、正規分布になっていて、 n が増えるほど分散が小さくなっている。

Scilab のコード。Github にもおいてあります。
clear;

// sampling num
samplenum=500;
// number of repetition
repeat=100;

// coin toss
R=grand(samplenum,repeat,'uin',0,1);
Avgs=mean(R,'r');
histplot([0:0.01:1],Avgs)

avg=1/2;
s=sqrt((1/4)/samplenum);
x=[0:0.01:1];
plot(x,(1/(s*sqrt(2*%pi)))*exp(-((avg-x).^2)./(2*s^2)));





Scilabで中心極限定理 [Math]

中心極限定理という統計学の定理がありまして、何度聞いても
わかったような、わからないような。なので Scilab でサクっと
シミュレーションして、わかった気になろうという思いです。

標本平均は一定数の観測値を集めて平均したもの。サイコロなら100回
振って出た数の平均値のこと。

この平均値をいくつも集めてると正規分布になるという。
もとの現象の分布は関係ない。サイコロはどれが出るかは1/6で
一定に分布している。でも標本平均を何回もとると正規分布になる。

真の平均値μ、分散σ^2という現象を観測していたなら、
n個の標本平均をとると、標本平均の分布は、平均μ、分散はσ^2/√n
になるという。

サイコロの場合は平均=3.5、分散=2.92。これを使って Scilab で見てみます。

1000回サイコロを振ったヒストグラムをプロット。
1roll.png

それを10回繰り返し、1回あたりの平均を取った(10このサイコロを1000回振って、
各サイコロの平均を取ったのと同じ)。
10rolls.png

繰り返しを200回にしてみた。
ついでに平均=3.5、分散=√2.92/200の正規分布を描いた。
200rolls.png

あー、なってますね。正規分布に。

グラフ作成に使った scilab のコード
clc;

// number of repetition
repeat=10;
// draw dice 10 times. and repeat it.
X=grand(1000,repeat,'uin',1,6);
// avarage of repetition
R=mean(X,'c');
// plot histgram
histplot([0:0.1:6],R);
title="Frequency distribution of dice face with " +string(repeat)+" roll(s)";
xtitle(title,"dice face","Frequency");

avg=3.5
s=sqrt(2.92/repeat);
x=[0:0.01:6];
plot(x,(1/(s*sqrt(2*%pi)))*exp(-((avg-x).^2)/(2*s^2)));


GitHub からダウンロードできます。


ブログに数式を書く方法 [Math]

ググってみたら学生時代にtexの使い方でお世話になった美文書作成入門の奥村先生の
ブログに書いてあった。

参照元
Webで数式を簡単に使う方法

次のように書くと


このように表示される。

おお!簡単。