Copyright (C) 2000 DaiichiGakushusha Corporation. All Rights Reserved.
連載 奥村先生の統計学教室
エデュカーレNo.27より

第2回 「平均」も奥深い 三重大学教育学部 教授 奥村 晴彦

統計学教室 Indexページ

今回は,平均・中央値と,正規分布,統計言語「R」,それにちょっとしたシミュレーションの話題を紹介します。



1. 平均とは? ↑UP

日本数学会が2011年に全国の大学生約6000人を対象に行った「大学生数学基本調査」の結果[1]が2012年2月に発表され,話題になりました。とくに統計関係では,次の問題があります。

ある中学校の三年生の生徒100人の身長を測り、その平均を計算すると163.5cmになりました。この結果から確実に正しいと言えることには○を、そうでないものには×を、左側の空欄に記入してください。


(1) 身長が163.5cmよりも高い生徒と低い生徒は、それぞれ50人ずついる。

(2) 100人の生徒全員の身長をたすと、163.5cm×100=16350cmになる。

(3) 身長を10cmごとに「130cm以上で140cm未満の生徒」「140cm以上で150cm未満の生徒」…というように区分けすると、「160cm以上で170cm未満の生徒」が最も多い。

大学生の正答率は,76%でした。平均そのものは小学校で学びますが,平均値・中央値・最頻値の違いは,新学習指導要領の中学1年で学びます。調査対象の大学生たちは学んでいないのでしょう。

(1)は中央値の定義です(ただ,問題文の前提からは身長が163.5cmの人がいるかどうかわからないので,「それぞれ50人ずついる」より「同じ人数いる」とすべきところです)。(2)が正解ですが,有効数字に問題があるという批判がありました。つまり,163.5cmと書けば163.45cm以上163.55cm未満の意味になり,100倍すれば16345cm以上16355cm未満になるというわけです。16350cmではなく,163.5mとすればよかったのでしょう。(3)は最頻値(最頻階級)の定義です。

「身長は正規分布するはずだから(3)も正しい」という批判もありました。一方,男子・女子の二山になるのではないか,という意見もありました。そこで,「政府統計の総合窓口 e-Stat」にある「学校保健統計調査」から,平成22年度の中学3年生(14歳)の度数分布を探してプロットしてみました。

図1 中学3年生の身長の度数分布
図1 中学3年生の身長の度数分布

「平成22年度学校保健統計調査」(文部科学省)による,ただし,男女別対象人数が不明のため,男女比は1:1とした。


男女の山を合成しても明確な二山にはならないようです。

ただ,100人程度なら,必ずしも160cm台が最多にはならないでしょう。そこでシミュレーションをしてみましょう(方法は後述)。

上の平成22年度の度数分布をそのまま使ってもいいのですが,より新しい平成23年度の速報値(平均・標準偏差)も出ていましたので,そちらを使ってみましょう。これによれば,中学3年生の男子平均165.1cm,標準偏差6.71cm,女子平均156.6cm,標準偏差5.30cmです。男女それぞれ正規分布と仮定して,50人ずつ乱数を生成し,平均値が163.5cmになるように定数を加え,度数分布を求めます。これを何度も繰り返すと,160以上170未満が最多にならないことが,確率2〜3%ほどですが,ありました。つまり,数学的にはもちろん,現実的にも「確実に正しい」とは言えません。



2. 正規分布は普通の分布? ↑UP

正規分布の話が出てきましたので,ちょっと解説しておきます。

正規分布(ガウス分布)は,有名な数学者ガウスが,測定誤差の分布として考えたものです。とくに平均0,標準偏差1の正規分布(標準正規分布)の密度関数は,次のようになります。図2では,±3より外側が0になっているように見えますが,理論的には無限に広がっており,±3の外側にも全体の0.27%ほどの面積があります。

図2 正規分布
図2 正規分布

誤差はいろいろな要因が足しあわさってできるので,1つ1つの要因がどんな分布をしていても,独立な要因を十分たくさん足しあわせれば,正規分布に近づきます(このことを中心極限定理といいます)。

身長・体重などは誤差ではありませんし,正規分布になる必然性もありません。比較的正規分布に近いといわれている身長の分布も,図1のように,よく見ると正規分布から少し外れています。体重は,正規分布からもっと外れます。体重は身長のほぼ3乗に比例しそうなので,たとえ身長が正規分布でも,体重はかなり正規分布から外れそうだということは,想像できると思います。

