「平均が同じ = 同じデータ」は大間違い。本記事では 2 つのクラス の例を使って、平均が同じでも全く違うデータの実態を、標準偏差 で見破ります。
1. 平均が同じでも実態が違う例
2 クラスのテストの点数
Python
import numpy as npimport matplotlib.pyplot as plt
# クラス A: 全員 70 点付近 (ばらつき小)class_a = [68, 69, 70, 70, 70, 71, 72]
# クラス B: 30 点と 100 点が半々 (ばらつき大)class_b = [30, 30, 35, 70, 100, 100, 105]
print(f"クラス A: 平均 {np.mean(class_a):.1f}、標準偏差 {np.std(class_a, ddof=1):.1f}")print(f"クラス B: 平均 {np.mean(class_b):.1f}、標準偏差 {np.std(class_b, ddof=1):.1f}")# クラス A: 平均 70.0、標準偏差 1.4# クラス B: 平均 67.1、標準偏差 36.4平均はほぼ同じ (70 vs 67) なのに、標準偏差は 25 倍差。クラス B には深刻な学力差がある可能性が、平均だけ見ても分からない。
2. 散らばりを測る 3 指標
| 指標 | 計算方法 | 意味 |
|---|---|---|
| 分散 (variance) | (各値 − 平均)² の平均 | ばらつきの大きさ (単位は元の 2 乗) |
| 標準偏差 (σ) | √分散 | ばらつきの大きさ (単位が元と同じ) |
| 四分位範囲 (IQR) | Q3 − Q1 | 中央 50% のデータが収まる幅 |
3. Python での計算
標準偏差・四分位
Python
import numpy as np
data = [68, 69, 70, 70, 70, 71, 72, 30, 100, 110]
# 標準偏差 (標本)print(f"σ: {np.std(data, ddof=1):.2f}")
# 四分位q1 = np.percentile(data, 25)q2 = np.percentile(data, 50) # = 中央値q3 = np.percentile(data, 75)iqr = q3 - q1print(f"Q1: {q1}, Q2: {q2}, Q3: {q3}, IQR: {iqr}")
# 外れ値判定 (IQR ルール)lower = q1 - 1.5 * iqrupper = q3 + 1.5 * iqroutliers = [x for x in data if x < lower or x > upper]print(f"外れ値: {outliers}")4. 箱ひげ図で視覚化
matplotlib で箱ひげ図
Python
import matplotlib.pyplot as plt
class_a = [68, 69, 70, 70, 70, 71, 72]class_b = [30, 30, 35, 70, 100, 100, 105]
fig, ax = plt.subplots(figsize=(8, 5))ax.boxplot([class_a, class_b], labels=['クラス A', 'クラス B'])ax.set_ylabel('点数')ax.set_title('2 クラスの点数分布')plt.show()# クラス A は箱が小さい (ばらつき小)、クラス B は大きい5. 標準偏差の実用感覚
- σ が小さい: 全員が平均近辺、安定 (品質管理で重要)
- σ が大きい: ばらつきが激しい、外れ値や複数集団の混在を疑う
- 正規分布なら: 平均 ± 1σ に約 68%、± 2σ に 95%、± 3σ に 99.7% (EP.05 で深掘り)
- 標準化 (z-score): 平均 0、σ 1 に揃える (異なる単位のデータ比較に)
6. 落とし穴
- ddof の取違え: 標本なら ddof=1、母集団なら ddof=0 を意識
- 外れ値の扱い: 削除 vs 残す、判断は分析目的次第
- 変動係数の利用: 単位が違う場合は σ ÷ 平均 で比較 (CV)
- 正規分布前提のσ: 歪んだ分布で σ を語っても意味薄い
7. 次の話
EP.04 では 度数分布とヒストグラム を扱います。「分布の形」を見ることで、データの本質がもっと見えるようになります。
この記事の感想を教えてください
あなたの 1 クリックで、本当にこの記事は更新されます。「もっと詳しく」「続編希望」が一定数集まった記事は、 ふくふくが 実際に内容を拡充したり続編記事を公開 します。 送信したリアクションはお使いのブラウザに記録され、再カウントされません。