初めて学ぶPythonと統計学・入門③ ~日本の平均世帯所得から考える平均値・中央値・最頻値~

今回はそのたくさんのデータの特徴を表す平均値・中央値・最頻値についてケースとともに学びます。いつも通りPythonでのコードも記事の後半にあるので是非Google Colabで試してみてください。

ケーススタディ

平均世帯所得金額ってご存じですか?世帯所得というのはいわゆる家族一つ当たりの収入のことを表します。二人世帯で両働きでしたら夫・妻の両方の所得の合計値、独身世帯でしたらその人個人の収入となります。平成21年の日本全体の平均所得は547万円だそうです。そこで問題です

問題

①日本の世帯でちょうど真ん中に裕福な世帯の年収はどのぐらいでしょうか。平均の547万円ぐらいだと思いますか。

②また100万円区切りで分けたとき日本の最もボリュームゾーンである層はどこでしょうか?500~600万円、それとも400~500万円ぐらいでしょうか?

まさまさ

普通に考えて平均年収付近に平均的な人がたくさんいるんじゃないの?

平均値・中央値・最頻値って何?

答えを見る前にまず平均値・中央値・最頻値について学習しましょう。

平均値というのはすべての世帯の所得を合計してそれを世帯数で割ったものです。例えば太郎君が100万円、花子さんが300万円、次郎君が800万円の所得があれば平均値は(100+300+800)/3=400万円です

中央値というのは所得がちょうど真ん中の人の所得を表します。上と同じ例ですと花子さんの所得がちょうど真ん中に該当しますので中央値は300万円です。(もし人数が偶数だったら、真ん中の人が二人いるのでその平均をとります)

最頻値というのはもっとも現れる頻度が大きい値を表します。例えば上の太郎君、花子さん、次郎君に加え、所得が100万円の貞子さんがいたとすると、4人での最頻値は太郎君と貞子さんが同じ100万円の所得ですので最も頻度が大きく最頻値は100万円になります。

このように平均値、中央値、最頻値はそれぞれ全く別の指標であることが分かりますね。

解説

それではここで、前回の初めて学ぶPythonと統計学入門②で学んだヒストグラムを見てその実態を調査しましょう。下のヒストグラムは厚生労働省が発表した平成21年の所得の分布状況に関する平均所得です。

上を見て気付いたでしょうか。世帯所得を集計すると右側に裾が広がった山となります。このように裾が右に広がっている分布では平均所得というのは実は中央値や最頻値といった値より大きくなる傾向にあります。この関係をピアソンの経験則と呼びます。(かっこいいですね笑)

問題の解答としては、グラフを読むと平均値は547万5千円、中央値は427万円、最頻値は250万円(200-300万円の世帯がもっとも多いので平均の250万円を階級値と考えた)。この解釈としては、日本の最もボリュームゾーンである世帯は大体250万円の世帯所得であり、ちょうど真ん中に裕福な世帯の所得は427万円であり、全体の平均所得は547万円となります。

それではいったいなぜ平均値がこのように高くなるのでしょうか??

おそらくグラフを見た方の中では気づいた人も多いと思いますが、ヒストグラムが右に広がっていますね。そうです、やたら所得が高い人たちがいるのです。年収が10億円もある人を考えてください、平均値が大きく上がりそうな気がしませんか。左端が年収0円に対し右端はかなり大きな数字になるので、全体の平均は一部の超富裕層の人によって大きく引き上げられることになります。だから平均年収というのは想像している一般的な所得よりもかなり大きな値となるのです。実際ヒストグラムを見ていただければわかりますが、平均年収以上の所得を持つ世帯は全体の38.7%しかおりません。

このように平均年収や平均所得というのは一部の超富裕層によって大きく値をずらされますので気を付ける必要があります。統計学の用語を用いると平均値は外れ値に対して頑健でなく、中央値と最頻値は外れ値に頑健であるといいます。

次章では実際にPythonで平均値・中央値・最頻値の求め方を学びましょう。

Pythonを学ぼう(難易度★☆☆☆☆)

それでは実際にPythonを動かして平均値・中央値・最頻値を求めてみましょう。

Pythonを始めて動かす!またはどうやるのか忘れてしまったという方は入門①の記事にとても簡単に始める方法を解説しておりますので一旦ご覧ください。

データは前回の入門講座②で扱ったA社とB社の二つの会社の所得を用います。下にPythonのコードとデータがありますので、それをColaboratoryに写して実際に動かしてみましょう。

まずは平均値や中央値を求めるのに必要な道具を入れます(import ~の部分)。その後salaryに必要なデータを入れます。この[]で囲まれたデータをリストと呼び、salaryという名の箱にたくさんの数字を入れたというイメージになります。

そして平均値を求めるためにはstatistics.mean()という関数を利用します。ここではmeanという箱にsalaryの平均値を代入して、それをprint()で表示しています

次に同様にして中央値を求めます。中央値を求めるにはstatistics.mean()という関数を用います。

次に最頻値を求めます。最頻値にはstatistics.mode()という関数を用います。

以上結果は出たでしょうか。最頻値に関しては二つ以上値が該当するとエラーになってしまうようですね。今回は大丈夫なはずです。

まとめ

どうでしたか?平均値や中央値、最頻値という言葉は聞いたことがあっても直感に反して数値が離れるということを知っていたでしょうか。またPythonのコードも簡単なので気軽にお試しいただけたでしょうか。

もし、この記事で統計学に興味を持っていただけたら幸いです 。最後まで読んでくださりありがとうございました。twitterもやっていますので是非フォローお願いします。

Follow me!

コメントを残す

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