テストの点数の分布は,先生方は長年かかわってこられたのでよくご存じと思いますが,しばしば正規分布とは似ても似つかぬ分布をします。大学入試センター試験のような大規模なテストでも,個々の科目の得点分布は明らかに正規分布から外れていますし,個々の問題の得点分布はさらにいびつです(ただし,複数の科目の合計点は,中心極限定理により,科目数が増えるほど正規分布に近づく傾向があります)。

大学で入試問題を作るわれわれにとっても,目標は正規分布ではなく,極端なことをいえば二山でもいいから,合否の境い目に密集しない分布になってくれたほうがありがたいのです。

ちなみに,「正規分布でなければ偏差値を使う意味がない」という説があります(私はそうは思いませんが)。偏差値は,得点を平均50,標準偏差10にスケールした(目盛をつけかえた)だけのものです。正規分布でなければ,たとえば偏差値40〜60の範囲に68.3%入るといったことが言えませんが,これは,正規分布でなければ平均標準偏差の範囲に68.3%入ると言えないことと同じです。ですから,「正規分布でなければ偏差値を使う意味がない」と言うのであれば,「正規分布でなければ平均も標準偏差も意味がない」とも言えてしまいそうです。

実際,知りたいのは偏差値そのものではなく,自分より下(あるいは上)の成績の人がどれくらいいるのかということなのでしょう。そうであれば,偏差値よりパーセンタイル(自分より下に何パーセントいるかという値)のほうが便利です。とくに,自分より上(下)に50%いるという中央値が,平均より便利なはずです。



3. 平均値と中央値,どっちを使う? ↑UP

平均値と中央値が異なる例として,収入の分布がよくあげられますが,ここでは生徒が計算しやすい例として,2009年秋の鳩山内閣閣僚の資産(表1)を使ってみましょう。

計算してみると,本人の資産の平均値は11623万円ですが,中央値は2681万円です。中央値より大きい人数と小さい人数は,中央値の定義により同数ですが,平均値より大きい人数は3人しかいません。

表1 鳩山内閣閣僚の資産

(単位:万円 毎日新聞2009年10月24日より)

本人家族含む
鳩山由紀夫首相144269144269
菅直人副総理兼国家戦略担当相9052232
原口一博総務相9141220
千葉景子法相35233523
岡田克也外相32738641
藤井裕久財務相1435620214
川端達夫文部科学相40245583
長妻昭厚生労働相0891
赤松広隆農相48645934
直嶋正行経済産業相33333333
前原誠司国土交通相7411441
小沢鋭仁環境相20894014
北沢俊美防衛相309609
平野博文官房長官11951875
中井洽国家公安委員長12961296
亀井静香金融・郵政担当相942718745
福島瑞穂消費者・少子化担当相1273425000
仙谷由人行政刷新担当相19683987

このことをよく理解していない人が書いた例として,文部科学省「平成20年度全国体力・運動能力、運動習慣等調査結果について【概要版】」[2]を見てみましょう。この27ページには,中学校について「男女とも,全ての種目において,50%以上の生徒が昭和60年度の平均値を下回っている」と書かれています(25ページに類似の記述が小学校についてもあります)。しかし,平均値を下回る者が50%以上いるかどうかは,分布によることです。平成20年度も昭和60年度と変わりなければ50%のはずなのに?ということを言いたいのであれば,中央値を使うべきでした。

次に,中央値しか計算できない例として,朝日新聞に載った食事まるごと放射能測定の結果を考えてみましょう(図3)。

図3 1 日の食事に含まれていた放射性セシウムの量
図3 1 日の食事に含まれていた放射性セシウムの量[3]

放射能に限らず,有害物質の測定では,測定器の測定限界未満の値は「ND」(Not Detected)とあわらすことがよくあります。NDは,0かもしれないし,測定限界よりちょっとだけ小さい値かもしれません。NDがたくさんあると,平均値を計算することができません。こんなときにも使えるのが中央値です。NDの個数が半分以上あると,NDが中央値になります。

もっとも,平均値にせよ中央値にせよ,データをたった1つの代表値に要約してしまうと,誤解を招くことがあります。テューキー(有名な統計学者。FFTアルゴリズムの開発者,「ビット」という言葉の提案者でもある)は,最小値(0%点),25%点,中央値(50%点),75%点,最大値(100%点)の5つの数をセットで使うことを提案しています(五数要約)。この5つの数を図であらわしたものが,前回[4]ご紹介した箱ひげ図です。



