カテゴリカル変数間の関連の検定
独立変数と従属変数の両方がカテゴリカル変数である場合、2つの変数が関連しているかどうかを調べる検定が必要です。最も一般的な選択肢は、カイ二乗独立性検定とフィッシャーの正確検定です。
どちらを選ぶかは恣意的ではなく、サンプルサイズ、期待セル度数、および表の次元に依存します。このガイドでは、各検定をいつ使うべきか、そしてその区別がなぜ重要かを説明します。
比較一覧表
| 特徴 | カイ二乗検定 | フィッシャーの正確検定 | |------|------------|---------------------| | 計算方法 | 近似 | 正確確率 | | サンプルサイズ | 中~大 | 任意(特に小標本) | | 期待度数 | すべて5以上(経験則) | 最小要件なし | | 表のサイズ | 任意の次元 | 通常2x2(拡張版あり) | | 計算コスト | 低い | 大きな表では高い | | 小標本での精度 | 低い | 優れている | | 効果量 | CramerのV | オッズ比(2x2)、CramerのV | | 連続性の補正 | イェーツの補正が利用可能 | 不要 |
カイ二乗検定の仕組み
カイ二乗独立性検定は、分割表の観測セル度数を、2つの変数が完全に独立している場合に期待される度数と比較します。
ロジック
2つのカテゴリカル変数が独立している場合、一方の変数の値を知っても、他方の変数の値について何も分かりません。期待度数は、この「関連なし」のシナリオを表しています。
カイ二乗統計量
表の各セルについて:
カイ二乗の寄与 = (観測値 - 期待値)^2 / 期待値
全体のカイ二乗統計量は、すべてのセルにおけるこれらの寄与の合計です。観測値と期待値の間の大きな差は、大きなカイ二乗を生み出し、変数が独立ではないことを示唆します。
自由度
df = (行数 - 1) x (列数 - 1)
2x2の表ではdf = 1。3x2の表ではdf = 2です。
カイ二乗検定計算ツールでお試しください。
フィッシャーの正確検定の仕組み
フィッシャーの正確検定は、独立性の仮定の下で、観測された表(またはそれ以上に極端な表)が得られる正確な確率を計算します。近似を使用しません。
ロジック
行合計と列合計(周辺度数)を固定した上で、フィッシャーの検定はすべての可能な表の配置の確率を計算し、観測データと同程度またはそれ以上に極端なすべての配置の確率を合計します。
なぜ「正確」なのか
カイ二乗検定は近似を使用します。検定統計量がカイ二乗分布に従うと仮定しますが、これは十分なサンプルサイズがある場合にのみ正確です。フィッシャーの検定は超幾何分布から実際の確率を計算するため、サンプルサイズに関係なく正確です。
フィッシャーの正確検定計算ツールでお試しください。
期待度数のルール
最も重要な判断基準は、期待セル度数のパターンです。
経験則
カイ二乗近似は、すべての期待セル度数が5以上の場合に有効です。この条件が満たされない場合、カイ二乗統計量は理論的なカイ二乗分布に従わず、p値が信頼できなくなります。
期待度数の計算
セルの期待度数 = (行合計 x 列合計) / 総計
例えば、行合計が30と20、列合計が25と25、総計が50の2x2表では:
左上セルの期待度数 = (30 x 25) / 50 = 15
フィッシャーに切り替えるべき場合
- 2x2表で期待度数が5未満のセルがある → フィッシャーの正確検定を使用。
- より大きな表で期待度数が5未満のセルが20%を超える → フィッシャーの正確検定を使用するか、カテゴリを統合して期待度数を増やす。
- 期待度数が1未満のセルがある → 他のセルに関係なくカイ二乗近似は信頼できない。
実例1:大標本(カイ二乗が適切)
研究シナリオ
ある健康研究者が200人の成人を対象に、運動頻度(定期的 vs 不定期)と睡眠の質(良好 vs 不良)について調査します。
観測データ
| | 良い睡眠 | 悪い睡眠 | 行合計 | |--|---------|---------|--------| | 定期的な運動 | 72 | 28 | 100 | | 不定期な運動 | 48 | 52 | 100 | | 列合計 | 120 | 80 | 200 |
期待度数
| | 良い睡眠 | 悪い睡眠 | |--|---------|---------| | 定期的な運動 | 60 | 40 | | 不定期な運動 | 60 | 40 |
すべての期待度数が5を大幅に上回っています(最小は40)。カイ二乗検定が適切です。
カイ二乗検定の結果
| 統計量 | 値 | |--------|------| | カイ二乗 | 12.00 | | df | 1 | | p値 | 0.0005 | | CramerのV | 0.245 |
フィッシャーの正確検定の結果(比較用)
| 統計量 | 値 | |--------|------| | p値(両側) | 0.0006 | | オッズ比 | 2.786 |
両方の検定が運動の規則性と睡眠の質の間に有意な関連があることを示しています。サンプルが十分に大きいため、p値は非常に類似しています。
実例2:小標本(フィッシャーが必要)
研究シナリオ
ある獣医研究者が、希少な遺伝子変異が小型犬種の特定の疾患に関連しているかどうかを検定します。
観測データ
| | 疾患あり | 疾患なし | 行合計 | |--|---------|---------|--------| | 変異あり | 7 | 2 | 9 | | 変異なし | 3 | 8 | 11 | | 列合計 | 10 | 10 | 20 |
期待度数
| | 疾患あり | 疾患なし | |--|---------|---------| | 変異あり | 4.5 | 4.5 | | 変異なし | 5.5 | 5.5 |
2つのセルの期待度数が5未満(各4.5)です。カイ二乗近似はここでは信頼できません。
カイ二乗検定の結果(信頼できない)
| 統計量 | 値 | |--------|------| | カイ二乗 | 5.05 | | df | 1 | | p値 | 0.025 |
フィッシャーの正確検定の結果(信頼できる)
| 統計量 | 値 | |--------|------| | p値(両側) | 0.0498 | | オッズ比 | 9.33 |
差に注目してください:カイ二乗のp値(0.025)はフィッシャーの正確p値(0.0498)よりもかなり小さくなっています。小標本では、カイ二乗検定は反保守的(帰無仮説を容易に棄却しすぎる)になる傾向があり、これがまさにフィッシャーの正確検定が推奨される理由です。
イェーツの連続性補正
2x2表の場合、一部の研究者はカイ二乗検定にイェーツの連続性補正を適用します。この補正は、二乗する前に観測値と期待値の絶対差から0.5を引き、カイ二乗のp値をフィッシャーの正確p値に近づけます。
イェーツの補正を使うべきですか?
この補正にはやや議論があります:
- 賛成: カイ二乗の結果をより保守的にし、フィッシャーの正確結果に近づけます。
- 反対: 特に中程度のサンプルサイズでは過度に保守的になることが多く、検定の検出力を低下させます。
実践的な推奨: すべての期待度数が5を超えている場合は、イェーツの補正なしでカイ二乗検定を使用してください。期待度数が5未満のものがある場合は、補正を省略して直接フィッシャーの正確検定に進んでください。
より大きな表(2x2を超える場合)
r x c表でのカイ二乗
カイ二乗検定は2行2列を超える表にも自然に拡張されます。公式は同じで、自由度のみが変わります。
例えば、教育水準(高卒、学士、大学院)が政党支持(A党、B党、C党)に関連しているかどうかを検定すると、3x3表でdf = 4になります。
より大きな表でのフィッシャーの正確検定
フィッシャーの正確検定はr x c表に拡張できますが、表の次元とサンプルサイズが増加すると計算が非常に集約的になります。現代のソフトウェア(StatMateを含む)は、中程度の大きさの表に対して正確検定を計算する効率的なアルゴリズムを使用しています。
非常に大きな表の場合、カイ二乗検定が一般的に推奨されます。なぜなら:
- 大標本では近似が正確です。
- 正確検定の計算コストが過大になります。
効果量の指標
CramerのV(両方の検定)
CramerのVは任意の次元の分割表における関連の強さを測定します。
| CramerのV | 解釈(df* = 1) | 解釈(df* >= 2) | |-----------|----------------|-----------------| | 0.10 | 小 | 小 | | 0.30 | 中 | 中 | | 0.50 | 大 | 大 |
ここでのdfは(行数 - 1)と(列数 - 1)の小さい方を指します。
オッズ比(2x2表のみ)
オッズ比は、一方の群で結果が生じる可能性が他方に比べてどれだけ高いかを定量化します。
- OR = 1:関連なし。
- OR > 1:結果が第1群でより起こりやすい。
- OR < 1:結果が第1群でより起こりにくい。
獣医の例では、OR = 9.33は、変異を持つ犬が変異を持たない犬に比べて疾患を持つオッズが9.33倍であることを意味します。
APA形式での報告
カイ二乗検定
カイ二乗独立性検定により、運動の規則性と睡眠の質の間に有意な関連が認められた, X2(1, N = 200) = 12.00, p < .001, Cramer's V = .245。
フィッシャーの正確検定
フィッシャーの正確検定により、遺伝子変異と疾患の存在の間に有意な関連が認められた, p = .050, OR = 9.33, 95% CI [1.26, 69.15]。
報告の主な違い:
- カイ二乗は検定統計量、df、Nを報告します。
- フィッシャーの正確検定は検定統計量を生成しないため、p値のみを報告します。
- 2x2表でのフィッシャーの検定では、オッズ比とその信頼区間を含めます。
判断フローチャート
ステップ1:両方の変数がカテゴリカルですか?
- いいえ → カイ二乗とフィッシャーは適切ではありません。t検定、ANOVA、または回帰を検討してください。
- はい → 次に進みます。
ステップ2:表の次元は?
- 2x2 → ステップ3へ。
- より大きい → ステップ4へ。
ステップ3(2x2表):期待度数を確認。
- すべての期待度数 >= 5 → カイ二乗検定を使用。
- 期待度数 < 5のセルがある → フィッシャーの正確検定を使用。
ステップ4(より大きな表):期待度数を確認。
- すべての期待度数 >= 5 → カイ二乗検定を使用。
- 20%以上が5未満、または1未満のセルがある → フィッシャーの正確検定を使用(計算が可能な場合)、またはカテゴリを統合。
ステップ5:総サンプルサイズ。
- N < 20 → 期待度数に関係なくフィッシャーの正確検定を優先。
- N >= 20 → 上記の期待度数ルールに従う。
よくある間違い
間違い1:小さな期待度数でカイ二乗を使用する
これは最も一般的な誤りです。カイ二乗検定を実行する前に、常に期待度数を確認してください。StatMateはこれを自動的にフラグします。
間違い2:観測度数と期待度数を混同する
判断ルールは期待度数に適用されるのであり、観測度数ではありません。セルの観測値が0でも、十分な期待度数を持つことがあります。
間違い3:対応のあるデータにフィッシャーの検定を適用する
カイ二乗とフィッシャーの正確検定はどちらも独立な観測を仮定します。同じ参加者が複数のセルに寄与する場合(例:事前・事後測定)は、代わりにマクネマー検定を使用してください。
間違い4:カテゴリが多すぎる表を検定する
多くの疎なカテゴリ(期待度数が低いセルが多い)を持つ分割表は、どちらの検定にとっても問題です。類似したカテゴリを統合して、十分なセルサイズを持つ簡単な表を作成することを検討してください。
間違い5:効果量を無視する
大きなサンプルでの有意なp値は、取るに足らない小さな関連を反映している可能性があります。実践的な有意性を伝えるために、常にCramerのVまたはオッズ比を報告してください。
よくある質問
サンプルが大きい場合でもフィッシャーの正確検定を使えますか?
はい。フィッシャーの正確検定は任意のサンプルサイズで有効です。ただし、十分な期待度数を持つ大きなサンプルでは、カイ二乗検定がほぼ同一の結果を与え、計算がより簡単です。
2x2表でセル度数がゼロの場合はどうしますか?
フィッシャーの正確検定はゼロのセルを問題なく処理します。カイ二乗検定は計算可能ですが信頼できません。フィッシャーの正確検定を使用してください。
フィッシャーの正確検定に効果量はありますか?
2x2表の場合、オッズ比が標準的な効果量です。より大きな表の場合、どの有意性検定を適用したかに関係なくCramerのVを使用できます。
順序カテゴリカル変数にこれらの検定を使えますか?
どちらの検定もカテゴリを名義(順序なし)として扱います。カテゴリに自然な順序がある場合(例:低/中/高)、順序を無視すると情報が失われます。順序データにはCochran-Armitage傾向検定や順序ロジスティック回帰を検討してください。
カイ二乗検定の最小サンプルサイズは何ですか?
絶対的な最小サンプルサイズはありませんが、期待度数のルールが実践的な指針を提供します。2x2表の場合、周辺分布が非常に偏っていない限り、合計サンプルサイズ20~40で通常は十分な期待度数が得られます。
サンプルサイズはカイ二乗値にどう影響しますか?
カイ二乗統計量はサンプルサイズに直接比例します。比率を一定に保ちながらサンプルを2倍にすると、カイ二乗値も2倍になります。これが、大きなサンプルで取るに足らない小さな関連でも有意な結果を生む理由です。常に効果量を確認してください。
StatMateで分析を実行
分割表データをカイ二乗検定計算ツールまたはフィッシャーの正確検定計算ツールに入力してください。どちらのツールも自動的に期待度数を計算し、仮定違反をフラグし、効果量を算出し、APA形式の出力を生成します。StatMateは、カイ二乗の期待度数が低すぎる場合にフィッシャーの正確検定への切り替えも提案します。