ヒストグラム

入門

6.2.1

ヒストグラム

最終更新 2020-01-29 読了時間 1 分
まとめ
  • 数値データの散らばりを棒グラフで可視化する。
  • sns.histplot でビン幅を調整して分布を確認。
  • 分布の全体像を最初に把握したいときに使う。

数値データがどのように散らばっているかを可視化します。

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

df = sns.load_dataset("iris")
fig, ax = plt.subplots(figsize=(6, 4))
sns.histplot(data=df, x="sepal_length", binwidth=0.5, color="#2563eb", ax=ax)
ax.set_xlabel("がく片の長さ (cm)")
ax.set_ylabel("頻度")
ax.set_title("Iris データのヒストグラム")
ax.grid(alpha=0.2)

fig.tight_layout()

plt.show()

ヒストグラムの図

読み方のポイント #

  • ビン幅を変えると見え方が大きく変わるため、分析目的に合わせて調整する。
  • データが偏っている場合は対数軸を使うと細部が見やすくなる。
  • KDE や rugplot を重ねると連続的な傾向が分かりやすい。

いつ使うか #

  • 適している場面: 1変数の度数分布を直感的に把握したいとき。データのばらつき、偏り、外れ値の発見に最適です。
  • 不向きな場面: ビン幅の選択でグラフの印象が大きく変わるため、厳密な比較には注意が必要です。
  • 代替手段: 密度プロットを重ねればビン幅依存をなくし、滑らかな分布形状を確認できます。

よくある失敗パターン #

  • ビン幅の不適切な選択: ビン幅が狭すぎるとノイズが目立ち、広すぎると分布の特徴が潰れます。Sturges や Freedman-Diaconis などの自動ルールを試してください。
  • 異なるサンプルサイズの直接比較: サンプルサイズが異なるヒストグラムを度数で重ねると大きい方が支配的に見えます。密度(density=True)に正規化して比較しましょう。
  • 密度プロット — 分布を滑らかな曲線で可視化
  • 箱ひげ図 — 中央値・四分位数・外れ値を比較
  • ECDF — 累積割合で閾値以下の比率を確認