4. プログラミングの必要性 ↑UP

さきほどの図1や図2は,ここでは「R」(アール)というフリーソフト(オープンソースソフト)で描きました。たとえば-3.5≦x≦3.5の範囲で標準正規分布の密度関数を描くには,「R」では


curve(dnorm(x), xlim=c(-3.5,3.5),

と打ちこみます。なお,図2を描くときは,見栄えを調節するために,いくつか余分なオプションをつけました。具体的には


par(mgp=c(2,0.8,0))
par(las=1)
curve(dnorm(x), xlim=c(-3.5,3.5),
      ylim=c(0,0.42), xlab=””, ylab=””,
      xaxs=”i”, yaxs=”i”, lwd=2)

としています。

このようなグラフは,もちろん「Excel」でも描けます。しかし,「160cm以上170cm未満の階級が最多になるかどうか」のシミュレーションは,Excelではたいへんです。

これも「R」で書けば,たとえば次のように,簡単にできてしまいます。


f = function(){
  x = c(rnorm(50, mean=165.1, sd=6.71),
        rnorm(50, mean=156.6, sd=5.3))
  x = x - mean(x) + 163.5
  n1 = sum(x >= 150 & x < 160)
  n2 = sum(x >= 160 & x < 170)
  n3 = sum(x >= 170 & x < 180)
  return (n2 >= n1 && n2 >= n3)
}
mean(replicate(10000, f()))

両側の階級としかくらべていないところは手抜きですが,これで1万回のシミュレーションが一瞬でできます。



5. 「R」を使ってみよう ↑UP

教科「情報」でプログラミング言語を教えるとすれば,どこにでもあるブラウザを使ってJavaScriptを教えるか,どこにでもある(?)「Excel」を使ってVBAを教えるか,あるいは「ドリトル」や「PEN」や「Squeak」や「Scratch」などの教育用言語を使うなど,いろいろな選択肢がありそうです。

ここでは,さきほどもちょっと紹介しましたが,グラフを描いたり複雑な統計計算をしたりするのが得意な「R」という言語[5]を提案します。

「R」は,ベル研究所で統計計算用に開発されたS言語が元になっています。ベル研究所といえば,UNIXやC言語の発祥地として有名ですね。このS言語の文法を,ほぼそのまま実装したオープンソースの処理系が「R」です。「R」は,Windows,Mac,Linuxなどで動作します。管理者権限のないWindows機にも,インストールできます。インストールはhttp://www.r-project.org/のWebサイト経由で,お近くのミラーサーバ(CRANサイト)からダウンロードしておこないます。詳しくは,私のWebサイト[6]をご覧ください。

「R」の見栄えは設定によりいろいろ変えられますが,「R」に加えて「RStudio」(http://rstudio.org/)というソフトをインストールすれば,図4のようにかっこよくなります。

筆者はMacで「Emacs」から「R」を使う「ESS」というソフトをいつも使っています。いつも「R」のようなソフト(分野によっては「Mathematica」だったり「MATLAB」だったりするかもしれませんが)をつねに起動しておくと,ちょっと計算したりグラフを描いたりしたいとき,とても便利です。

図4 「RStudio」で「R」を使っているところ
図4 「RStudio」で「R」を使っているところ

(Macでのスクリーンショット,Windows版もほぼ同じ)



参考資料 ↑UP

[1]日本数学会「「大学生数学基本調査」に基づく数学教育への提言」(2012年2月21日)
 http://mathsoc.jp/comm/kyoiku/chousa2011/

[2]文部科学省「平成20年度全国体力・運動能力、運動習慣等調査結果について【概要版】
 http://www.mext.go.jp/b_menu/houdou/21/01/__icsFiles/afieldfile/2009/01/21/1217980_2.pdf

[3]朝日新聞デジタル「福島の食事、1日4ベクレル被曝、国基準の40分の1」(2012年1月19日) (リンク切れ)
 http://www.asahi.com/national/update/0118/TKY201201180799.html

[4]奥村晴彦「連載:奥村先生の統計学教室」エデュカーレ情報No.26,pp.2.5(2011年11月)
 http://www.daiichi-g.co.jp/joho/info/educare/pdf/jo_edu26.pdf

[5]R Development Core Team,“R:A Language and Environment for Statistical Computing”,
 http://www.R-project.org/

[6]奥村晴彦「統計・データ解析
 http://oku.edu.mie-u.ac.jp/~okumura/stat/


©Daiichigakushusha