カイ二乗検定 計算ツール|2×2分割表の独立性検定でχ²値・有意性を判定
2つのカテゴリ変数の独立性を判定するカイ二乗検定(χ² test)を無料計算。2×2分割表のセルA/B/C/D(度数)を入力すると、χ²値・5%水準有意性(自由度1)を瞬時算出します。「性別と購入率」「広告A/B群と申込率」「治療群と回復率」など頻度データの独立性を扱う代表的な検定で、社会調査・マーケティング調査・A/Bテスト・医療観察研究・SEOのユーザー行動分析まで幅広く使われます。期待度数5未満時のフィッシャー正確検定への切り替え、小サンプル時のイェーツ連続性補正、SPSS/R/Python(scipy.stats.chi2_contingency)との整合、多重検定時のBonferroni補正まで実務目線で詳細解説します。
カイ二乗検定(独立性)ツール
計算式と自由度
基本式(独立性検定・2×2)
χ² = Σ (Oᵢⱼ − Eᵢⱼ)² / Eᵢⱼ
2×2: χ² = N × (ad − bc)² / ((a+b)(c+d)(a+c)(b+d))
自由度 df = (行数 − 1) × (列数 − 1)
Oᵢⱼ は観測度数、Eᵢⱼ は「行合計×列合計÷総計」で計算する期待度数。2×2表なら df=1、3×3表なら df=4 となります。
χ²値の意味
χ²=0 なら観測度数と期待度数が完全一致(独立性が成り立つ)、χ² が大きいほど独立性から乖離が大きいことを示します。統計的判定では自由度別の臨界値と比較し、χ²が臨界値を超えれば「独立性の帰無仮説を棄却」つまり「関連あり」と結論します。
期待度数の計算
Eᵢⱼ = (行 i の合計) × (列 j の合計) / N
2×2表 [a, b; c, d] で N=a+b+c+d のとき、E₁₁ = (a+b)(a+c)/N、E₁₂ = (a+b)(b+d)/N、E₂₁ = (c+d)(a+c)/N、E₂₂ = (c+d)(b+d)/N です。すべての期待度数が5以上ならχ²検定、5未満のセルがあればフィッシャー正確検定に切り替えます。
χ²検定・オッズ比・リスク比の関係
2×2分割表 [a,b;c,d] からは、χ²検定(独立性)・オッズ比(OR = ad/bc)・相対リスク(RR = (a/(a+b))/(c/(c+d)))・絶対差(RD = a/(a+b) − c/(c+d))・φ係数(φ = √(χ²/N))という5つの主要指標が同時算出できます。χ²は「有意性判定」、φは「効果量」、OR/RR/RDは「実務解釈」を担当し、医学・疫学・マーケティングでは3-5指標を並列報告するのが標準です。ORはロジスティック回帰のパラメータと直接一致し、多変量解析への橋渡し指標となる点で特に重要。SPSS・R(epitools)・Python(statsmodels.stats.contingency_tables)では2×2表からこれら指標がワンライナーで得られます。
カール・ピアソンとχ²検定の歴史
χ²検定はカール・ピアソン(Karl Pearson, 1857-1936)が1900年に "On the criterion that a given system of deviations from the probable in the case of a correlated system of variables is such that it can be reasonably supposed to have arisen from random sampling" と題した論文で導入した、統計学史上の重要な検定手法です。ピアソンは相関係数(Pearson's r)、モーメント法、確率密度関数の一族(Pearson distribution)等でも知られる近代統計学の父と呼ばれる人物で、ロンドン大学ゴルトン研究所の初代所長を務めました。χ²検定はロナルド・フィッシャーがフィッシャー正確検定(1922)、イェーツが連続性補正(1934)を提案するなど、その後20世紀の統計学発展の基盤となりました。カテゴリカルデータ解析の第一手法として、今日でも医学・社会科学・工学の実証研究で最も広く使われています。
3つのカイ二乗検定(用途別)
| 検定名 | 目的 | 典型例 |
|---|---|---|
| 適合度検定 (Goodness of Fit) | 1変量の分布が期待分布と一致するか | サイコロの目の出方が均等か |
| 独立性検定 (Independence) | 2変量が独立か関連ありか | 性別と購入率、広告A/BとCVR |
| 均質性検定 (Homogeneity) | 複数母集団の比率が同一か | 年齢層別の商品選好差 |
本ツールは独立性検定(2×2分割表)を扱います。3×3以上、複数変量、名義尺度以外(順序・連続)では別の検定(順序ロジスティック回帰・Mann-Whitney U・t検定等)が適切です。
自由度別 χ² 臨界値表
自由度別の χ² 分布臨界値(片側)。統計ソフトの p 値と手計算チェックに便利です。
| 自由度 df | α=0.10 | α=0.05 | α=0.01 | α=0.001 |
|---|---|---|---|---|
| 1(2×2表) | 2.706 | 3.841 | 6.635 | 10.828 |
| 2(2×3表) | 4.605 | 5.991 | 9.210 | 13.816 |
| 3(2×4/4×2表) | 6.251 | 7.815 | 11.345 | 16.266 |
| 4(3×3表) | 7.779 | 9.488 | 13.277 | 18.467 |
| 5 | 9.236 | 11.070 | 15.086 | 20.515 |
| 6(3×4表) | 10.645 | 12.592 | 16.812 | 22.458 |
| 8(3×5/5×3表) | 13.362 | 15.507 | 20.090 | 26.125 |
| 10 | 15.987 | 18.307 | 23.209 | 29.588 |
| 15 | 22.307 | 24.996 | 30.578 | 37.697 |
| 20 | 28.412 | 31.410 | 37.566 | 45.315 |
2×2表(df=1)の場合、χ² > 3.841 なら 5%水準有意、6.635 なら 1%水準有意、10.828 なら 0.1%水準有意です。実務では 5%水準を目安に判定し、多重検定時は Bonferroni・Benjamini-Hochberg 等の補正を適用します。
フィッシャー正確検定との使い分け
期待度数が5未満のセルがある場合、χ²分布による近似の精度が下がるため、Fisher の正確確率検定(Fisher's Exact Test)を使うのが標準です。
| 条件 | 推奨検定 |
|---|---|
| すべての期待度数 ≥ 5 | カイ二乗検定(補正なし) |
| 期待度数 < 5 のセルあり、n < 40 | フィッシャー正確検定 |
| 期待度数 < 5 のセルあり、n ≥ 40 | χ² 検定+イェーツ補正 または Fisher |
| 3×3以上で期待度数 < 5 が全体の20%以下 | χ² 検定(Cochran 準則) |
| 対応あり(前後比較)データ | McNemar 検定 |
SPSS・R・Python(scipy)では、2×2表のχ²検定実行時に期待度数警告と共に Fisher の正確確率も同時出力されるのが一般的です。
イェーツ連続性補正
2×2表で n が小さい(20〜40程度)場合、離散的度数を連続分布のχ²で近似する誤差を減らすため、Yates の連続性補正(Yates' continuity correction)を適用します。
χ²_Yates = N × (|ad − bc| − N/2)² / ((a+b)(c+d)(a+c)(b+d))
補正なしのχ²より小さい値になるため、有意判定が保守的になります。n > 40 では補正しないことが多く、教科書・ソフトの初期設定も割れています。医療統計(BMJ・Lancet系)では補正あり、心理統計(APA)では補正なしが慣例。
業界での使い方
Webサイト A/Bテスト・CRO(コンバージョン最適化)
広告バナー・LP・ボタン配色・見出し文言のA/Bテストで、「訪問→CV率」の差が偶然かどうかを χ² 検定で判定。Optimizely・VWO・Google Optimize等のツールは内部でχ²かFisherを実行。CVR 3% vs 3.5% でも n=5000/群あれば有意になり得ます。
医療統計・観察研究(症例対照)
「投薬あり群 vs プラセボ群 × 治癒/未治癒」「喫煙 vs 非喫煙 × 肺癌発症/健常」など疾病発症と暴露要因の関連解析に使用。オッズ比(OR)と95%信頼区間を χ² 検定と併せて報告するのが医学論文標準(STROBE声明準拠)。
マーケティング調査・アンケート分析
「性別 × 商品選好」「年代 × 購入チャネル」等の消費者調査で、属性間の独立性・関連性を検定。エクセルの分析ツール、SPSS・SASの CHISQ プロシージャで実行。JMR(日本マーケティング・リサーチ協会)ガイドライン準拠。
製造品質管理・不良率比較
ライン A vs B の「良品/不良品」比率が有意に異なるか、ロット間の不良率差、供給元間の品質差を検定。ISO 9001品質マネジメントの根拠データとして活用。管理図(Control Chart)と併用。
教育研究・学習効果検証
教材A vs Bの理解度、教員別の合格率、学級間の到達度差の統計的検定。日本教育心理学会・日本心理学会の学術論文で頻用され、効果量(Cramer's V, φ係数)と併記が推奨されます。
SEO・検索行動分析
「ページタイプ × クリック/離脱」の分割表分析で、コンテンツタイプとユーザー行動の関連を検定。Search Console データ、Google Analytics 4のデモグラフィック × 行動セグメントで応用。GA4 Explorations の分析やLooker Studioでの可視化と組み合わせ。
SPSS/R/Python 実装
R (chisq.test)
tbl <- matrix(c(30,20,15,35), nrow=2); chisq.test(tbl, correct=FALSE)
correct=FALSE でイェーツ補正なし、TRUE(既定)で補正あり。小サンプル時は fisher.test(tbl) を推奨。
Python (scipy.stats)
from scipy.stats import chi2_contingency
chi2, p, dof, expected = chi2_contingency([[30,20],[15,35]], correction=False)
correction=False でイェーツ補正なし。fisher_exact() で Fisher の正確確率も提供されています。
SPSS
「分析→記述統計→クロス集計表→統計量→カイ2乗」でχ²・尤度比・線形連関・Fisher・φ係数・Cramer's V を同時計算可能。医学・社会科学分野の学位論文で標準的に使われます。
Excel
CHISQ.TEST(実測範囲, 期待範囲) 関数で p 値のみ、CHISQ.INV.RT(確率, 自由度) で臨界値を計算。ピボット+期待度数手計算+関数の組み合わせで実務対応可能です。
よくある間違い・注意点
- 期待度数5未満で強行 — χ² 分布近似の精度が下がり、p 値が信用できなくなります。Fisher の正確確率検定に切り替えるのが正しい対応。Cochran 準則(3×3以上では20%以下のセルで期待度数5未満まで許容)も参考に。
- 連続変数を無理にカテゴリ化 — 年齢・売上等の連続変数を「20-30歳/30-40歳」等でカテゴリ化してχ²すると情報損失。t検定・回帰分析・Mann-Whitney U 等が本来適切です。
- 有意=因果関係と解釈 — χ²検定は「独立でない=関連ある」を示すのみで、因果方向は判定できません。共変量調整はロジスティック回帰・傾向スコアマッチング等が必要です。
- 多重検定の補正忘れ — 3変数以上の総当たり χ² を無補正で実施すると、偽陽性(第一種の過誤)が急増。Bonferroni(α/検定数)、Benjamini-Hochberg FDR で調整が必須です。
- 対応ありデータに χ² — 同一被験者の前後比較(治療前後の症状有無)は McNemar 検定が正解。χ²検定は独立標本前提です。
- 効果量を報告しない — p 値だけでなく、φ係数(2×2用)・Cramer's V(一般化)・オッズ比などの効果量を必ず併記するのが現代統計の標準(APA 7版・STROBE・CONSORT等)。
- サンプル巨大でp値だけを信頼 — n=10万を超えると微小な差でも p<0.001 になります。統計的有意と実質的有意(practical significance)は別問題。効果量で判断すべきです。
論文・レポートでの報告フォーマット
APA 7版準拠(心理学系)
「性別と購入行動の間に有意な関連が認められた、χ²(1, N = 200) = 5.42, p = .020, φ = .16(小効果量)」のように、自由度・総サンプル数・χ²値・p値・効果量を1文で報告するのが標準です。
CONSORT・STROBE(医学系)
治療群と対照群の副作用発現率比較なら、「Treatment group: 15/200 (7.5%); Placebo group: 5/200 (2.5%); OR = 3.16, 95% CI [1.13, 8.84]; χ²(1) = 5.26, p = .022」のように、絶対度数・パーセント・オッズ比+95%CI・χ²・p値の順で列挙します。
マーケティング・SEO レポート
「バリアントBはコントロールAより CVR が有意に高い(A: 3.0%, B: 3.5%, χ² = 10.42, p < .001, Cohen's h = 0.028)」のようにビジネス指標(絶対値)と統計的判定(p値)と効果量(h)を1行で。上級レポートでは 95%信頼区間と検出力も併記。
関連する規格・教科書
- APA Publication Manual (7th) ― 米国心理学会の論文執筆ガイドライン。統計報告の標準形式。
- STROBE声明 ― 観察研究(コホート・症例対照・横断)の報告ガイドライン。χ²検定の報告要件を規定。
- CONSORT声明 ― RCT(ランダム化比較試験)の報告ガイドライン。カテゴリカルアウトカムのχ²とORの報告例示。
- ICH E9 統計原則 ― 医薬品臨床試験の統計解析原則。多重比較・欠測値対応の国際ガイドライン。
- JIS Z 9020 ― 管理図の一般指針。品質管理でカテゴリカルデータを扱う実務標準。
- JIS Z 9041 ― データの統計的な解析方法。適合度検定・独立性検定の JIS 規格。
- ISO 5479 ― Statistical interpretation of data — Tests for departure from the normal distribution。
参考文献・公的資料
詳細な検定理論・臨界値表・実装例は以下の一次資料を参照してください。
- 総務省統計局 統計質問室 ― 日本の公式統計と統計学の解説。統計調査の設計・解析の入門情報。
- 日本学術振興会(JSPS) ― 学術研究の公式支援機関。研究倫理・統計解析の指針を発信。
- J-STAGE(科学技術振興機構) ― 日本の学術論文検索プラットフォーム。χ²検定を用いた実証研究の閲覧。
- 総務省 なるほど統計学園 ― 統計学の教育コンテンツ。カイ二乗検定を含む推測統計の入門。
- EQUATOR Network / STROBE声明 ― 医学・公衆衛生分野の観察研究報告ガイドラインの一次資料。
- CONSORT声明 ― RCT報告ガイドラインの公式サイト。
- CRAN vcd パッケージ ― R言語のカテゴリカルデータ可視化・χ²検定の実装マニュアル。
- SciPy stats公式ドキュメント ― Python の chi2_contingency・fisher_exact・chi2 分布関数のリファレンス。
- APA Publication Manual ― 米国心理学会の論文執筆ガイド。χ²結果の報告フォーマット。
- ICH E9 臨床試験統計原則 ― 医薬品規制調和国際会議の統計ガイドライン。
実践シナリオ別 計算例
ケース1: Webサイト A/B テスト(EC決済ボタン色変更)
コントロール(青ボタン): 5,000セッション中 CV 150件(3.0%)、バリアント(赤ボタン): 5,000セッション中 CV 175件(3.5%)。2×2表 [150,4850; 175,4825]。χ² = 10000×(150×4825−4850×175)²/(325×9675×5000×5000) ≈ 2.02。臨界値3.841未満で 5%水準では有意差なし。次のテスト設計ではサンプル倍増または効果量再検討が必要です。
ケース2: 医療統計(降圧薬の副作用発現率)
薬剤群 200人中 副作用あり15人(7.5%)、プラセボ群 200人中 副作用あり5人(2.5%)。2×2表 [15,185; 5,195]。χ² = 400×(15×195−185×5)²/(20×380×200×200) ≈ 5.26。臨界値3.841超で5%水準有意。ただし多重比較(複数エンドポイント)の場合はBonferroni補正が必要。
ケース3: 教育研究(教材A vs Bの合格率)
教材A: 80人中 合格60人(75%)、教材B: 80人中 合格50人(62.5%)。χ² ≈ 2.82。臨界値3.841未満で有意差なし。効果量 φ = √(χ²/N) = √(2.82/160) = 0.13(小)。「A の方が合格率が高い傾向」だが統計的には決定的でない、と報告します。
ケース4: 期待度数5未満 → Fisher へ切替
小規模パイロット試験(n=20): [8,2; 3,7]。期待度数計算: E₁₁=(10×11)/20=5.5、E₁₂=(10×9)/20=4.5、E₂₁=(10×11)/20=5.5、E₂₂=(10×9)/20=4.5。E₁₂ と E₂₂ が5未満なので Fisher の正確確率検定に切替が推奨。p ≈ 0.070 で 5%水準では有意差なしとなります。
よくある質問(FAQ)
χ² = 3.841 の意味は?
自由度1(2×2表)における5%水準有意の臨界値です。計算した χ² がこの値を超えれば「独立性の帰無仮説を棄却」つまり「関連あり」と判定します。1%水準は6.635、0.1%水準は10.828。多重検定時は Bonferroni 補正で臨界値を厳しくします。
フィッシャー正確検定との使い分けは?
期待度数が5未満のセルが1つでもあれば Fisher が推奨されます。全体 n が20〜40程度の小サンプルなら Fisher、n > 40 かつ期待度数が全て5以上なら通常のχ²検定でOK。SPSS・R・Python では自動で両方の結果が出力されるのが一般的です。
3×3表は計算違う?
同じ枠組みの拡張で、期待度数を「行合計×列合計÷総計」で計算しΣ(O-E)²/Eの総和を取ります。自由度は(3-1)(3-1)=4となり、5%水準臨界値は 9.488。手計算はセル数が増えると煩雑になるため統計ソフトの使用が現実的です。
イェーツ補正はいつ使う?
2×2表で n が小さい(20〜40程度)ときに離散・連続近似の誤差を減らす目的で使います。医学統計(BMJ・Lancet系)では補正あり、心理統計(APA)では補正なしが慣例で、業界により推奨が分かれます。SPSSは既定で補正結果も併記されます。
χ² 検定と t 検定の使い分けは?
データ尺度で決まります。カテゴリカル(名義尺度)なら χ² 検定、連続変数(間隔・比率尺度)の平均差なら t 検定、分散比較なら F 検定です。「性別×身長」のように連続と離散の組み合わせは t 検定または一元配置分散分析。
効果量はどう報告する?
2×2表なら φ 係数(φ = √(χ²/N))、一般化した Cramer's V (√(χ²/(N×min(r-1,c-1))))、あるいはオッズ比(OR = (a×d)/(b×c))と 95%信頼区間を併記します。APA 7版・STROBE声明でも効果量報告は必須要件です。
A/B テストで n はどれくらい必要?
期待するCVR差と検出力(通常80%)から事前計算が必要です。ベースCVR 3%・目標CVR 3.5%(効果量0.028)・検出力80%・α=0.05 なら 1群あたり約4300サンプル必要。サンプルサイズ計算で正確に算出できます。
McNemar 検定との違いは?
McNemar は「同一被験者の前後比較」等の対応ありデータ専用です。χ²検定は独立標本(群同士が別の被験者)前提。同じ患者の治療前後の症状有無、同じユーザーの改修前後クリック行動などは McNemar が正解です。
SPSS/R/Python で結果が微妙に違うのは?
主な原因は(1)イェーツ補正のデフォルト設定違い、(2)Fisher の正確確率の計算アルゴリズム(片側/両側/mid-p)違い、(3)期待度数5未満の警告処理違い、の3点。論文投稿時は使用ソフト・バージョン・オプション設定を明記します。
多重検定の補正はどうする?
複数のχ²検定を実施した場合、Bonferroni(α/検定数)が最も保守的、Holm 補正がやや緩やか、Benjamini-Hochberg FDR が探索的研究向けの3つが主要です。医薬品試験は Bonferroni・階層検定が定番、SEO/マーケの探索的分析は BH-FDR が実用的です。
因果関係を主張できる?
χ² 検定は「独立でない=関連ある」を示すのみで、因果方向は判定できません。因果推論には RCT(ランダム化比較試験)、傾向スコアマッチング、操作変数法、断続回帰デザイン(RDD)、差分の差分法(DID)等の追加設計が必要です。
2×2表でχ²=0はどういう状況?
a×d = b×c、つまり期待度数と観測度数が完全一致で、変数間に関連がない(完全独立)状態です。例えば [25,25;25,25] や [20,30;20,30] のように行の比率が同一なケース。実務ではまれで、乱数生成データでも稀にしか出ません。