スプレッドシートのCHISQ.TEST関数の使い方|カイ二乗検定のp値を一発で求める

スポンサーリンク

「アンケート結果に偏りがあるか、統計的に判定したい」。そう思ったとき、カイ二乗統計量を手計算してからp値を求めるのは手間がかかりますよね。

途中の計算を間違えれば結論も変わってしまいます。もっと手軽に検定できる方法があれば助かりますよね。

CHISQ.TEST関数なら、実測値と期待値の2つの範囲を指定するだけでp値を直接返してくれます。

この記事ではGoogleスプレッドシートでのCHISQ.TEST関数の使い方を、基本構文から実務活用まで解説しますよ。

スプレッドシートのCHISQ.TEST関数とは

CHISQ.TEST関数(読み方: カイ・スクエア・テスト関数)は、カイ二乗検定のp値を直接返す関数です。「CHISQ」は「Chi-Square(カイ二乗)」の略です。「TEST」は「検定」の意味ですね。

カイ二乗検定は「観測データと期待値のズレが、偶然で説明できる範囲かどうか」を判定する統計手法です。CHISQ.TEST関数を使えば、カイ二乗統計量を自分で計算する必要がありません。実測値と期待値を渡すだけで検定結果(p値)が得られますよ。

CHISQ.TEST関数にできることをまとめると、次のとおりです。

  • アンケートの回答に偏りがあるかを判定する(適合度検定)
  • 2つのカテゴリに関連があるかを調べる(独立性検定)
  • 曜日別・店舗別の実績データに有意な差があるかを確認する
  • カイ二乗統計量の手計算を省いてp値を一発で求める

NOTE

CHISQ.TEST関数はGoogleスプレッドシートの全バージョンで使えます。Excelにも同名の関数があり、動作は同じです。

基本構文と2つの引数

=CHISQ.TEST(実測範囲, 期待範囲)

カッコの中に2つの引数を指定します。

引数必須/任意説明
実測範囲(observed_range)必須実際に観測されたデータの範囲
期待範囲(expected_range)必須帰無仮説のもとで期待されるデータの範囲

引数はどちらもセル範囲で指定します。2つの範囲は同じ行数・列数でなければなりません。

TIP

CHISQ.TEST関数が内部で行っている計算は「各セルの (実測値 – 期待値)^2 / 期待値 を合計してカイ二乗統計量を求め、その右側確率を返す」という処理です。自由度は範囲のサイズから自動的に決まります(行数と列数がともに1より大きい場合は (行数 – 1) x (列数 – 1)、それ以外は 行数 x 列数 – 1)。

CHITEST(互換関数)との関係

GoogleスプレッドシートにはCHITESTという関数もあります。これはCHISQ.TESTの旧バージョン(互換関数)で、計算結果は同じです。

=CHITEST(B2:B6, C2:C6)     ← 旧関数名(動作は同じ)
=CHISQ.TEST(B2:B6, C2:C6)  ← 新関数名(推奨)

新しく数式を書くときはCHISQ.TESTを使っておけば安心ですよ。

CHISQ.TEST関数の基本的な使い方

まずはシンプルな例で使い方を確認しましょう。サイコロを60回振った結果が均等かどうかを検定します。

サンプルデータの準備

次のデータをスプレッドシートに入力します。

 A列(目)B列(実測値)C列(期待値)
1行目1810
2行目21210
3行目3710
4行目41510
5行目5910
6行目6910

サイコロが公正なら各目が10回ずつ出るはずです。実際の出目にばらつきがあるので、これが偶然の範囲かどうかを調べます。

数式を入力する

適当な空きセルに次の数式を入力します。

=CHISQ.TEST(B1:B6, C1:C6)

結果は約0.4457です。

結果を読み取る

p値が0.4457ということは、「この程度のばらつきは偶然で約44.6%の確率で起こりうる」という意味です。

一般的な有意水準5%(0.05)よりはるかに大きいので、「サイコロに偏りがあるとはいえない」と判断できます。

