フィッシャーの正確検定とは?小標本のクロス集計表を正確に検定する手法を解説
フィッシャーの正確検定は2×2クロス集計表の関連性を正確に検定する手法です。カイ二乗検定との使い分け、超幾何分布による計算原理、ビジネスでの活用場面と注意点を解説します。
フィッシャーの正確検定とは
フィッシャーの正確検定(Fisher’s exact test)とは、2×2のクロス集計表において2つのカテゴリ変数間の関連性を正確に検定する手法です。「正確」とは、近似分布を使わず、超幾何分布から直接p値を算出することを意味します。
カイ二乗検定は期待度数が十分に大きい場合に有効ですが、期待度数が5未満のセルがあるとカイ二乗分布への近似が不正確になります。フィッシャーの正確検定はサンプルサイズの制約を受けず、小標本でも正確なp値が得られます。
この手法は1934年にロナルド・フィッシャーが「紅茶実験」の分析方法として考案しました。現在ではパイロットテストの結果検証や希少事象の分析など、サンプルサイズが限られる場面で広く使われています。
ロナルド・フィッシャー(1890-1962)は、近代統計学の父と呼ばれるイギリスの統計学者です。1934年に生物学者ミュリエル・ブリストルが「紅茶にミルクを先に入れたか後に入れたかを見分けられる」と主張した逸話をきっかけに、正確検定の方法を考案しました。この有名な「紅茶の女性」の実験は、1935年の著書『The Design of Experiments(実験計画法)』で詳述されています。
構成要素
2×2クロス集計表
フィッシャーの正確検定は2×2の分割表を対象とします。行と列にそれぞれ2水準のカテゴリ変数を配置し、4つのセルに度数を記入します。
| 結果あり | 結果なし | 行合計 | |
|---|---|---|---|
| 群A | a | b | a+b |
| 群B | c | d | c+d |
| 列合計 | a+c | b+d | n |
超幾何分布
フィッシャーの正確検定は、行合計と列合計を固定した条件のもとで、セルの値(たとえばa)が超幾何分布に従うことを利用します。行合計と列合計が固定されれば、1つのセルの値が決まると残り3つも一意に定まります。
p値の計算
観測されたセルの値aに対して、超幾何分布から「aと同じかそれ以上に極端な値が生じる確率」を合計してp値を求めます。両側検定ではaが期待値より極端に大きい方向と小さい方向の両方を考慮します。
カイ二乗検定との使い分け
| 条件 | 推奨される検定 |
|---|---|
| すべてのセルの期待度数が5以上 | カイ二乗検定 |
| 期待度数が5未満のセルがある | フィッシャーの正確検定 |
| 全体のサンプルサイズが20未満 | フィッシャーの正確検定 |
| 3×3以上のクロス集計表 | カイ二乗検定(またはフィッシャー・フリーマン・ハルトン検定) |
実践的な使い方
ステップ1: 2×2のクロス集計表を作成する
2つの二値変数(施策あり/なし × 成果あり/なし、など)のクロス集計表を作成します。行合計と列合計を確認します。
ステップ2: 期待度数を確認して検定を選ぶ
期待度数を計算し、5未満のセルがあればフィッシャーの正確検定を選びます。すべてのセルで期待度数が5以上ならカイ二乗検定でも問題ありません。
ステップ3: 検定を実行する
PythonではSciPy(scipy.stats.fisher_exact)、RではFisher.test関数で実行できます。Excelには標準関数がないため、統計アドインを使います。
ステップ4: オッズ比を併せて報告する
フィッシャーの正確検定では、関連の強さを示すオッズ比が同時に算出されます。オッズ比 = (a×d)/(b×c) で計算され、1より大きければ群Aの方が結果ありの割合が高いことを示します。
ステップ5: 結果を解釈する
「新施策群のコンバージョン率は対照群より高く、この差は統計的に有意でした(p=0.031, OR=3.2, 95%CI [1.1, 9.4])」のように報告します。
活用場面
- パイロットテストの評価: サンプルサイズが小さい試験的な施策の効果を統計的に検証します
- 希少事象の分析: 重大インシデント、高額取引、VIP顧客の行動など、件数が少ないデータの関連性を検定します
- 医療・安全性分析: 副作用の発生率比較や安全性データの分析で、少数のイベントを正確に評価します
- 品質管理の小ロット検査: 少数のサンプルで製造条件と不良の関連を検定します
- アンケートの層別分析: サブグループのサンプルサイズが小さい場合のクロス集計分析に使います
注意点
大標本では計算コストが高い
超幾何分布の正確な計算は、サンプルサイズが大きくなると計算量が増大します。すべてのセルの期待度数が十分に大きい場合は、カイ二乗検定で十分な精度が得られます。
2×2以外の表への拡張は限定的
標準的なフィッシャーの正確検定は2×2の分割表に限定されます。3×3以上のクロス集計表にはフィッシャー・フリーマン・ハルトン検定(一般化フィッシャー検定)がありますが、計算コストがさらに高くなります。
両側検定のp値の定義に注意する
両側検定のp値の計算方法にはいくつかの流儀があります。ソフトウェアによって異なる方法を採用しているため、結果の解釈時に使用された方法を確認します。
因果関係の推定には使えない
フィッシャーの正確検定は関連性の有無を検定するのみで、因果関係を示すものではありません。観察データでの結果は交絡因子の影響を受ける可能性があります。
フィッシャーの正確検定で「統計的に有意」という結果が出ても、サンプルサイズが小さい場合は効果の大きさの推定が不安定です。p値だけでなく、オッズ比とその信頼区間を必ず併せて報告し、効果の実質的な意味を評価してください。信頼区間が広い場合は、追加データの収集を検討する必要があります。
まとめ
フィッシャーの正確検定は、小標本の2×2クロス集計表において正確なp値を算出する検定手法です。カイ二乗検定の近似が不正確になる小標本・低期待度数の場面で、信頼性の高い検定結果を提供します。オッズ比と信頼区間を併せて報告することで、関連の有無だけでなく効果の大きさと精度も伝えることができます。