カテゴリデータの関係性を検定!Excelでできるカイ二乗検定、オッズ比も紹介!

こんにちは!
IT企業に勤めて、約2年間でデータサイエンティストになったごぼちゃん(@XB37q)です!

このコラムでは、カイ二乗検定と呼ばれる検定手法を紹介します!
性別と年収に関係があるのかといった、カテゴリ同士の関係性を証明する際に使用する検定です。
また、カイ二乗検定はX^2検定や独立性の検定とも呼ばれますが、このコラムではカイ二乗検定と呼びます。

カイ二乗検定とは

クロス集計表
クロス集計表

カイ二乗検定とは、カテゴリデータ同士が関係しているかどうかを統計的に検定する手法です。

クロス集計表と呼ばれるデータをもとに、検定を行います。
クロス集計表とは、それぞれのデータに該当するデータが何件存在するかといった件数を表す表のことです。
クロス集計表を使うことで、あるカテゴリーの傾向を、別のカテゴリー別に細分化して把握することができるため、「女性でペットを飼っている人と男性でペットを飼っている人は40人の差がある」のように、異なるグループ間での比較が可能になります。
また、男性とペットを飼っている人数を表す箇所をセルと呼びます。

上記のクロス集計表を使ってカイ二乗検定を行う場合、性別の違いでペットを飼う人とペットを飼わない人の人数に関係があるかどうかを検定します。
つまり、40人の差を本当に関係があるのかどうかを証明します。
40人の差は、データを取得した200人の中で偶然起きた差の可能性があるため、このような検定を使うことで、定量的に判断を行うことが可能です。

このように、データ分析では多くのカテゴリデータを扱います。
その場合にこのデータとこのデータが関係あるのか?といったことを証明する場面に直面します。
その時に使うのがカイ二乗検定です。

検定の流れ

一般的な検定は、下記のような流れで行っていきます。
カイ二乗検定も同様の流れで行うため、この流れに沿って説明をしていきます。

  • 仮説の立案
  • 確率の計算
  • 仮説の検証

仮説の立案

まず最初に、カイ二乗検定の仮説は次のように設定します。

帰無仮説:2つのデータ(性別、ペットを飼う人か飼わない人か)は独立である(関連がない)
対立仮説:2つのデータは独立でない(関連がある)

このように仮説を立て、帰無仮説が起こる確率が小さければ、対立仮説が正しいという結論を出すことができます。
そのために、次のステップでは帰無仮説が起こる確率を求めるステップになります。

確率の計算

実測度数と期待度数
実測度数と期待度数

実際に検定を行うには、①実測度数と②期待度数の2種類のクロス集計表を使用します。
①実測度数のクロス集計表は、実際に手元にあるデータを集計して作成します。
②期待度数のクロス集計表は、実際に手元にあるデータに対して、加工を行い作成します。

期待度数の計算方法
期待度数の計算方法


今回の例の場合、もし2つのデータに関係がない場合、性別とペットの合計値からそれぞれ期待値を算出します。
つまり、男性の合計値90×ペットを飼っている人100人 / 全体の合計値200人 を計算し、男性×ペットを飼っている人の期待度数を算出します。
今回の場合は男性×ペットの期待度数が45人になります。
考え方としては、「もし2つのデータに関係が無かったら、きっとこうなるだろうという回数」を期待度数と呼んでいます。
この期待度数と、実際のデータである実測度数が大きく異なるというのであれば「関係がありそうだ」と考えることができます。
そのため、次は実測度数と期待度数の異なっている度合いを計算していきます。

実測度数と期待度数の差の計算
実測度数と期待度数の差の計算

実測度数と期待度数の異なっている度合いは、実測度数と期待度数の差を計算するという意味です。

差の計算式
差の計算式

まずは実測度数と期待度数の差を二乗し、それを期待度数で割ることで、各セルの差を算出します。

X^2値の算出
X^2値の算出