判定の基準はシンプルです。

  • p値 < 0.05 → 有意な偏りあり(帰無仮説を棄却)
  • p値 >= 0.05 → 偶然の範囲(帰無仮説を棄却できない)

TIP

有意水準は分野や目的によって異なります。医学系では0.01を使うこともあります。ビジネスの場面では0.05が一般的ですよ。

実務活用3パターン

CHISQ.TEST関数の基本がわかったところで、実際の業務で使えるパターンを3つ紹介します。

適合度検定——アンケート結果に偏りがあるか判定する

「5つの選択肢に均等に回答が分かれているか」を統計的に判定する例です。

たとえば、5択のアンケート(回答数合計100)の結果が次のとおりだったとします。

 A列(選択肢)B列(実測値)C列(期待値)
1行目選択肢A2820
2行目選択肢B1520
3行目選択肢C2220
4行目選択肢D1820
5行目選択肢E1720

均等に回答が分かれるなら各20名ずつ(100 / 5)が期待値です。

=CHISQ.TEST(B1:B5, C1:C5)

結果は約0.2578です。有意水準5%より大きいので、「回答に有意な偏りがあるとはいえない」と判断できます。

もし期待値が均等でなく、過去データに基づく比率を使いたい場合は、期待値列にその比率に応じた人数を入れればOKです。

独立性検定——2つのカテゴリに関連があるか調べる

「性別と商品の好みに関連はあるか」のように、2つのカテゴリ変数の関連を調べるのが独立性検定です。CHISQ.TEST関数を使えば、クロス集計表から直接p値を求められますよ。

たとえば、次のクロス集計表があるとします。

実測値(B2:C3)

 B列(商品A)C列(商品B)
2行目(男性)3020
3行目(女性)1535

期待値(E2:F3)

期待値は「行合計 x 列合計 / 総合計」で計算します。

 E列(商品A)F列(商品B)
2行目(男性)22.527.5
3行目(女性)22.527.5
=CHISQ.TEST(B2:C3, E2:F3)

結果は約0.0026です。有意水準5%を大きく下回るので、「性別と商品の好みには関連がある」と判断できますね。

TIP

独立性検定では、実測値と期待値を同じ行列構造(この例では2行2列)で渡すのがポイントです。1列に並べ替えてしまうと自由度の計算が変わり、正しい結果が得られません。

曜日別の偏り検定——売上や問い合わせ数のばらつきを確認する

「特定の曜日に問い合わせが集中しているか」を検定する例です。

 A列(曜日)B列(実測値)C列(期待値)
1行目4535
2行目3035
3行目2835
4行目3235
5行目4035
6行目3535
7行目3535

1週間の問い合わせ合計245件を7で割った35件が期待値です。

=CHISQ.TEST(B1:B7, C1:C7)

結果は約0.2863です。有意水準5%より大きいので、「曜日による有意な偏りがあるとはいえない」という結論です。

もしp値が0.05未満だった場合は、実測値と期待値の差を確認しましょう。「どの曜日が特に多い(少ない)か」がわかります。カイ二乗検定は「全体として偏りがあるか」を判定するもので、「どこが偏っているか」までは教えてくれません。

CHISQ.TEST関数を使うときの注意点

正確な結果を得るために、押さえておきたいポイントをまとめます。

期待度数が5未満のセルがある場合

カイ二乗検定は、各セルの期待度数が5以上あることが前提です。期待度数が5未満のセルがあると、検定の精度が下がります。

対処法は2つあります。

  • 隣接するカテゴリを統合して期待度数を5以上にする
  • フィッシャーの正確検定(少数データ向けの厳密な検定手法)を検討する

範囲のサイズが一致しない場合

実測範囲と期待範囲の行数・列数が異なると#N/Aエラーになります。

=CHISQ.TEST(B1:B5, C1:C6)   ← #N/A エラー(行数が違う)

2つの範囲が同じサイズかを確認しましょう。

期待値に0があるとエラーになる

期待値に0が含まれると、内部計算で0による除算が発生して#NUM!エラーになります。

