カイ二乗検定
Chi-Square Test ・ かいにじょうけんてい
カテゴリデータの偏りや関連を、期待度数とのずれで検定する方法
✦ 30秒で試す — 航海ほとんど関係がないのに、検定では「関係あり」と出る比率はそのまま。各何人から「関連あり」に届く?予想してみる概要
カイ二乗検定は、カテゴリデータ(血液型、購入した/しない、支持政党など、数値ではなく分類で表されるデータ)の偏りや関連を調べる仮説検定です。尺度水準でいえば名義尺度のデータで、平均を取ることに意味がありません。そこで代わりに「各カテゴリに何件入ったか」という度数を数えます。カイ二乗検定は、この観測された度数と「もし仮説どおりなら期待される度数」とのずれを1つの数値(カイ二乗統計量、χ²)にまとめ、そのずれが偶然の範囲かどうかをカイ二乗分布に照らして判定します。
代表的な使い方は2つあります。1つは、サイコロの出目に偏りはないか、ユーザーの流入元の比率は先月から変わっていないか、といった「1つの分布が想定と合っているか」を調べる適合度検定。もう1つは、性別と商品選択、施策の有無とコンバージョンのように「2つのカテゴリ変数の間に関連があるか」をクロス集計表の上で調べる独立性の検定です。ここでいう「関連がない」とは確率論の独立性のことで、「どの行でも列の比率が同じ」と言い換えられます。アンケート分析やA/Bテストのコンバージョン比較など、カテゴリデータを扱う場面の定番中の定番です。
なぜ生まれたか
19世紀末の統計学には、「観測された度数の偏りは意味があるのか、偶然か」を判定する一般的な方法がありませんでした。観測分布と理論分布のずれはカテゴリの数だけあり、あるカテゴリは多め、別のカテゴリは少なめと、向きも大きさもばらばらです。当時は正規分布をあてはめて個々のずれを眺めることはできても、多数のずれを確率的に評価できる1つの指標にまとめる方法がなかったのです。
カール・ピアソンは1900年、各カテゴリについて「(観測度数 − 期待度数)² ÷ 期待度数」を足し合わせた量が、標本が十分大きければカイ二乗分布に従うことを示しました。2乗することで正負のずれが打ち消し合わず、期待度数で割ることで「もともと件数の多いカテゴリのずれは大きくて当然」という規模の違いがならされます。どんなカテゴリ数でも1つの統計量と1つの分布で判定できるこの発明は、近代的な仮説検定の出発点のひとつになりました。
ただしピアソンの理論には穴がありました。クロス集計表の独立性を調べるとき、期待度数を作るのに行と列の合計をデータから推定しているのに、その分を自由度から差し引いていなかったのです。1922年にフィッシャーがこれを指摘し、「推定したパラメータの数だけ自由度を減らす」という現在の規則が確立しました。自由度の正しい数え方をめぐるこの論争は、両者の長い確執の始まりとしても知られています。
詳細
期待度数 — 「仮説どおりならこうなるはず」を作る
カイ二乗検定の核心は期待度数の作り方にあります。適合度検定なら、理論比率に総件数を掛けるだけです(公正なサイコロを600回振れば各目の期待度数は100)。独立性の検定では、「2つの変数が独立である」という帰無仮説から期待度数を作ります。クロス集計表の各セルについて「行の合計 × 列の合計 ÷ 総件数」を計算すると、それが「関連がなければこのセルに入るはずの件数」です。行ごとの比率を全体の比率にそろえた表、と言ってもかまいません。観測度数がこの期待度数から大きく外れるほど、独立という仮説は疑わしくなります。
図の例では、施策ありの群は期待より10件多く購入しています。4つのセルのずれはどれも ±10 ですが、期待度数50のセルでの10件と、150のセルでの10件では重みが違います。期待度数で割ることで前者の寄与(2.0)が後者(0.67)の3倍に評価され、合計は χ² ≈ 5.33。これを自由度1のカイ二乗分布に照らしたp値は約0.021です。ずれの2乗を足すという統計量の形は、カイ二乗分布(標準正規変数の2乗和の分布)の成り立ちとそのまま対応しています。各セルの (O−E)/√E が、帰無仮説のもとで近似的に標準正規変数のようにふるまうからです。
下の部品で、観測度数の棒を上下させてみてください。1つのセルを動かすと行と列の合計が変わるため、動かしていないセルの期待度数(破線の枠)まで一緒に動きます。「件数を2倍」を押すと、比率はそのままなのに χ² が2倍になることも確かめられます。
白い棒が観測度数、青い破線の枠が「広告と反応が独立なら入るはずの件数」です。棒の上の丸をつかんで上下させてください。1つ動かすと合計が変わり、ほかのセルの破線も動きます。
白い棒 = 観測度数 O、破線の枠 = 期待度数 E(行和×列和÷総数)、正方形の面積 = (O−E)²/E(金: 期待より多い / 青緑: 少ない)。下: 自由度2のカイ二乗分布と p 値
自由度 — 表の大きさで物差しが変わる
照らし合わせるカイ二乗分布は自由度で形が変わります。適合度検定の自由度は「カテゴリ数 − 1」、独立性の検定では「(行数 − 1) × (列数 − 1)」です。これは「合計が固定されたとき、自由に動けるセルがいくつあるか」を数えたものです。2×2の表なら、1つのセルの値が決まれば残り3つは行と列の合計から自動的に決まるため自由度は1、上の部品の2×3の表なら2になります。カテゴリが多い表ほど偶然でもずれの合計は大きくなるので、自由度の大きい(右に伸びた)分布を物差しにして補正するわけです。適合度検定で理論分布のパラメータ(ポアソン分布の平均など)をデータから推定した場合は、推定した数だけさらに自由度を減らします。これがフィッシャーの修正した点です。
有意になったら、どこがずれているかを見る
カイ二乗検定の結論は「表のどこかにずれがある」だけで、どのセルが効いているかは教えてくれません。そこで各セルの寄与 (O−E)²/E を見比べるか、ずれを標準化した調整済み標準化残差(おおむね ±2 を超えるセルが目立つずれ)を確認します。部品の正方形の大きさが、まさにこの「どのセルがχ²を押し上げたか」の内訳です。セルごとにさらに検定を重ねるなら、多重比較の問題にも気を配る必要があります。
2×2の表は特別です。施策あり/なし × 購入した/しないのような表のカイ二乗検定は、2群の比率の差を調べる z 検定と数学的に同じもので、χ² は z の2乗に一致します。A/Bテストのコンバージョン率の比較でどちらを使っても結論が変わらないのはこのためです。
前提と落とし穴
カイ二乗検定は標本が大きいときの近似にもとづいており、期待度数が小さいセルがあると近似が崩れます。よく知られた目安は「期待度数が5未満のセルが全体の2割を超えない(1未満のセルはない)」ことで、満たさない場合はカテゴリを併合するか、近似を使わずに正確な確率を計算するフィッシャーの正確検定を使います。フィッシャーの正確検定は2×2の表で紹介されることが多いものの、r×c の表にも拡張でき(フリーマン・ハルトンの拡張)、現在の統計ソフトならたいてい計算できます。2×2の表では、離散的な度数を連続分布で近似するずれを補うイェーツの連続性補正(各ずれの絶対値から0.5を引いてから2乗する)がよく使われ、R の chisq.test は2×2で既定で適用します。図の例なら補正後は χ² ≈ 4.81、p ≈ 0.028 とやや控えめになります。ただし補正は保守的すぎる(有意になりにくすぎる)という批判も根強く、正確検定を使えるならそちらが素直です。
もう1つの大前提は、各観測が独立に数えられていることです。同じ人を複数回数えたデータ(1人が複数回答できる設問を集計したものなど)や、同じ人の施策前後を比べるデータに通常のカイ二乗検定を使うのは典型的な誤りで、前後比較なら対応のあるデータ用のマクネマー検定を使います。また、表に入れるのは必ず度数(件数)であって、割合やパーセントではありません。割合を入れると総数の情報が消え、χ² は意味のない値になります。
さらに、カイ二乗検定が答えるのは「関連があるか」だけで、「関連がどのくらい強いか」ではありません。部品で確かめたとおり、比率が同じでも件数を増やせば χ² は比例して大きくなり、ごく弱い関連でも有意になります。関連の強さはクラメールの V やオッズ比といった効果量で別途示すのが作法です。カテゴリに順序がある場合(満足度の5段階など)も要注意で、通常のカイ二乗検定は列を並べ替えても同じ値になるため、「上の段階ほど多い」という傾向を捉えられません。傾向を見たいならコクラン・アーミテージの傾向検定や順位にもとづくノンパラメトリック検定が向いています。そして有意な関連が見つかっても因果を意味しない点は、相関と同じです。
実務での位置づけ
カイ二乗検定は、数値の平均を比べるt検定のカテゴリデータ版と位置づけると全体像がつかみやすくなります。アンケートの選択肢の偏り、機械学習の分類結果と属性の関連、ログデータのセグメント間比較、A/Bテストの割付比が設計どおりかの点検(適合度検定)など、適用範囲は広大です。まずクロス集計表を作って行ごとの比率を目で確かめ、それが偶然の範囲かをカイ二乗検定で裏づけ、最後に効果量で強さを添える——この3段がカテゴリデータ分析の基本形です。変数が3つ以上に増えたら、対数線形モデルやロジスティック回帰で関連を同時に扱う段階に進みます。
試問
広告A・広告B を見た人の反応(購入・検討・離脱)を数えたクロス表を、棒で表しています。カイ二乗検定は、広告と反応に関連があるかを p 値で判定します。棒の上の丸をつかんで度数を変えることと、下のボタンで比率を保ったまま件数を2倍・半分にすることができます。
白い棒が観測度数、青い破線の枠が「広告と反応が独立なら入るはずの件数」です。棒の上の丸をつかんで上下させてください。1つ動かすと合計が変わり、ほかのセルの破線も動きます。
白い棒 = 観測度数 O、破線の枠 = 期待度数 E(行和×列和÷総数)、正方形の面積 = (O−E)²/E(金: 期待より多い / 青緑: 少ない)。下: 自由度2のカイ二乗分布と p 値