そして最後は各セルの値を足すことで、カイ二乗値(X^2値)を計算します。
このカイ二乗値が確率に近い値に該当し、検定するための値です。
このようなクロス集計表からは、コインやサイコロのような確率を計算することができないため、X^2値という値へ変換し、仮説を検証していきます。

先ほどのカイ二乗値は大きいのでしょうか?それとも小さいのでしょうか?
そのような判断をするために、基準値を決める必要があります。

仮説の検証

X^2分布
X^2分布

先ほど算出したカイ二乗値が大きいか小さいかを判断するための基準値が必要です。
その基準値を算出するために、カイ二乗分布といった表を使います。
この分布を使用し、データの自由度から基準値を算出します。

仮説の検証
仮説の検証

これまでの流れでカイ二乗値とその基準値を出し終えたら、最後は簡単です。
実際にそのカイ二乗値と基準値の大きさを比較し、カイ二乗値が基準値よりも大きい場合は帰無仮説を棄却します。
つまり、対立仮説が正しいと考えるため、2つのデータには関係があると結論づけることが可能です。

以上の流れで行うのがカイ二乗検定といった検定手法です。

オッズ比の算出

カイ二乗検定は2つのデータに関連があるかを検定しますが、t検定と同じように関係の強さや方向は分かりません。

t検定については、他コラム「具体例で学ぶ!平均値の差を検定するt検定」をご覧ください。

そのため、関係の強さや方向を把握するための指標がオッズ比です。
ある事象が確率 $ p $ で発生すると、この事象が発生しない確率は $ 1-p $ となるため、オッズとは $p / (1-p) $で表される値です。
先の表で男性がペットを飼っている確率は $ 30 / (30 + 60) $ です。
また、男性がペットを飼っていない確率は$ 60 / (30 + 60) $ です。
上記から、オッズは $ { 30 / (30 + 60) } / { 60 / (30 + 60) } = 30/60 $ となります。
女性のオッズは同様に $ 40/70 $ となります。
女性のオッズに対して、男性のオッズの比率をとるオッズ比は $ (30/60) / (40/70) $ です。
これを性別によってペットを飼う確率が何倍に増えたと解釈が可能になります。

カイ二乗検定の注意点

カイ二乗検定を行う際に注意しなければいけないことがあります。
それは、次の2つのケースです。

  1. 期待度数が1未満のセルがある
  2. 期待度数が5未満のセルが、全体のセルの20%以上ある

前述の例と同じ構成比で、調査対象者が20人であったとすると、各セルの構成比が変わらなくとも、期待度数は次の表のようになります。

期待度数の計算方法
期待度数の計算方法

期待度数は4.5、もしくは5.5となり、Bのケースに該当します。
上記の2つケースの場合、セルに入っているデータ件数が少ないことから、カイ二乗検定の信頼性が下がってしまうため、検定結果を使って分析を行うことが好ましくありません。
そのような場合、2×2のクロス集計表であれば、イェーツの補正によってカイ二乗値を修正するか、フィッシャーの直接確率(正確確率)によりカイ二乗分布を使わずにp値を直接求める方法があります。
イェーツの補正とフィッシャーの直接確率はまた次回の投稿で紹介します。
このコラムでは、件数が少ない場合はX^2検定を使うことが危険ということを覚えておいてください!

まとめ

  • カイ二乗検定
    • カテゴリデータ同士が関係しているかどうかを統計的に検定する手法
    • 実測度数のクロス集計表と、期待度数のクロス集計表を使って計算を行う
  • クロス集計表
    • それぞれのデータに該当するデータが何件存在するかといった件数を表す表
  • 実測度数
    • 実際に手元にあるデータを集計して作成します。
  • 期待度数
    • 実際に手元にあるデータに対して、加工を行い作成します。
  • 検定の流れ
    1. 仮説の立案
    2. 確率の計算
    3. 仮説の検証
  • カイ二乗検定の注意点
    • 期待度数が1未満のセルがある
    • 期待度数が5未満のセルが、全体のセルの20%以上ある

参考図書