=CHISQ.TEST(B1:B3, C1:C3)   ← C2が0だと #NUM! エラー

期待値が0になるカテゴリは、分析対象から除外するか他のカテゴリと統合しましょう。

引数に文字列が含まれるとエラーになる

数値であるべきセルにテキストが入ると#NUM!エラーになります。セル参照を使うときは、参照先がすべて数値であることを確認しましょう。

p値の解釈で「差がない」と断定しない

p値が0.05以上のとき、正確には「有意な差があるとはいえない」です。「差がない」とは異なります。サンプル数が少ないだけで差が検出されていない可能性もあるためです。報告書では「有意差は認められなかった」と表現するのが統計的に正確ですよ。

カイ二乗分布関数ファミリーとの使い分け

Googleスプレッドシートには、カイ二乗分布に関連する関数がいくつかあります。CHISQ.TEST関数との違いを整理しておきましょう。

関数何を返すか入力主な用途
CHISQ.TESTp値(右側確率)実測範囲, 期待範囲データ範囲から直接カイ二乗検定
CHISQ.DIST左側累積確率 or 確率密度x, 自由度, 累積累積確率の計算、グラフ描画
CHISQ.DIST.RT右側累積確率x, 自由度カイ二乗統計量からp値を算出
CHISQ.INVカイ二乗値(左側から逆算)確率, 自由度確率からカイ二乗値を逆算
CHISQ.INV.RTカイ二乗値(右側から逆算)確率, 自由度有意水準から臨界値を算出

使い分けのポイントをまとめます。

  • データ範囲を渡して手軽にp値がほしい → CHISQ.TEST(この記事の関数)
  • カイ二乗統計量を自分で計算済みでp値がほしいCHISQ.DIST.RT
  • 有意水準から臨界値を求めたいCHISQ.INV.RT
  • カイ二乗分布のグラフを描きたいCHISQ.DIST(FALSEで確率密度)

迷ったらCHISQ.TEST関数でp値を求めるのが最も手軽ですよ。

他の検定関数との比較

スプレッドシートにはカイ二乗検定以外の検定関数もあります。検定の目的に応じて使い分けましょう。

検定関数検定の種類対象データ
CHISQ.TESTカイ二乗検定カテゴリデータの偏り・関連
T.TESTt検定2群の平均値の差
F.TESTF検定2群の分散の差
  • 「カテゴリデータに偏りがあるか」を調べたい → CHISQ.TEST
  • 「2つのグループの平均に差があるか」を調べたいT.TEST
  • 「2つのグループのばらつきに差があるか」を調べたいF.TEST

Excelとの違い

CHISQ.TEST関数はGoogleスプレッドシートとExcelで同じ構文・同じ結果が得られます。併用環境でも安心して使えます。

ただし、互換関数の名前が少し異なります。

 GoogleスプレッドシートExcel
推奨関数CHISQ.TESTCHISQ.TEST
互換関数CHITESTCHITEST

どちらの環境でも、新しく数式を書くときはCHISQ.TESTを使いましょう。

まとめ

CHISQ.TEST関数は、カイ二乗検定のp値をデータ範囲から直接求められる関数です。

  • 実測値と期待値の2つの範囲を指定するだけでp値が返る
  • カイ二乗統計量を自分で計算する手間が省ける
  • 適合度検定(偏りの判定)にも独立性検定(関連の判定)にも使える
  • p値 < 0.05 なら有意な偏りあり、p値 >= 0.05 なら偶然の範囲と判断
  • 期待度数が5未満のセルがあると精度が下がるので注意
  • 互換関数CHITESTでも同じ結果が得られるが、CHISQ.TESTの使用を推奨
  • カイ二乗統計量からp値を求めたい場合はCHISQ.DIST.RT関数が便利

カイ二乗検定は「カテゴリデータに意味のある偏りがあるか」を判断する基本の手法です。アンケート分析やクロス集計の裏付けに、ぜひ活用してみてくださいね。

タイトルとURLをコピーしました