標本平均の分布が正規分布になることをシミュレーションで確かめてみた1
標本平均というのは、母集団から抽出した標本の平均値のことです。
言わずもがなですね。
ですから、標本平均は母集団の平均値であることが期待されるわけですが、残念ながらピッタリ一致することは滅多にありません。
母分散をサンプルサイズで割った分だけバラついてしまうことになっています。
上の式から、標本平均の分散は、
- サンプルサイズが小さいほど、大きくなる
- サンプルサイズが大きいほど、小さくなる
ということがわかります。
驚きなのは、が十分に大きければ、母集団がどのような分布であっても標本平均の確率分布は(近似的に)正規分布に従うことです。
このことを実感してみたくて、Excelでシミュレートしてみました。
- まず、母集団を作ります。
A列に1~100までの正数を入力して、C1セルに =RAND() と入力します。 -
C1セルの数式をC2~C100セルまでコピーして、B1セルに =C1/SUM($C$1:$C$100) と入力します。
-
B1セルの数式をB2~B100セルまでコピーします。
これで、B列にA列の確率変数の生起確率がセットされました。
【データ】→【データ分析】→【乱数発生】→【OK】をクリックします。 -
下図のように入力して、【OK】をクリックします。
-
E列に、N=1000の母集団が作られました。
-
ここで、以前作った<ヒストグラム出力マクロ>を作成中のブックの標準モジュールにコピペします。
-
【開発】→【マクロ】をクリック。
-
「HISTGRAM」を選択して、【実行】をクリック。
-
母集団のヒストグラムが生成されました。
なんらかの確率分布に従っているようには見えませんね。 -
ここで、以下のVBAコードを標準モジュールに入力します。
無作為抽出のアルゴリズムは、以下のサイトを参考にさせていただきました。
-
【開発】→【マクロ】→「Random_Sampling」を選択して、【実行】をクリック。
-
G~P列にn=10の標本が1000個、Q列に標本平均が入力されました。
-
Q1~Q1000を選択→ 「HISTGRAM」を選択して、【実行】をクリック。
-
n=10の標本の分布が生成されました。
標本平均の平均は母平均とほぼ一致、標本平均の分散もほぼになっています。