見出し画像

第144回: 「統計の実務」5 箱ひげ図

◀前の記事へ   次の記事へ▶

≡ はじめに

前回は、「データの分布状況を視覚的に認識する」ことを目的とした「ヒストグラム」について書きました。メチャクチャ大事で基本的なグラフなので、軽く復習しつつ箱ひげ図の話に移ります。

ヒストグラムは、例えば模試の結果で、「何点くらいが多いの?」とか、「高得点グループと低得点グループに分かれているの?」といった疑問に対して、視覚的にパッと答えてくれるグラフです。以下のヒストグラムは、20名に対して実施した国語と数学の模試結果です。

画像1

なんとなく、国語は60-70点あたりを中心に正規分布していそうで、数学は高得点グループと低得点グループに分かれていそうなことが読み取れます。

元データはこちらです。

今回の箱ひげ図も、全体の分布を確認するグラフという点では同じですが、“ばらつき”に焦点が当たります。データ群を比較する時にもよく使います。

さて、先ほどのヒストグラムと同じデータを箱ひげ図にしてみます。グラフのメニューから箱ひげ図を選んで、[層別のプロット]ボタンを押して、

画像12

質的変数に[科目]を選びます。質的変数は値が文字の変数のことでした。

画像13

すると、このような箱ひげ図が表示されます。

画像2

ヒストグラムと箱ひげ図とでは、だいぶ印象が変わったのではないでしょうか? 「数学は、得点が散らばっているんだなあ」と。

値のばらつきが見やすくなった一方で、ヒストグラムから読み取れた「数学がふた山(三山?)」という情報は見えなくなってしまいました。

分布の山の情報を箱ひげ図に追記することを考えた人はいらっしゃいます。例えば、箱ひげ図のY軸にヒストグラム的なものを重ねるなどです。
「手間なんてほとんど掛からないのだから両方描いたらいいのに」と思います。両方描いた方がグラフから情報を読み取りやすいですし。


≡ 箱ひげ図の使いどころ

箱ひげ図は、「データのばらつきをわかりやすく表現する」ことを目的としています。具体的に見ていきましょう。

先ほどの箱ひげ図の「国語」の得点で見ていきます。元データはこちらです。

画像3

全部で20個のデータがあります。Rコマンダーのメニューから
   [統計量]>[要約]>[数値による要約]
を選んで、「科目」で層別してみます(下図のボタンで選ぶ)。

画像4

次の出力が得られました。

     mean       sd   IQR 0%   25%  50%   75% 100% 得点:n
国語 66.85 11.63151 16.00 48 59.75 63.5 75.75   89     20
数学 64.10 29.38833 51.75 14 39.75 67.0 91.50   99     20

「国語」の行だけ抜き出して一覧表にして箱ひげ図と対応してみます。

画像13

要は、データを小さい順で並び替えて、最小値と最大値を横線のひげで表し、真ん中の値(中央値と呼びます)を太い線で、25%-75%の間を箱で表現したグラフが箱ひげ図です。

Rコマンダーが出力する箱ひげ図には、平均値は描かれていません。

ここで、25%や75%の位置のことを、25パーセンタイル、75パーセンタイルと呼びます。パーセンタイル(percentile)とは、データを小さい順に並べたとき、初めから数えて全体の何パーセントの位置にいるかを表します。カタカナで書くと長いので、「25%ile」と書くこともあります。(あまり見ませんが、「25%点」と書く人もいるそうです)

なお、第1四分位数は25パーセンタイル、第3四分位数は75パーセンタイルと同じです。
(1/4=25%, 3/4=75%ということです)


※ パーセントとパーセンタイルの違いは、割合と序数の違いです。
パーセンタイルは全体を100としたときに、小さい方から数えて何番目という意味です。
テストの結果などで、「5th percentile」と言われたら、「下から数えて5パーセントの位置」ということなので喜ばないようにしましょう。(番目なので5thとthが付くところも注意です)

※ 最初の回で、「手計算したものと数値が合わない」話を書きました。気にしないでRコマンダーの出力を信じて鵜呑みにしてください。

箱ひげ図は、単独で使うよりも比較で使うことが多いです。

こちらは、総務省統計局が作った箱ひげ図です。

画像6

色を変えたり、箱のなかに「×」マークで「平均値」をプロットしています。「お医者さんが増えてる」ことがひと目で分かります。

Y軸も0からですし、単位も書いてあります。さすが「総務省統計局」の人が作ったグラフですね。お手本にしましょう。☺️


≡ 箱ひげ図の読み方

読み方も何も、「直感的に分布とバラツキがわかる」ところが箱ひげ図の良いところです。

違いを感じてもらいたいので、これまでの検査数のグラフと比較してみます。

まずは、インデックスプロットはこちらです。

インデックスプロット

前回、同じものをヒストグラムで描いたものがこちらです。

ヒストグラム・キャッチイメージ

次は、箱ひげ図で、四半期ごとに描いてみました。(元データも置いておきます)

箱ひげ図

それぞれのグラフで、読み取れるものが違っているのが、面白いですね。箱ひげ図は、データを層別して、データ群の比較をするのに便利です。

