Q-Q プロットで正規性をチェック

中級

6.2.8

Q-Q プロットで正規性をチェック

最終更新 2020-05-06 読了時間 1 分
まとめ
  • データが理論分布に従うかを視覚的に判断する。
  • scipy.stats.probplot で45度線との比較。
  • 正規性の確認や分布の裾の偏りを見るときに使う。

scipy.stats.probplot を用いて、データが正規分布に従うかどうかを視覚的に判断します。直線から大きく外れるほど正規性から逸脱しています。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats

data = np.random.normal(loc=0, scale=1, size=500)

fig, ax = plt.subplots(figsize=(5, 5))
stats.probplot(data, dist="norm", plot=ax)

ax.set_title("Q-Q プロット(正規分布との比較)")
ax.grid(alpha=0.2)

fig.tight_layout()

plt.show()

直線から大きく外れるほど正規性から逸脱していますの図

読み方のポイント #

  • 点が45度線上に並んでいれば正規分布に近い。末端が曲がる場合は裾が重い・軽い。
  • 別の理論分布を試したい場合は dist 引数を変更する。
  • データの平均・分散を合わせて報告すると、分布の解釈がしやすい。

いつ使うか #

  • 適している場面: データが正規分布にどの程度従うかを視覚的に検証したいとき。裾の重さや歪みを素早く判断できます。
  • 不向きな場面: サンプルサイズが小さい場合は偶然の揺らぎが大きく、正規性の判断が難しくなります。
  • 代替手段: 統計的な判断にはシャピロ・ウィルク検定などの正規性検定を併用すると客観的です。

よくある失敗パターン #

  • 理論分布の選択ミス: 正規分布を前提にした Q-Q プロットを他の分布に従うデータに適用すると誤った結論を導きます。適切な理論分布を選んでください。
  • サンプルサイズ不足での判断: サンプルが少ないと偶然のばらつきで直線から外れやすく、正規性の判断を誤ります。n=30 以上を目安にしてください。