
正規分布の作り方、そして崩れ方
記事「サイコロでばらつき具合を体感する」でわかったことは「サイコロを100回程度投げた場合のグラフはデコボコで、再計算するたびに大きく動きます。1,000回投げるとだいぶ滑らかになって、10,000回投げるとグラフはほぼ一直線状になる」ということでした。
さて、ここから正規分布に向かいます。
正規分布を作る
「2つのサイコロの目の和」はどのような分布になるか。エクセルでやってみよう。
上をアレンジして、エクセルで正規分布を描け。もしくはもっと簡単に正規分布を描く方法を探せ。
以前の実習で1つのサイコロを投げ、続いて2つのサイコロを投げたのですから、その次に何をやれば良いかはおよそ見当がつくでしょう。
ただしこの場合も、サンプル数が少ないと偏りますから、少なくとも1,000個、できれば10,000個くらいのサンプル数でやった方がよりくっきりと形が見えるでしょう。
「サイコロ1つ」、「サイコロ2つ」、「サイコロ3つ」の目をそれぞれ10,000回発生させて、その和を集計したものが次のグラフです。

見ての通り、「サイコロ1つの目」のグラフはほぼ直線状に、「サイコロ2つの和」は折れ線に、「サイコロ3つの和」は山形のなめらかな曲線になりました。意外な結果に驚いた人もいることでしょう。
その「サイコロ3つの和」のような分布を「正規分布」と言います。足し算するサイコロの個数を4個、5個、…と増やしても、やっぱり正規分布になります。
ところで、正規分布というのは要するに理想形ですから、ぴったり正規分布というものは現実には無いんです。そして、現実に無い正規分布がどういうものかをきちんと説明するには、関数式を示さなければなりません。でもそんなことをすると、正規分布が無意味に難しくなってしまいます。大事なのは、感覚です。
だから、いいんです。先ほどのグラフは厳密には「正規分布に近いグラフ」なのですが、「正規分布だ」と言い切っちゃうことにします。まぁそういうことにしましょう。
もっと簡単に正規分布を作る方法
ところで、もっと簡単に正規分布を作る方法があります。それは「パスカルの三角形」を使う方法です。パスカルの三角形とは(図1)のようなもので、横並びの2つの数の和をその下に書いていくと出来上がります。そしてこれが (a + b) の n 乗 の展開式の係数になります。
ただし、このままではエクセルで処理しにくいので、(図2)のように左端をそろえた形にします。
(図2)のような表をエクセルで作るには、まず A 列を空けて(←ここがミソ)、セル B1 と C1 の値を 1 とします。

次にセル B2 の計算式を
= A1+B1
として、それを下方向・右方向コピーするだけ。これでパスカルの三角形の完成です。
続いて何行目かをグラフ化すれば、正規分布(に近いグラフ)になります。
「同じことをやるならなるべくシンプルに」やりたいものです。そして、これもまた「プログラミング的思考」の1つです。
さて、ここから次の話題です。前の記事「サイコロでばらつき具合を体感する」でわかったことは、基本的には「データ数が増えると正規分布に近づく」ということですが、いつもというわけではありません。例外もあります。なぜなのか、ではどんな波形になるのか、考えてみましょう。
データ数が増えると正規分布に近づくのか?
身長の分布をグラフにする場合、1クラスの人数ではなかなかきれいな正規分布になりませんが、1学年全体でやると正規分布にかなり近いグラフになります。
では、本校の中1から高3までの全生徒の身長の分布はどうなるでしょうか。
データ数が増えた分、さらにきれいな正規分布になるかと言うと、実はそうはなりません。むしろ高1全体の場合より正規分布から遠ざかります。なぜでしょうか? また、どんなグラフになるでしょうか?
《解説》しましょう。私の勤務校は「中高一貫の男子校」です。これがポイントです。
保健室から健康診断のデータをもらって、5cm幅で集計してみました。その結果、学年ごと(各300人)にグラフにすると、どの学年のグラフもほぼ左右対称で正規分布に近い形になります。ところが全生徒(1,800人)分をグラフにすると、頭が右に寄ったようなグラフになりました。

なぜでしょうか? その訳は、成長期の中学生と身長の伸びがだいぶ止まった高校生が混在しているからなんですね。
中学生だけ、高校生だけの学校ではこんな形にはならないでしょうし、男女共学の学校ではまた違った形になるかもしれません。「中高一貫の男子校」だからこそ、これだけくっきり現れたのでしょう。
さて、男女共学の学校だったら、どんな形になるでしょうか。男女別々に集計すれば、同学年ならほぼ正規分布に近い形になるのでしょうけれど、男子と女子では平均値が違いますから、男女を合わせた時点で正規分布から遠ざかるような気がします。例えばの話、ゾウ1万頭とアリ1万匹を合わせたら、正規分布どころか、ふた山の波形になりますよね(変な例えで、すみません)。私には検証できませんので、どなたかデータにアクセスできる環境にいらっしゃる方に検証いただけたら幸いです。
ところで、身長は普通 0.1cm 刻みで測りますが、集計するときは 5cm 刻みで集計しますね。そこの処理が意外と難しいのです。方法は2つあります。
1つ目は、各データを ROUND 系関数を使って丸める方法。例えば、
= ROUND (セル番地 / 5 , 0) *5
2つ目は、COUNTIF 関数の検索条件に不等式を組み込む方法。
= COUNTIF (セル範囲 , "< 数値" )
この辺のアイデアの出し方も「プログラミング的思考」の1つでしょう。
◇ ◇ ◇
〜 統計の勘所 〜
▷ サイコロでばらつき具合を体感する
▷ 正規分布の作り方、そして崩れ方
▷ 統計はなぜ難しいのか?