頻度主義統計学とベイズ統計学、それぞれのアプローチ
はじめに
同じコイン投げのデータを前にしても、頻度主義統計学とベイズ統計学は別の問いを立てます。頻度主義は「コインが公平だとしたら、このデータはどれくらい珍しいか」を問い、ベイズは「このデータを見た後で、表の出る確率はどの値にありそうか」を問います。出発点になる「確率」の解釈が違うため、推定の手続きも、結果の読み方も変わります。この記事では、コイン投げという単純な例で両者の計算を並べ、解釈と使い分けの違いを具体的に見ていきます。
対象読者:
- 統計学の基本的な概念を学びたい方
- 頻度主義とベイズ主義の違いを知りたい方
- データ分析の実務でどちらのアプローチを使うべきか悩んでいる方
記事のポイント:
- 頻度主義とベイズ主義の「確率」の解釈の違いを明確にします
- コイン投げのシミュレーションを通じて、両アプローチの具体的な計算方法を示します
- それぞれの長所と短所を比較し、実務での使い分けの指針を示します
- 仮説検定で両者の結論の読み方がどう違うかを説明します
頻度主義とベイズ統計学の基本的な考え方
両者の違いの根は、「確率」をどう解釈するかにあります。頻度主義統計学は、確率を「無限回の試行における事象の相対頻度の極限」と定義します。ベイズ統計学は、確率を「事象に対する信念の度合い(degree of belief)」として解釈します。数式で書くと次のようになります。
頻度主義統計学における確率:
ベイズ統計学における事後確率:
ここで、 はパラメータ(例えばコインの表が出る確率)、 は観測データ(例えばコイン投げの結果)を表します。ベイズの定理では、事前確率 (データを見る前のパラメータへの信念)と尤度 (パラメータが与えられた下でのデータの出現確率)を組み合わせて、事後確率 (データを見た後のパラメータへの信念)を計算します。
コイン投げで両者の計算を並べる
解釈の違いが計算にどう現れるかを見るため、「コインの表が出る確率」を推定する問題を考えます。
相対頻度を数えるだけの頻度主義
頻度主義では、コインを何度も投げ、表が出た回数の割合(相対頻度)を計算します。試行回数を増やすほど、相対頻度は真の確率に近づくと考えます。
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
事前分布を事後分布に更新するベイズ
ベイズでは、まず表が出る確率 に対する事前分布 を設定します。これは、コインを投げる前の に関する信念を表します。次に、コイン投げの結果(データ)を観測し、尤度関数 を計算します。最後に、ベイズの定理を用いて事後分布 を計算します。
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
ここでは、事前分布として一様分布( 上の全ての値が等しく確からしい)を使用しています。
1000回投げたときに両者が返すもの

上図は、1000回のコイン投げシミュレーションの結果です。左図が頻度主義で、コインを投げた回数に対する表の割合の推移です。試行回数が増えるにつれて、割合は真の確率(この場合は0.5)に近づきます。
右図がベイズで、表が出る確率 の事後分布です。この分布は、データを観測した後での に関する信念を表します。最初は一様分布(平らな線)でしたが、データが増えるにつれて、真の確率付近にピークを持つ分布に変わっていきます。頻度主義が返すのは割合という1つの数値で、ベイズが返すのは分布そのものだという点が、この2枚を並べたときのいちばんの違いです。
両アプローチの特徴と使い分け
| 特徴 | 頻度主義統計学 | ベイズ統計学 |
|---|---|---|
| 確率の解釈 | 無限回の試行における相対頻度 | 信念の度合い |
| パラメータの扱い | 固定値 | 確率変数(確率分布を持つ) |
| 事前知識 | 使用しない | 事前分布として使用する |
| データ量 | 大量のデータを必要とする | 少ないデータでも推論可能 |
| 計算量 | 比較的少ない | 場合によっては非常に多い(特に複雑なモデルの場合) |
| 解釈 | 客観的(ただし、有意水準などの恣意的な設定が必要な場合がある) | 主観的(事前分布の選択に依存する)だが、不確実性を定量的に表現できる |
| 代表的な手法 | 仮説検定、信頼区間 | ベイズ推定、ベイズ因子、信用区間 |
どちらが優れているという話ではありません。問題の性質、手元のデータ量、分析の目的に応じて使い分けます。
仮説検定でも問いの立て方が分かれる
「コインは公平か」という判断そのものにも、両者の違いが出ます。統計的仮説検定は、データに基づいて仮説の妥当性を評価する手続きですが、頻度主義とベイズでは何に確率を割り当てるかが違います。
p値で帰無仮説を棄却する頻度主義
頻度主義では、帰無仮説(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値がαより小さい場合、帰無仮説(コインは公平)を棄却します。右図がベイズで、 の事後分布とROPE(灰色の領域)を示します。事後分布の大部分がROPE内にある場合、「コインは実質的に公平である」と結論付けます。
p値は「帰無仮説が正しいと仮定した場合に、観測されたデータ(またはより極端なデータ)が得られる確率」であって、「コインが公平である確率」ではありません。一方、ベイズの事後分布は「データと事前知識を考慮した上で、パラメータが特定の範囲にある確率」を表すので、ROPEを使えば「パラメータが実質的に等価な範囲にある確率」を直接読めます。「コインが公平である確率は◯◯」という言い方が許されるのはベイズだけです。
まとめ
頻度主義とベイズ統計は、確率の解釈も推論の方法も、仮説検定の考え方も根本から違います。頻度主義は客観性を重視してデータの頻度から推論し、ベイズは事前知識を組み込みながら不確実性を確率分布で表します。
どちらを選ぶかは、いくつかの条件で決まります。データが豊富なら両者の結果は近づきますが、データが少ないと事前知識を組み込めるベイズに分があります。不確実性を分布として示したいならベイズが、棄却か非棄却かの二値判断で足りるなら頻度主義が向きます。複雑なモデルではベイズの計算コストが高くつく点も、判断材料になります。
近年は両者を組み合わせた手法も広がっており、問題ごとに使い分けるのが現実的です。次に分析を設計するときは、「信頼できる事前知識を数式に載せられるか」と「結論を分布の形で報告する必要があるか」の2点を先に確認してみてください。この2つに答えが出れば、どちらで進めるかは自然に定まります。