エクセルのカイ二乗検定(独立性の検定)のp値の求め方【コピペ用テンプレートあり】

はじめに
エクセル上で、カイ二乗()の独立性の検定を行い、p値を求める方法を紹介します。
下にテンプレート(セルデータサンプル)があるので、
カイ二乗の独立性の検定とは
カイ二乗の独立性の検定は、統計的仮説検定の一種です。
ザックリとした手順は以下です。
- データから、観測度数のクロス集計表を作成
- 1から、期待度数(2変数が独立なとき)のクロス集計表を作成
- 1と2のそれぞれから計算される比率に、有意な差がないか検定
いつ使うのか?
カイ二乗の独立性の検定は、以下のような場合に使用します。
- データが2つのカテゴリ変数(質的データ)で構成されている。
- クロス集計表の期待度数が十分に大きい(少なくとも80%以上のセルが5以上、かついずれのセルも1以上)。
算出値の意味
仮説検定では、 p値 を算出し、 有意水準α と比較を行います。 =CHISQ.TEST
関数によって得られます。
p値 と 有意水準α による判定は以下の通りです。
- p値 < α のとき: 観測度数と期待度数に有意な差が ある
2つのカテゴリ変数は独立でない(関係性がある) - p値 ≥ α のとき: 観測度数と期待度数に有意な差が ない
2つのカテゴリ変数は独立でない とは言えない
エクセルでの算出方法
以下の 全セルをコピー
ボタンをクリックし、エクセルの A1
セルに貼り付けると、 K3
セルにp値(下記の場合 0.17090352
)、E6
セルに検定結果(下記の場合 (有意差)なし
)が出力されます。
A
, B
, C
列のデータと、 F4
~ G4
, H5
~ H6
)を書き換え、 F5
~ G6
セル中の参照セル範囲を書き換えることで、
A | B | C | D | E | F | G | H | I | J | K | L | |
1 | データ | クロス集計表 | ||||||||||
2 | ラベル | 性別 | 回答 | 有意水準α | 0.05 | |||||||
3 | 1 | 男 | YES | 観測度数 | p値 | =CHISQ.TEST(F5:G6,F11:G12) | ||||||
4 | 2 | 男 | YES | YES | NO | 合計 | ||||||
5 | 3 | 女 | YES | 男 | =COUNTIFS($B$3:$B$7,"="&$E5,$C$3:$C$7,"="&F$4) | =COUNTIFS($B$3:$B$7,"="&$E5,$C$3:$C$7,"="&G$4) | =SUM(F5:G5) | 結果 | ||||
6 | 4 | 男 | YES | 女 | =COUNTIFS($B$3:$B$7,"="&$E6,$C$3:$C$7,"="&F$4) | =COUNTIFS($B$3:$B$7,"="&$E6,$C$3:$C$7,"="&G$4) | =SUM(F6:G6) | 有意差 | =IF(K3<=K2,"あり","なし") | |||
7 | 5 | 女 | NO | 合計 | =SUM(F5:F6) | =SUM(G5:G6) | =SUM(H5:H6) | |||||
8 | ||||||||||||
9 | 期待度数 | |||||||||||
10 | YES | NO | 合計 | |||||||||
11 | 男 | =$H5*F$7/$H$7 | =$H5*G$7/$H$7 | |||||||||
12 | 女 | =$H6*F$7/$H$7 | =$H6*G$7/$H$7 | =SUM(F12:G12) | ||||||||
13 | 合計 | =SUM(F11:F12) | =SUM(G11:G12) | =SUM(H11:H12) |
算出手順
エクセルで対応のカイ二乗の独立性の検定を行うための手順は、以下の5つです。
1. クロス集計表(実測度数)の作成
データセットを2つのカテゴリ変数でクロス集計します。 COUNTIFS
関数を使用します。
集計した値から、SUM
関数で合計値も算出します。
COUNTIFS関数
評価する データ範囲 と、 条件式 を指定し、条件に一致するセルの個数をカウントする。
データ範囲 と 条件式 のペアの数は、最大127個まで指定可能( データ範囲 と 条件式 を交互に引数に設定する)。例:
=COUNTIFS($B$3:$B$7,"="&$E5,$C$3:$C$7,"="&F$4)
- 第1引数 (
$B$3:$B$7
): 評価する データ範囲 (必須)- 第2引数 (
"="&$E5
): 第1引数のデータ範囲に適用する 条件式 (必須)- 第3引数 (
$C$3:$C$7
): 追加で評価する データ範囲 (オプション)- 第4引数 (
"="&F$4
): 第3引数のデータ範囲に適用する 条件式 (オプション)
2. クロス集計表(実測度数)の作成
手順1で作成したクロス集計表(実測度数)の中の合計値を使い、
クロス集計表(期待度数)の各セルの値は、以下の式で算出します。
※ クロス集計表(期待度数)中の合計値の算出は必須ではありません。
3. パラメータの設定
有意水準αを 事前 に設定します。
4. p値を算出
=CHISQ.TEST
関数を使用して、
CHISQ.TEST関数
第1、第2引数の2つのデータセットを使って、カイ二乗検定における確率(p値)を返す。
第1、第2引数の範囲サイズは同じ必要がある。例:
=CHISQ.TEST(F5:G6,F11:G12)
- 第1引数 (
F5:G6
): 検定に使用する実測値(必須)- 第2引数 (
F11:G12
): 検定に使用する期待値(必須)(旧関数:
CHITEST
関数)
5. 結果の表示
設定した有意水準と、算出したp値を比較した結果を表示します。 IF
関数を使用しています。
IF関数
第1引数の条件式を基に、返す結果を分岐させる。
- 第1引数 = TRUEのとき: 第2引数の値を返す
- 第1引数 = FALSEのとき: 第3引数の値を返す
例:
=IF(K3<=K2,"あり","なし")
- 第1引数 (
K3<=K2
): 分岐の条件式(必須)- 第2引数 (
あり
): TRUEのときに返す値(必須)- 第3引数 (
なし
): FALSEのときに返す値(オプション)