カイ二乗検定をわかりやすく解説。
エクセルでの計算方法も紹介。
カイ二乗検定とは?
カイ二乗検定とは、サンプルのグループ間の「何か」の割合を比較することで、グループの母集団の割合が統計学的に違うかどうかを調べる方法である。
グループ間で何かの割合が異なっている場合、グループは「何か」と関連ありと言う。
グループ間で何かの割合が異なっているとは判断できない場合、グループと「何か」は「独立」であると言う。
この「独立」という言葉が、カイ二乗検定の本名、「独立性の検定」に出てくる。
「何か」というよくわからないものが出てきたが、例題でもう少しわかるように説明する。
カイ二乗検定の例題
カイ二乗検定の例題として、性別と新型コロナウイルス感染の分析を挙げる。
例題のための架空例である。
性別が、上記で言っているグループである。
新型コロナウイルス感染が、上記の「何か」である。
この「何か」は、エンドポイントとか、アウトカムとか、目的変数とか、いろいろに呼ばれる。
Web調査で、年齢問わず、男女100人ずつ、アンケートをとったとする。
「この半年で新型コロナウイルスに感染しましたか?」
男性は、100人中30人が新型コロナに感染した。
女性は、100人中10人が新型コロナに感染した。
このような調査結果だったとする。
この時、男性は、30/100=0.3=30% が感染したと計算できる。
女性は、10/100=0.1=10% が感染したと言える。
なので、このWeb調査サンプルでは、男性のほうが女性よりも感染した割合が高く見える。
では、母集団ではどうだろうか?
そこで、カイ二乗検定を行って、母集団でも異なるのか、性別とコロナ感染が関連あるのか、確認したい。
こういう例題である。
カイ二乗検定のためにデータを分割表にまとめてみる
いま、得られたデータを分割表にまとめてみると、以下のようになる。
グループ | 感染した | 感染しなかった | 行合計 |
---|---|---|---|
男性 | 30 | 70 | 100 |
女性 | 10 | 90 | 100 |
列合計 | 40 | 160 | 200 |
カイ二乗検定の期待値の計算方法
カイ二乗検定は、もし性別とコロナ感染が関連がなく、「独立」だったらどうだろうか?という「期待値」というものを計算する。
「独立」というのは、「関連がない」という意味である。
この期待値は、独立の場合に期待される値である。
列合計の感染した人の人数を見ると、40人である。
サンプルでは、男性が30人、女性が10人感染したが、もし合計40人が男女の違いなく起きていたらどうなっただろうか。
すぐに思いつくのは同じ人数だった、だろう。
つまり、男性が20人、女性が20人という感染者の人数だったら、性別とコロナ感染が関係ないと言えるのではないか。
そうすると、感染しなかった人は何人になるだろうか?
答えは、男性も女性も80人となる。
男女別の合計は100人ずつなので、20人が感染したら、感染しなかった人は80人になるはずだ。
そうすると、期待値の分割表は以下のようになる。
グループ | 感染した | 感染しなかった | 行合計 |
---|---|---|---|
男性 | 20 | 80 | 100 |
女性 | 20 | 80 | 100 |
列合計 | 40 | 160 | 200 |
これが、性別とコロナ感染が「独立」であった場合の期待値の分割表である。
カイ二乗検定で期待値とのずれの計算方法
カイ二乗検定は、実際のデータと、期待値とのずれが大きければ、「独立」ではないと判断される。
ずれが大きければ、性別とコロナ感染は「独立」である場合の期待値から遠く離れていると判断して、「独立」の反対の関連ありと判断する。
ずれはどうやって計算するか?
ずれは、性別とコロナ感染の2x2の表のマス目の数字を使って、以下のように計算する。
男性のコロナ感染のマス目を計算してみると以下のようになる。
$$ \displaystyle \begin{equation} \frac{(30-20)^2}{20} = \frac{10^2}{20} = \frac{100}{20} = 5 \end{equation} $$
実際のデータ30人と期待値の20人の差を計算して2乗する。
2乗したものを期待値の20人で割る。
答えは5である。
これを4つのマス目全部に行って、全部足す。
計算は以下のようになる。
\begin{align} & \frac{(30-20)^2}{20} + \frac{(10-20)^2}{20} + \frac{(70-80)^2}{80} + \frac{(90-80)^2}{80} \\ & = \frac{10^2}{20} + \frac{(-10)^2}{20} + \frac{(-10)^2}{80} + \frac{10^2}{80} \\ & = \frac{100}{20} + \frac{100}{20} + \frac{100}{80} + \frac{100}{80} \\ & = 5 + 5 + \frac{5}{4} + \frac{5}{4} \\ & = 10 + \frac{10}{4} \\ & = 12.5 \end{align}
合計した値 12.5 が、実際のデータと期待値とのずれの評価値で、これをカイ二乗値と呼ぶ。
この値を使って、検定のp値を計算する。
カイ二乗検定のp値は計算ソフトウェアを使う
p値を電卓などで計算するのは大変面倒であるので、現代であれば、エクセルなど計算ソフトウェアを使うべきである。
その結果、p値は 0.000407 と計算される。
このp値が 0.05 より小さい場合は、統計学的有意であるとするのが慣例である。
この場合、統計学的有意である。
カイ二乗検定の場合、統計学的有意となった際は、実際のデータと期待値が離れているため、グループとアウトカムが独立でないという結論になる。
つまり、性別とコロナ感染は、統計学的には独立でないと言える。
独立でない=関連があるという意味である。
性別とコロナ感染には関連がある。
どんな関連だろうか?
そのときは感染した人の割合を改めて見てみる。
サンプルでは男性のほうが女性よりも20%感染割合が高かった。
母集団でも、性別とコロナ感染は関連があって、男性のほうが女性よりも20%感染割合が高いのであろうと推測できたというわけである。
つまり、男性のほうが女性に比べてコロナ感染の割合が高い、という関連性を示唆しているというのが結論である。
カイ二乗検定 エクセルでの計算方法
カイ二乗検定をエクセルで実施する方法として、3つあるが、ここでは2つ紹介する。
1つ目は、上記のようにカイ二乗値まで計算できている前提で、p値だけ計算する方法。
2つ目は、期待値まで計算できている前提で、p値だけ計算する方法。
3つ目は、期待値もエクセルのシート上で計算して、p値も計算する方法。
3つ目は、すでに優秀なサイトが多数あるので、割愛する。
カイ二乗検定とは?エクセルでわかりやすく実演 | 業務改善+ITコンサルティング、econoshift:マイク根上
カイ二乗検定をエクセルで行う方法:カイ二乗値まで計算できている場合
カイ二乗値まで計算できている場合は、=CHISQ.DIST.RT() という関数を使う方法である。
ここで、=CHISQ.DIST.RT(12.5,1) の 12.5 は上記の通りカイ二乗値である。
では、1 は、なんだろうか?
1 は、自由度である。
自由度は、行合計と列合計が決まっている状態で、自由に人数が決まるマス目の数というふうな説明だけにとどめる。
2x2の分割表であると、4マスのうち1マスしか自由に決められないため、自由度1である。
先ほど期待値を計算するときに、男性もしくは女性の感染者を20人と決めた後は、感染しなかった人数も自動的に決まった。
このことを「自由に決められるマス目の数」と呼んでいる。
計算の結果、0.000407 となった。
カイ二乗検定をエクセルで行う方法:期待値まで計算できている場合
期待値まで計算できている場合は、=CHISQ.TEST() という関数でp値が計算できる。
実際のデータが水色の範囲、期待値がピンクの範囲である。
いずれも範囲指定の形で、カッコ内に入れると、自動的にp値を計算してくれる。
計算の結果、こちらも 0.000407 である。
カイ二乗検定をエクセルで行う方法:エクセル計算機を使う
エクセルでは、実際の分割表のデータを入れただけで、カイ二乗検定のp値を計算してくれる機能はないと理解している。
ググっても見つからなかった。
そのため、エクセル計算機を作成した。
黒の枠線内に分割表の集計数値を入れると、自動でp値を計算してくれる。
期待値の計算は不要だ。
シートの右側にグレーでうっすらと見える箇所が期待値の計算をしている部分である。
2x2~5x5まで対応可能。
2x3や4x3なども計算可能。
よければどうぞ。
まとめ
カイ二乗検定の計算方法を例題をもとにわかりやすく解説した。
エクセルでの計算方法を紹介した。
また、エクセル計算機を作成した。
何らか役に立てば幸いである。
コメント