推測統計
田中VPoE「記述統計で手元のデータの全体像がわかったね。でも、ビジネスで知りたいのは『今後どうなるか』『本当に違いがあるのか』ということだ。」
あなた「手元のデータだけで結論を出していいんですか?」
田中VPoE「いい疑問だ。手元のデータはあくまでサンプルだ。そこから母集団全体について推測するのが推測統計の役割なんだ。信頼区間や中心極限定理を理解しよう。」
母集団と標本
基本概念
| 用語 | 説明 | NetShop社の例 |
|---|---|---|
| 母集団 | 知りたい対象の全体 | 全顧客の購買行動 |
| 標本(サンプル) | 母集団から取り出した一部 | 分析対象の1年間のデータ |
| 母数(パラメータ) | 母集団の特性値 | 真の平均購入金額 |
| 統計量 | 標本から計算した値 | 標本平均、標本標準偏差 |
なぜ標本を使うのか
- 母集団全体のデータを得ることは通常不可能(将来の顧客を含む)
- 全数調査はコストが高い
- 適切な標本からでも信頼性の高い推測が可能
標本分布
標本平均の分布
同じ母集団から何度もサンプリングすると、標本平均は毎回異なります。この標本平均の分布を標本分布と呼びます。
import numpy as np
import matplotlib.pyplot as plt
# シミュレーション:母集団から繰り返しサンプリング
population = df['amount'].values # これを母集団とみなす
sample_means = []
for _ in range(1000):
sample = np.random.choice(population, size=100, replace=True)
sample_means.append(np.mean(sample))
plt.figure(figsize=(10, 5))
plt.hist(sample_means, bins=50, edgecolor='black', alpha=0.7)
plt.axvline(np.mean(population), color='red', linestyle='--', label='母平均')
plt.xlabel('標本平均')
plt.ylabel('頻度')
plt.title('標本平均の分布(n=100, 1000回サンプリング)')
plt.legend()
plt.show()
中心極限定理
**中心極限定理(CLT: Central Limit Theorem)**は統計学で最も重要な定理の1つです:
母集団の分布がどんな形であっても、サンプルサイズが十分に大きければ(一般にn >= 30)、標本平均の分布は正規分布に近づく。
# 元の分布が歪んでいても...
fig, axes = plt.subplots(1, 3, figsize=(15, 4))
# 元の分布(右に歪んだ分布)
axes[0].hist(population, bins=50, alpha=0.7)
axes[0].set_title('元の分布(歪んでいる)')
# n=10の標本平均分布
means_10 = [np.mean(np.random.choice(population, 10)) for _ in range(1000)]
axes[1].hist(means_10, bins=50, alpha=0.7)
axes[1].set_title('標本平均の分布(n=10)')
# n=100の標本平均分布
means_100 = [np.mean(np.random.choice(population, 100)) for _ in range(1000)]
axes[2].hist(means_100, bins=50, alpha=0.7)
axes[2].set_title('標本平均の分布(n=100)')
plt.tight_layout()
plt.show()
CLTの意味するところ
| サンプルサイズ | 標本平均の分布 | 推定の精度 |
|---|---|---|
| n = 5 | まだ歪みが残る | 低い |
| n = 30 | ほぼ正規分布 | 実用的 |
| n = 100 | 正規分布に近い | 高い |
| n = 1000 | ほぼ完全な正規分布 | 非常に高い |
標準誤差
標本平均のばらつきを**標準誤差(SE: Standard Error)**と呼びます:
SE = 標準偏差 / √n
se = df['amount'].std() / np.sqrt(len(df))
print(f"標準誤差: {se:,.0f}円")
サンプルサイズnが大きくなるほどSEは小さくなり、推定の精度が上がります。
信頼区間
信頼区間とは
母平均の推定値に「幅」を持たせたものが信頼区間です。
「95%信頼区間」は、「同じ方法で100回サンプリングしたら、そのうち95回はこの区間内に母平均が含まれる」という意味。
from scipy import stats
# 95%信頼区間の計算
mean = df['amount'].mean()
se = df['amount'].std() / np.sqrt(len(df))
ci_95 = stats.t.interval(
confidence=0.95,
df=len(df) - 1,
loc=mean,
scale=se
)
print(f"平均注文金額: {mean:,.0f}円")
print(f"95%信頼区間: ({ci_95[0]:,.0f}円, {ci_95[1]:,.0f}円)")
信頼区間の幅に影響する要因
| 要因 | 区間が狭くなる | 区間が広くなる |
|---|---|---|
| サンプルサイズ | n が大きい | n が小さい |
| データのばらつき | 標準偏差が小さい | 標準偏差が大きい |
| 信頼水準 | 90%信頼区間 | 99%信頼区間 |
ビジネスでの活用
信頼区間はレポートで「不確実性」を伝えるために使います:
- 「平均注文金額は3,200円です」 → 点推定のみ
- 「平均注文金額は3,200円(95%CI: 3,050-3,350円)です」 → 不確実性を含む
経営判断では、信頼区間の幅が意思決定に影響する場合があります。
よくある誤解
| 誤解 | 正しい理解 |
|---|---|
| 「95%の確率で母平均がこの区間にある」 | 「100回サンプリングすれば95回はこの方法で区間が母平均を含む」 |
| 「サンプルが大きければ常に正確」 | 「偏ったサンプルは大きくても不正確」 |
| 「信頼区間が狭い=良い分析」 | 「データの性質による。無理に狭くする必要はない」 |
まとめ
| 項目 | ポイント |
|---|---|
| 母集団と標本 | 手元のデータは母集団の一部(標本) |
| 中心極限定理 | n >= 30で標本平均は正規分布に近づく |
| 標準誤差 | SE = σ/√n。nが大きいほど推定精度が向上 |
| 信頼区間 | 母数の推定に不確実性の幅を加えたもの |
| ビジネス活用 | レポートに信頼区間を含め、不確実性を伝える |
チェックリスト
- 母集団と標本の違いを説明できる
- 中心極限定理の意味を理解している
- 標準誤差の計算方法と意味を知っている
- 95%信頼区間を計算し、正しく解釈できる
次のステップへ
推測統計の基礎を理解しました。次は、「AとBに本当に違いがあるのか」を統計的に検証する仮説検定を学びましょう。
推定読了時間:30分