相関ヒートマップ

最終更新: 1 分で読めます このページを編集

相関係数を色で表現すると、どの指標が一緒に動きやすいかを視覚的に把握できます。pandas で相関行列を作り、seaborn.heatmap で描画するのが簡単です。

import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

df = pd.DataFrame(
    {
        "売上":    [100, 120, 150, 170, 190, 210, 180, 205],
        "集客":    [230, 260, 300, 320, 350, 370, 330, 360],
        "滞在時間": [18, 20, 23, 25, 27, 29, 26, 28],
        "リピート率": [0.32, 0.34, 0.36, 0.38, 0.4, 0.41, 0.39, 0.4],
    }
)

corr = df.corr(numeric_only=True)
fig, ax = plt.subplots(figsize=(6, 5))
sns.heatmap(
    corr,
    annot=True,
    cmap="Blues",
    vmin=-1,
    vmax=1,
    square=True,
    fmt=".2f",
    ax=ax,
)
ax.set_title("売上指標の相関ヒートマップ")
fig.tight_layout()
fig.savefig("static/images/visualize/correlation/corr_heatmap.svg")

heatmap

読み方のポイント #

  • 対角要素は必ず 1 になるので、オフダイアゴナルを重視する。
  • 正の相関(青が濃い)が強いペアは、どちらかの指標を伸ばす施策がもう一方にも効く可能性が高い。
  • 逆に相関が弱い指標は独立に改善できる領域だと考えられる。