以下の統計検定2級対策動画で用いられているスライドの一部です。
1. 具体的なシナリオから始めよう
【シナリオ】
ある製薬会社が、新しい高血圧治療薬 「A-2024」 を開発しました。
この新薬が、既存の標準薬よりも血圧を降下させる効果が 本当に高いのか を検証する臨床試験を計画しています。
仮説の設定
統計的に検証するため、まず2つの相反する仮説を立てます。
-
帰無仮説 $H_0$
「新薬A-2024の効果は、 標準薬と同等である 」
(差はない、効果はない) -
対立仮説 $H_1$
「新薬A-2024の効果は、 標準薬よりも高い 」
(差がある、効果がある)
臨床試験のデータから、$H_0$ を棄却できる(捨て去れる)かを判断します。
判断には「誤り」が伴う
データに基づく判断は100%確実ではありません。
起こりうる「判断の誤り」は、大きく2種類に分けられます。
- 誤り①: 効果がないのに 「ある」 と判断してしまう
- 誤り②: 効果があるのに 「ない」 と見過ごしてしまう
それぞれの誤りについて、詳しく見ていきましょう。
誤り①:効果がないのに「ある」と判断
実際には「新薬の効果は標準薬と同等」にもかかわらず、データの偶然なばらつきから、誤って 「新薬は効果が高い」 と結論づけてしまう事態。
- 結果: 効果のない薬を承認・販売してしまうリスク。
- この誤りを犯す確率の上限を、分析者が事前に決めます。
- これが 有意水準 ($\alpha$) です。
有意水準 ($\alpha$) とは?
第1種の過誤 を犯す確率の上限値。
例えば、有意水準を $\alpha = 0.05$ と設定した場合…
これは、
「もし新薬の効果が本当に標準薬と同等だったとしても、誤って『効果が高い』と結論づけてしまう確率を、最大でも5%に抑える」
というリスク許容度を示す意思決定です。
誤り②:効果があるのに「ない」と見過ごす
実際には「新薬の効果は標準薬より高い」にもかかわらず、データからその差を検出できず、「効果が高いとは言えない」 と結論づけてしまう事態。
- 結果: 本当に有効な薬の開発を中止してしまうリスク。
- この「本当に存在する効果を、正しく見つけ出せる能力」が 検出力 ($1-\beta$) です。
検出力 ($1-\beta$) とは?
本当に差があるときに、正しく「差がある」と結論を出せる確率。
例えば、検出力を $1-\beta = 0.9$ に設定した場合…
これは、
「もし新薬が本当に効果が高い場合に、その効果を90%の確率で正しく検出し、『効果が高い』と結論づける」
という目標設定です。
一般的に、検出力は 80% (0.8) 以上 を目指します。
2つの誤りの関係性:トレードオフ
「効果がないのに ある と言ってしまう誤り ($\alpha$)」
「効果があるのに ない と見過ごす誤り ($\beta$)」
この2つの誤りを 同時に小さくすることはできません 。
片方を減らそうとすると、もう片方が増える トレードオフの関係 にあります。
トレードオフの可視化
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import norm
# Parameters
mu0, mu1 = 0, 2.0 # Means of H0 and H1 distributions
sigma = 1.0 # Standard deviation (assumed to be the same)
alpha = 0.05 # Significance level
# Create x-axis values
x = np.linspace(-4, 6, 1000)
# Calculate critical value
critical_value = norm.ppf(1 - alpha, loc=mu0, scale=sigma)
# Plotting
plt.figure(figsize=(12, 7))
# Plot H0 distribution
plt.plot(x, norm.pdf(x, mu0, sigma), label='H0: No Effect (mu=0)')
# Plot H1 distribution
plt.plot(x, norm.pdf(x, mu1, sigma), label='H1: Effect Exists (mu=2.0)', linestyle='--')
# Fill alpha area
x_alpha = np.linspace(critical_value, 6, 100)
plt.fill_between(x_alpha, norm.pdf(x_alpha, mu0, sigma), color='red', alpha=0.5, label=f'Alpha (Type I Error) = {alpha:.2f}')
# Fill beta area
x_beta = np.linspace(-4, critical_value, 100)
beta = norm.cdf(critical_value, loc=mu1, scale=sigma)
plt.fill_between(x_beta, norm.pdf(x_beta, mu1, sigma), color='blue', alpha=0.5, label=f'Beta (Type II Error) = {beta:.2f}')
# Add vertical line for critical value
plt.axvline(critical_value, color='black', linestyle='-.', label=f'Critical Value = {critical_value:.2f}')
# Labels and Title
plt.title('Trade-off between Alpha and Beta')
plt.xlabel('Observed Value')
plt.ylabel('Probability Density')
plt.legend()
plt.grid(True)
plt.show()
もし、有意水準 $\alpha$ を 小さく したら?
(判断基準を 厳しく したら?)
-
メリット
- 効果がないのに「ある」と誤る確率が減る (第1種の過誤 ↓)
-
デメリット
- 本当に効果があっても、よほど大きな差でないと検出できない
- 効果を見過ごす確率が上がる (第2種の過誤 ↑)
- 検出力が低下する
もし、有意水準 $\alpha$ を 大きく したら?
(判断基準を 緩く したら?)
-
メリット
- わずかな差でも検出しやすくなる
- 効果を見過ごす確率が下がる (第2種の過誤 ↓)
- 検出力が向上する
-
デメリット
- 効果がないのに「ある」と誤る確率が増える (第1種の過誤 ↑)
2. 一般化と学術的な定義
ここまでの具体例を、統計学の正式な用語で整理し直しましょう。
仮説検定における4つの結果
検定の判断と真実の状態を組み合わせると、以下の表のように整理できます。
| 検定結果:$H_0$ を棄却しない | 検定結果:$H_0$ を棄却する | |
|---|---|---|
|
真実:$H_0$ は真 (差はない) |
正しい判断 | 第1種の過誤 (Type I Error) |
|
真実:$H_0$ は偽 (差がある) |
第2種の過誤 (Type II Error) | 正しい判断 |
過誤の定義
-
第1種の過誤 (αエラー)
帰無仮説 $H_0$ が真であるにもかかわらず、誤って $H_0$ を棄却してしまう誤り。 偽陽性 とも呼ばれる。
-
第2種の過誤 (βエラー)
帰無仮説 $H_0$ が偽であるにもかかわらず、$H_0$ を棄却しない誤り。 偽陰性 とも呼ばれる。
有意水準と検出力の数式定義
-
有意水準 $\alpha$
第1種の過誤を犯す確率。
$$
\alpha = P(\text{$H_0$を棄却する} \mid \text{$H_0$は真})
$$
-
検出力 $1-\beta$
対立仮説 $H_1$ が真のときに、正しく $H_0$ を棄却できる確率。
$$
\text{検出力} = 1 - \beta = P(\text{$H_0$を棄却する} \mid \text{$H_0$は偽})
$$
まとめ
- 仮説検定には 2種類の過誤 (第1種・第2種)が常に伴う。
- 有意水準 $\alpha$ は、効果がないのに「ある」と誤る確率の上限。
- 検出力 $1-\beta$ は、本当に存在する効果を見つけ出せる能力。
- $\alpha$ と $\beta$ は トレードオフの関係 にあり、両方を同時に小さくすることはできない。
これらの概念の正確な理解が、信頼性の高いデータ駆動の意思決定に繋がります。
