2025/4/29

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

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

はじめに

エクセル上で、カイ二乗(χ2\chi^2)の独立性の検定を行い、p値を求める方法を紹介します。

下にテンプレート(セルデータサンプル)があるので、 コピペですぐに使用できます。

カイ二乗の独立性の検定とは

カイ二乗の独立性の検定は、統計的仮説検定の一種です。 単純に「カイ二乗検定」と呼ばれることもあります。 2つのカテゴリ変数を持つデータセットに対して行う、母比率の差の検定です。 2つのカテゴリ変数は独立しているか、互いに関係性があるかの評価に使用されます。

ザックリとした手順は以下です。

  1. データから、観測度数のクロス集計表を作成
  2. 1から、期待度数(2変数が独立なとき)のクロス集計表を作成
  3. 1と2のそれぞれから計算される比率に、有意な差がないか検定

いつ使うのか?

カイ二乗の独立性の検定は、以下のような場合に使用します。

  • データが2つのカテゴリ変数(質的データ)で構成されている。
  • クロス集計表の期待度数が十分に大きい(少なくとも80%以上のセルが5以上、かついずれのセルも1以上)。

算出値の意味

仮説検定では、 p値 を算出し、 有意水準α と比較を行います。 p値 は、=CHISQ.TEST関数によって得られます。

p値有意水準α による判定は以下の通りです。

  • p値 < α のとき: 観測度数と期待度数に有意な差が ある 2つのカテゴリ変数は独立でない(関係性がある)
  • p値 ≥ α のとき: 観測度数と期待度数に有意な差が ない 2つのカテゴリ変数は独立でない とは言えない

エクセルでの算出方法

以下の 全セルをコピー ボタンをクリックし、エクセルの A1 セルに貼り付けると、 K2 セルにp値(下記の場合 0.17090352)、E5セルに検定結果(下記の場合 (有意差)なし)が出力されます。

データを変更したい場合は、 A列を書き換えてください。 B, C列 (+A列)のデータと、 クロス集計表(観測度数)のラベル(F4 ~ G4, H5 ~ H6)を書き換え、 データ数に応じて F5 ~ G6セル中の参照セル範囲を書き換えることで、 各自のデータにあわせて計算できます。 テンプレート・サンプルのクロス集計表のサイズは2x2ですが、 自由に拡張できます(2x3や3x3など)。

ABCDEFGHIJK
1データクロス集計表有意水準α0.05
2ラベル性別回答p値0.171
31YES観測度数
42YESYESNO合計結果
53YES303有意差なし
64YES112
75NO合計415
8
9期待度数
10YESNO合計
112.40.6
121.60.42
13合計412

算出手順

エクセルで対応のカイ二乗の独立性の検定を行うための手順は、以下の5つです。

1. クロス集計表(実測度数)の作成

データセットを2つのカテゴリ変数でクロス集計します。 集計には COUNTIFS 関数を使用します。

集計した値から、SUM 関数で合計値も算出します。

fxCOUNTIFS関数
COUNTIFS ( 配列1, 検索条件1, 配列2, 検索条件2, ... )

指定した 配列1 データ中で、 検索条件1 に合致する個数をカウント する。
配列とその条件のセット(例:配列2検索条件2)を追加することで、 複数条件を追加設定できる(最大127セット)。

配列1
: 必須
A1:A5
検索条件1で検索するデータ範囲。
検索条件1
: 必須
">=" & E2
カウントする条件1。
配列2
: 任意
A1:A5
検索条件2で検索するデータ範囲。
検索条件2
: 任意
">=" & E2
カウントする条件2。

2. クロス集計表(実測度数)の作成

手順1で作成したクロス集計表(実測度数)の中の合計値を使い、 クロス集計表(期待度数)を作成します。

クロス集計表(期待度数)の各セルの値は、以下の式で算出します。

期待度数=行の合計値×列の合計値総合計値期待度数 = \frac{行の合計値 \times 列の合計値}{総合計値}

※ クロス集計表(期待度数)中の合計値の算出は必須ではありません。

3. パラメータの設定

有意水準αを 事前 に設定します。 0.05(5%)や 0.01(1%)が一般的です。

4. p値を算出

=CHISQ.TEST 関数を使用して、 実測度数と期待度数間のp値を算出します。

fxCHISQ.TEST関数
CHISQ.TEST ( 実測値範囲, 期待値範囲)

実測値範囲の値(観測度数)と期待値範囲の値(期待度数)を比較し、 統計的に有意な差があるか、 カイ二乗検定(独立性・適合性の検定)を行い、そのときのp値を返す。 p値が小さいほど、統計的に有意な差があると言える。
実測値範囲期待値範囲のサイズは同じ必要がある。
(旧関数:CHITEST関数)

実測値範囲
: 必須
B3:C4
検定に使用する実測値の数値配列。
期待値範囲
: 必須
B9:C10
検定に使用する期待値の数値配列。

5. 結果の表示

設定した有意水準と、算出したp値を比較した結果を表示します。 ここで IF 関数を使用しています。

fxIF関数
IF ( 論理式, TRUE時の値, FALSE時の値)

論理式の値が TRUEFALSE かに応じて分岐 し、 それぞれに対応した値 (TRUE時の値 / FALSE時の値) を返す。

論理式
: 必須
A2>=0
論理値 (TRUE/FALSE) を返す条件式
TRUE時の値
: 必須
"○"
論理式が TRUE の場合に返す値。
FALSE時の値
: 任意
"×"
論理式が FALSE の場合に返す値。