初めて学ぶPythonと統計学・入門④~テストの得点分布から学ぶ分散と標準偏差~

Pythonと統計学・入門講座④です。前回では平均値や中央値、最頻値といったデータの分布の代表となるような値、すなわち代表値について学びました。しかし上のような代表値だけでは分布のことを説明するのにはまだ足りません。それではケーススタディーで分散と標準偏差について学びましょう。

ケーススタディー

10人の生徒があるAとBの二つのテストを受験しました。その結果が下にあります。二つのテストの違いはいったい何なのかについて考えてみましょう。

A=[10,20,30,50,50,50,50,70,80,90]

B=[40,45,45,50,50,50,50,55,55,60]

AとBの値はそれぞれ確かに違いますね。それではどのように違うと説明できるでしょうか。

実はこの二つのテストは平均値、中央値、最頻値ともにすべて50なんですよね。そこでこの二つの分布の違いを説明するためには平均値などとは異なる尺度が必要となります。よくよく見てみるとBのテストは得点が50点付近に密集していますが、Aでは10点から90点と幅広く点数が存在しているように見えますね。このように分布全体の散らばり方を示す指標がこの二つのテストの違いを説明する鍵となります。

その散らばり具合を示す指標の中で最も代表的なのが分散と標準偏差になります。

分散と標準偏差についての学習

まずは分散から勉強していきましょう。

分散とはある値と平均の差を2乗したものの和の平均となります。えっ、何で2乗するの?と思われたかもしれません。Aのテストで散らばり具合を計算したいと考えます。もし、ここで平均とそれぞれの値の合計値を取ってみるとどうでしょうか。

上の計算のようにただ差を取って合計するだけでは結果0になってしまいます。それは平均値より小さい値と大きい値で相殺しあってしまうからです。

そこでただ差を合計するだけでは0になってしまうので、それを回避するために差を二乗して合計し、それを個数で割ることで分散を求めるようになりました。そうすると

また、Bの分散を求めると

このように散らばりの指標である分散を求めるとAが580でBが30であることが分かります。分散の値が大きいAのデータの方がデータが散らばっており、分散の値の小さいBのほうが散らばりが小さく得点が平均点近くに密集していることを示します。

ただ、分散だと二乗したものを足しているので値が大きくなってしまいます。そこでより見やすくするために標準偏差という分散のルートをとったものでみます(正確には単位をそろえるためです)。

こうしてみるとAの標準偏差は28.1点でBの標準偏差は5.5点とその散らばり具合が分かりやすくなります。

以上が分散と標準偏差の説明となります。平均値や中央値はある特定の値をピンポイントで指すものですが、分散や標準偏差はそのデータがどのような広がりを持つものなのかという情報を提供してくれます。今回では標準偏差が小さいBのテストは差がつきにくいテストだと言えますよね。分散と標準偏差の重要性について分かってもらえたでしょうか。

次回で偏差値についての記事を書きますが、この標準偏差が分かることでAテストやBテストを受けた生徒の偏差値を求めることができるようになります。

Pythonで分散と標準偏差を求めよう★☆☆☆☆

それではPythonで実際に分散と標準偏差を求めてみましょう。もし、使い方が分からない方は本講座の入門①等を参照してください。

それではAテストの分散と標準偏差を求めるのに、numpyというライブラリを用います(道具キットです)分散を求めるにはvar()を標準偏差を求めるにはstd()を使います。少し、新しいやり方で書いたので変な感覚もありますが、numpyという数値演算での便利道具を使うとしたのようになります。この講座ではPythonを動かして統計学を能動的に学ぶのが目標なのでいったんはこれぐらいの説明で失礼します。よかったら下のコードをまねてテストBの分散と標準偏差も求めてみてください。変更するのは[10,20,…]のところを[40,45,45…]にすることとtest_Aではなくtest_Bにしてみてください。

終わりに

どうですか、分散と標準偏差について分かってもらえたでしょうか。この記事ではいわゆるxやaなどの数式を使わないで、具体的な例を用いて説明しています。このブログ記事で感覚を掴んでより本格的な図書に挑んでもらえると幸いです。

最後まで読んでくださりありがとうございました。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です