はじめに
統計学には、大きく分けて頻度主義統計学とベイズ統計学の2つのアプローチが存在します。これらは確率の解釈と、それに基づく統計的推論の方法において根本的に異なります。本記事では、コイン投げという単純な例を通じて、これら2つのアプローチの違いを具体的に示し、それぞれの特徴と使い分けについて解説します。
対象読者:
- 統計学の基本的な概念を学びたい方
- 頻度主義とベイズ主義の違いを知りたい方
- データ分析の実務でどちらのアプローチを使うべきか悩んでいる方
記事のポイント:
- 頻度主義とベイズ主義の「確率」の解釈の違いを明確にします
- コイン投げのシミュレーションを通じて、両アプローチの具体的な計算方法を示します
- それぞれの長所と短所を比較し、実務での使い分けの指針を示します
- 仮説検定における両アプローチの違いと解釈について説明します
頻度主義とベイズ統計学の基本的な考え方
頻度主義統計学とベイズ統計学の最も重要な違いは、「確率」をどのように解釈するかという点にあります。
- 頻度主義統計学: 確率を「無限回の試行における事象の相対頻度の極限」と定義します。
- ベイズ統計学: 確率を「事象に対する信念の度合い(degree of belief)」として解釈します。
これらの違いは、以下の数式で表されます。
頻度主義統計学における確率:
P(A) = \lim_{n \to \infty} \frac{\text{事象Aの発生回数}}{n}
ベイズ統計学における事後確率:
P(\theta|D) = \frac{P(D|\theta)P(\theta)}{P(D)}
ここで、\theta
はパラメータ(例えばコインの表が出る確率)、D
は観測データ(例えばコイン投げの結果)を表します。ベイズの定理では、事前確率 P(\theta)
(データを見る前のパラメータへの信念)と尤度 P(D|\theta)
(パラメータが与えられた下でのデータの出現確率)を組み合わせて、事後確率 P(\theta|D)
(データを見た後のパラメータへの信念)を計算します。
コイン投げ実験による実践的な比較
確率の解釈の違いを具体的に理解するため、「コインの表が出る確率」を推定する問題を考えます。
頻度主義的アプローチ
頻度主義的アプローチでは、コインを何度も投げ、表が出た回数の割合(相対頻度)を計算します。試行回数を増やすほど、相対頻度は真の確率に近づくと考えます。
def frequentist_coin_flips(n_flips, true_prob=0.5):
"""頻度主義的アプローチによるコイン投げシミュレーション"""
flips = np.random.binomial(1, true_prob, n_flips)
cumulative_heads = np.cumsum(flips)
proportions = cumulative_heads / np.arange(1, n_flips + 1)
return proportions
ベイズ統計的アプローチ
ベイズ統計的アプローチでは、まず表が出る確率 \theta
に対する事前分布 P(\theta)
を設定します。これは、コインを投げる前の \theta
に関する信念を表します。次に、コイン投げの結果(データ)を観測し、尤度関数 P(D|\theta)
を計算します。最後に、ベイズの定理を用いて事後分布 P(\theta|D)
を計算します。
def bayesian_coin_flips(n_heads, n_trials):
"""ベイズ統計的アプローチによるコイン投げの確率分布計算"""
theta = np.linspace(0, 1, 1000)
prior = np.ones_like(theta) # 一様事前分布
likelihood = stats.binom.pmf(n_heads, n_trials, theta)
posterior = likelihood * prior
posterior /= np.trapz(posterior, theta) # 正規化
return theta, posterior
ここでは、事前分布として一様分布([0, 1]
上の全ての値が等しく確からしい)を使用しています。
実験結果の比較
上図は、1000回のコイン投げシミュレーションの結果です。
- 左図 (頻度主義): コインを投げた回数に対する、表が出た割合の推移を示します。試行回数が増えるにつれて、割合は真の確率(この場合は0.5)に近づきます。
- 右図 (ベイズ主義): 表が出る確率
\theta
の事後分布を示します。この分布は、データを観測した後での\theta
に関する信念を表します。最初は一様分布(平らな線)でしたが、データが増えるにつれて、真の確率付近にピークを持つ分布に変化します。
両アプローチの特徴と使い分け
特徴 | 頻度主義統計学 | ベイズ統計学 |
---|---|---|
確率の解釈 | 無限回の試行における相対頻度 | 信念の度合い |
パラメータの扱い | 固定値 | 確率変数(確率分布を持つ) |
事前知識 | 使用しない | 事前分布として使用する |
データ量 | 大量のデータを必要とする | 少ないデータでも推論可能 |
計算量 | 比較的少ない | 場合によっては非常に多い(特に複雑なモデルの場合) |
解釈 | 客観的(ただし、有意水準などの恣意的な設定が必要な場合がある) | 主観的(事前分布の選択に依存する)だが、不確実性を定量的に表現できる |
代表的な手法 | 仮説検定、信頼区間 | ベイズ推定、ベイズ因子、信用区間 |
どちらのアプローチが優れているというわけではなく、問題の性質、利用可能なデータ、分析の目的に応じて使い分けることが重要です。
仮説検定における両アプローチの違い
統計的仮説検定は、データに基づいて仮説の妥当性を評価する手法です。頻度主義とベイズ主義では、仮説検定のアプローチも異なります。
頻度主義的仮説検定
頻度主義的アプローチでは、帰無仮説(H₀)と対立仮説(H₁)を設定し、帰無仮説の下で観測されたデータが得られる確率(p値)を計算します。p値が事前に設定した有意水準(α、通常は0.05)よりも小さい場合、帰無仮説を棄却し、対立仮説を採択します。
コインの公平性(表が出る確率が0.5)を検定する場合:
def frequentist_test(data, alpha=0.05):
"""頻度主義的な二項検定
帰無仮説: p = 0.5 (公平なコイン)
対立仮説: p ≠ 0.5 (不公平なコイン)
"""
n = len(data)
n_heads = np.sum(data)
p_value = stats.binomtest(n_heads, n, p=0.5).pvalue
return {
'p_value': p_value,
'reject_h0': p_value < alpha
}
ベイズ統計的仮説検定
ベイズ統計的アプローチでは、仮説そのものに確率を割り当てます。事前分布と尤度関数から事後分布を計算し、事後分布に基づいて仮説の確からしさを評価します。
ROPE (Region of Practical Equivalence: 実質同等領域) を使う方法が一例です。
def bayesian_test(data, rope_width=0.05):
"""ベイズ的な検定
ROPE (Region of Practical Equivalence) を用いたアプローチ
rope_width: 実質的に等価とみなす範囲の幅(片側)
"""
theta = np.linspace(0, 1, 1000)
prior = np.ones_like(theta) # 一様事前分布
n = len(data)
n_heads = np.sum(data)
# 尤度と事後分布の計算
likelihood = stats.binom.pmf(n_heads, n, theta)
posterior = likelihood * prior
posterior /= np.trapz(posterior, theta)
# ROPEの範囲(0.5±rope_width)内の確率を計算
rope_idx = (theta >= 0.5 - rope_width) & (theta <= 0.5 + rope_width)
prob_in_rope = np.trapz(posterior[rope_idx], theta[rope_idx])
return prob_in_rope
ROPEは、実質的に「差がない」とみなせるパラメータの値の範囲です。事後分布がROPE内にどれだけ含まれるかを計算し、その割合に基づいて仮説を評価します。
実験結果の比較
上図は、公平なコイン(p=0.5)と不公平なコイン(p=0.7)それぞれに対する両アプローチの検定結果の例です。
- 頻度主義 (左図): 縦線はp値を、点線は有意水準(α=0.05)を示します。p値がαより小さい場合、帰無仮説(コインは公平)を棄却します。
- ベイズ主義 (右図):
\theta
の事後分布とROPE(灰色の領域)を示します。事後分布の大部分がROPE内にある場合、「コインは実質的に公平である」と結論付けます。
両アプローチの解釈の違い
- 頻度主義: 「帰無仮説が正しいと仮定した場合、観測されたデータ(またはより極端なデータ)が得られる確率」がp値。p値は、帰無仮説の証拠の強さを測る指標。
- ベイズ主義: 事後分布は、「データと事前知識を考慮した上で、パラメータが特定の範囲にある確率」を表す。ROPEを用いた検定では、「パラメータが実質的に等価な範囲にある確率」を直接評価できる。
まとめ
頻度主義統計学とベイズ統計学は、確率の解釈、推論の方法、そして仮説検定のアプローチにおいて根本的に異なります。
- 頻度主義: 客観性を重視し、データの頻度に基づいて推論を行う。
- ベイズ主義: 主観的な事前知識を組み込むことができ、不確実性を確率分布として表現する。
実務では、以下の点を考慮して適切なアプローチを選択することが重要です。
- データの量: データが豊富にある場合は、頻度主義的アプローチでもベイズ統計的アプローチでも、結果は似通ってくることが多い。データが少ない場合は、事前知識を活用できるベイズ統計的アプローチが有利な場合がある。
- 事前知識の有無: 信頼できる事前知識がある場合は、ベイズ統計的アプローチがその知識を有効活用できる。事前知識がない、または客観性を重視したい場合は、頻度主義的アプローチが適している。
- 不確実性の表現: 不確実性を確率分布として表現したい場合はベイズ統計的アプローチ、二値的な判断(棄却/非棄却)を行いたい場合は頻度主義的アプローチが適する。
- 計算コスト: ベイズ統計は、複雑なモデルの場合、計算コストが高くなる場合がある。
近年では、両アプローチの長所を組み合わせた手法や、問題に応じて柔軟に使い分ける考え方が広まっています。
お気軽にご相談ください!
弊社のデジタル技術を活用し、貴社のDXをサポートします。
基本的な設計や実装支援はもちろん、機械学習・データ分析・3D計算などの高度な技術が求められる場面でも、最適なソリューションをご提案します。
初回相談は無料で受け付けております。困っていること、是非お聞かせください。