【Python】箱ひげ図 〜Pythonでプロットしてみる〜

今回は箱ひげ図を紹介します。

箱ひげ図とは

箱ひげ図とは、箱(四角)ひげ(線) によってデータのばらつきをわかりやすく表現した図になります。

以下が、箱ひげ図になります。

この箱ひげ図の見方について説明します。

上から順に説明します。

①外れ値:後述
②最大値:全データの最大値。詳細は後述
③第3四分位数(\(Q3\)):データを小さい順に並べた時の下から75%の位置にある値
④中央値(第2四分位数\(Q2\)):データを小さい順に並べた時のちょうど真ん中にある値(中央値)
⑤第1四分位数\(Q1\):データを小さい順に並べた時の下から25%の位置にある値
⑥最小値:全データの最小値。詳細は後述

となります。

最大値、 最小値、外れ値について

最大値と最小値はデータのばらつきが大きい場合、
IQR(Interquartile Range)というボックスの幅を使って計算するのが一般的です。

IQRは以下のように定義します。

$$\begin{aligned}
IQR = Q3 - Q1
\end{aligned}$$

第3四分位数(Q3)から第1四分位数(Q1)の差ですね。

すべてのデータが\((Q3 +1.5 \cdot IQR)\)と\((Q1 -1.5 \cdot IQR)\)に収まっていれば、全データの中の最大値、最小値。

収まっていないデータがあれば、収まっているデータの中から最大値、最小値を決めます。

収まらなかったデータは外れ値となります。

Pythonでプロットしてみる

Pythonを使って箱ひげ図を作ってみます。

matplotlibのboxplotを使えば簡単にプロットできます。

以下サンプルコード

import numpy as np
import matplotlib.pyplot as plt

data = [0,1,2,3,4,5,6,7,8,9,10,18]
print(data)

fig1, ax1 = plt.subplots(figsize=(10,10))
ax1.set_title('Basic Plot')
ax1.boxplot(data)
plt.show()

参考文献

タイトルとURLをコピーしました