箱ひげ図で分布の要約を示す

入門

6.2.5

箱ひげ図で分布の要約を示す

最終更新 2020-03-25 読了時間 1 分
まとめ
  • 箱ひげ図で中央値・四分位数・外れ値を比較する。
  • sns.boxplot でカテゴリ別の分布差を表示。
  • 散らばりや外れ値を素早く確認したいときに使う。

箱ひげ図は中央値・四分位数・外れ値を 1 本で表せる定番チャートです。カテゴリごとに比較すると、分散の違いが見えます。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import seaborn as sns
import matplotlib.pyplot as plt

mpg = sns.load_dataset("mpg").dropna(subset=["mpg", "origin"])

fig, ax = plt.subplots(figsize=(6, 4))
sns.boxplot(data=mpg, x="origin", y="mpg", palette="Set2", ax=ax)

ax.set_xlabel("生産地域")
ax.set_ylabel("燃費 (MPG)")
ax.set_title("地域別燃費の箱ひげ図")
ax.grid(axis="y", alpha=0.3)

fig.tight_layout()

plt.show()

カテゴリごとに比較すると、分散の違いが見えますの図

読み方のポイント #

  • 箱は四分位範囲(IQR)、中央線は中央値。ひげは通常 1.5×IQR の範囲を示す。
  • 外れ値が多すぎる場合は、別図で詳細を確認するか上限を調整する。
  • 箱ひげ図を横にするとラベルが長い場合でも読みやすくなる。

いつ使うか #

  • 適している場面: 複数カテゴリの中央値・散らばり・外れ値をコンパクトに比較したいとき。
  • 不向きな場面: 分布が多峰性(ピークが複数ある)場合、箱ひげ図では形状が見えないため誤った解釈になりがちです。
  • 代替手段: バイオリンプロットを使えば分布形状を保ったまま比較できます。

よくある失敗パターン #

  • 外れ値マーカーの過信: 1.5×IQR ルールは便利ですが、歪んだ分布では正常なデータも外れ値として表示されます。分布の形状をヒストグラム等で確認してください。
  • 分布の形状を無視: 箱ひげ図は要約統計量しか示さないため、多峰性の分布でも単峰性に見えてしまいます。バイオリンプロットで補完しましょう。