統計学における基礎的な用語集vol.4~箱ひげ図~
例によって統計学における基礎的な用語集をまとめていきます。おおよその内容は統計Webの「統計学の時間」に倣っています。
箱ひげ図(box plot)
データの分布を「箱」と「ひげ」であらわしたグラフで、データがどのあたりに集中しているのかをひと目で捉えることが出来ます。
ただし、平均、分散、標準偏差は箱ひげ図からは分かりません。分布の形も分かりません。
パーセンタイル
データを小さい順(昇順)に並べたとき、最初から数えて全体のに位置する値のことを指します。ここでです。
第一四分位は25パーセンタイル、第三四分位は75パーセンタイルと言います。(別にどちらで読んでも大丈夫かと思います、意味さえ分かれば)ちなみに第二四分位は50パーセンタイルもしくは単に中央値です。
(※私が高校生の頃は、ちょうどゆとり教育が終わるかどうかの瀬戸際でして、高校3年の数学Cにあたる統計(確率?)は学ばずに卒業しました。
ちなみに高校の数学は3年間同じK先生という方でした。めっちゃしごかれましたが、とても良い先生でした。K先生はお元気でしょうか?私は元気でやっています。)
箱ひげ図のあてはめ
上が標準的な箱ひげ図です。
1. 図のAとDの部分がひげ、BとCの部分が箱
2. ひげの最上端が最大値、ひげの最下端が最小値
3. 箱の最上端が第三四分位数、箱の最下端が第一四分位数、箱の中にある線は中央値
4. 最大値と最小値の差を範囲(レンジとも言う)
5. 第三四分位数と第一四分位数の差を四分位範囲(interquartile range:IQR)と言う
箱ひげ図のA、B、C、Dの区間にあるデータの個数はいずれの区間でも同じ個数です(個人的に箱ひげ図の中で一番重要だと思います)。
同じ個数であるにも関わらず区間の長さが異なることから、データのばらつき具合を知ることが出来ます。
例えば、BとCではBの方が短いためデータがCよりも集中していることが分かります。また、箱の高さは全データの半分のデータを表します。
箱ひげ図の書き方
箱ひげ図の書き方について見ていきましょう。箱ひげ図の書き方はいろいろあるようですが、今回は統計Webの外れ値のある箱ひげ図の書き方を例に箱ひげ図を書いてみます(これが一般的かどうかは分かりません)。
ひげの長さを設定します。一般的には四分位範囲(IQR)の倍を上下限としています。
つまり、
ひげの上限第三四分位数 四分位範囲
ひげの下限第一四分位数 四分位範囲
で求めます。
求めたひげの上限がデータの最大値よりも大きい(データの最大値ひげの上限)場合、データの最大値をひげの上限とします。
ひげの下限に関しても一緒で、求めたひげの下限がデータの最大値よりも小さい(ひげの下限データの最小値)場合、データの最小値をひげの下限とします。
外れ値
ではもし、ひげの上限よりもデータの最大値の方が大きい(ひげの上限データの最大値)場合はどうなるでしょうか? もしそのようなデータが現れた場合、それを外れ値として扱います。外れ値は、得られた観測値のなかで大きく外れた値のことです。ここではひげの上限よりも大きい値、下限よりも小さい値を外れ値として扱います。
外れ値がある場合の箱ひげ図が下図になります。
Pythonで箱ひげ図
Pythonで箱ひげ図を書いてみましょう。例によってKaggleのHouse Pricesからデータを取ってきます。今回はSales Pricesを箱ひげ図に表してみます。
import pandas as pd import matplotlib.pyplot as plt train = pd.read_csv("train.csv", encoding = "utf-8") plt.boxplot(train["SalePrice"])
実行すると以下のグラフが出てきます。
外れ値が多いですね。とはいえ、簡単に箱ひげ図を表すことが出来ました。よりきれいに見せたい場合はseabornなどを使うのもありかと思います。
まとめ
今回は箱ひげ図についてまとめました。以下は箱ひげ図の重要な部分だけをまとめたものです。