「検査数」は、ちょっと気持ち的にしんどいので、題材をプリキュアの視聴率に変えます。

画像10

初代は、ばらつきは大きいものの視聴率は高いです。ハートキャッチプリキュアも人気シリーズでした。ばらつきが小さくなってきたのは、視聴者が固定されてきたからでしょうか?
HUGプリは、ばらつきは更に少ないものの、視聴率は初代やハートキャッチと比較すると低いです。(ただし、現行の「トロピカル~ジュ!プリキュア」の視聴率は3%前後ですので、決してHUGプリが悪い作品というわけではありません。)

ちなみに、2021/10/10に放送された、【鬼滅の刃】「無限列車編」第1話の視聴率は、10%だったそうです。すごい!

統計値を表にまとめておきます。グラフと見比べてください。(meanは平均を、sdは不偏標準偏差を意味します)

画像11

検査数より、考察のし甲斐があるってもんです。(笑)

ときどき、箱ひげ図のヒゲの外側に⚪︎がプロットされていることがあります。いわゆる“外れ値”です。
外れ値については、それが異常値なのかどうかを見極めることが大切です。もし異常値であれば⚪︎の近くにある数字からデータ番号を読み取り、それが異常値であれば、対応するデータを削除します。

Rコマンダーの箱ひげ図の“外れ値”の定義は、「箱の上下限±箱の高さ×1.5」、つまり、
 ・ 下の外れ値: 25%ile ― 1.5 × IQR より小さい
 ・ 上の外れ値: 75%ile + 1.5 × IQR
より大きい

です。先ほどの「国語」の得点データに「30点」のデータを追加して箱ひげ図を描きなおしてみました。

画像14

データ数は一つ増え、外れ値を表す「⚪︎」と、そのデータ番号(行番号)を示す「21」がグラフに追加されました。数値による要約結果は次の通りです。

     mean      sd     IQR 0% 25% 50% 75% 100%  n
国語 65.09524 13.8993  16 30  59  63  75   89 21

注意深い人は、ちょっと気になるグラフと統計値かもしれません。
なぜなら、最小値が30なのに、下のヒゲの位置は30ではなく48だからです。
25%ileの値は59、IQRの値は16ですので、59-1.5×16の、35未満が小さい方の外れ値となります。Rコマンダーは外れ値を除いて箱ひげ図を描いているようです。

それから、「箱の上下限±箱の高さ×1.5」の1.5が気になる人もいらっしゃるかもしれません。

そのうちに管理図を取り上げますが、管理図の上限・下限は「平均値±3σ」です。(UCL=CL+3σ、LCL=CL-3σと覚えているかもしれません)

管理図では、母集団を正規分布と仮定すれば、「平均値±3σ」に全データの99.7%が入る計算なので、1,000に3つは正常値を外れ値と間違えることもある(偽陽性が発生する)けど、「千に3つ」ならいいでしょうということです。(ここで、せんだみつお氏を思い浮かべた人は昭和生まれ?)

箱ひげ図の外れ値の「箱の上下限±IQR×1.5」もほぼ同じです。IQRの幅には、25%ileから75%ileのデータがあります。つまり全データのうち、50%のデータが箱の中にあります。正規分布の±σは68.3%ですが似たようなものです。
ということは、ICQ≒2σと考えて良さそうです。こちらを「箱の上下限±ICQ×1.5」に代入すると、「箱の上下限±3σ」となります。管理図では平均値からの距離でしたが、σの方がIQR/2よりも若干大きいので、外れ値の判定としては悪くなさそうです。
なお、キチンと計算すると、ほぼ同じであると分かります。

あと、これは、覚えなくていいけど、IQR/2のことを“四分位偏差”(英語では、“Quartile Deviation”)って言います。ついでに書いておくと、ばらつきの大きさを表す代表的な指標にはもう一つ、「変動係数」(標準偏差を平均値で割った値)っていうのもあります。平均値が違うデータ群のばらつきを比較するときに使います。

平均値を箱ひげ図に書き入れたいときには、Rのコマンドを書いて実行するしかありません。

具体的には、Rコマンダーの[Rスクリプト]ビューにRのコマンドを入力して、そこにカーソルを置いて、[実行]ボタンを押します。今回なら「points(65.1,pch=4)」を実行します。(65.1は平均値、pch=4は×マークを意味します)

画像17
画像16

「×」マークがつきました。今回の試験では中央値よりも少し大きかったのですね。

Rコマンダー以上のことはしなくて良いと思うので、あくまでも、「方法はなくもない」といった程度の、参考情報でした。
実務上は、画像ファイルにしてから、×マークを描き足す方が簡単と思います。


≡ おわりに

今回は、箱ひげ図の話をしました。「データのばらつきをわかりやすく表現する」には、箱ひげ図が最適です。特に、データ群を比較するときにはもってこいです。

次回は、「QQプロット」を取り上げます。ちょっと耳慣れない人が多いかもしれませんが、データが正規分布しているかどうかを判断するための大切なグラフです。

◀前の記事へ   次の記事へ▶

この記事が気に入ったらサポートをしてみませんか?