「カイ二乗検定で有意水準5%の臨界値はいくつだっけ?」。検定を実施するたびに、臨界値表を探し回っていませんか?
自由度が変わるたびに表を引くのは手間がかかりますよね。もっと手軽に臨界値を求められたら、検定作業がぐっと楽になります。
そんなときに使うのがCHISQ.INV関数です。この記事ではGoogleスプレッドシートでのCHISQ.INV関数の使い方を、基本構文から実務活用まで解説します。CHISQ.INV.RTとの違いや、CHISQ.DISTとの逆関数関係もあわせて紹介しますよ。
スプレッドシートのCHISQ.INV関数とは
CHISQ.INV関数(読み方: カイ・スクエア・インバース関数)は、カイ二乗分布の左側累積確率から対応する値(臨界値)を逆算する関数です。「CHISQ」は「Chi-Square(カイ二乗)」、「INV」は「Inverse(逆関数)」の略です。
CHISQ.DIST関数が「カイ二乗値 → 確率」を求めるのに対し、CHISQ.INV関数はその逆の「確率 → カイ二乗値」を求めます。つまり、2つの関数は逆関数の関係にあります。
CHISQ.INV関数にできることをまとめると、次のとおりです。
- 有意水準から適合度検定・独立性検定の臨界値を求める
- 「確率p以下になるカイ二乗値はいくつか」を逆算する
- 信頼区間の下限の算出に使う
NOTE
CHISQ.INV関数はGoogleスプレッドシートの全バージョンで使えます。Excelにも同名の関数があり、動作は同じです。
CHISQ.INV関数の基本構文と引数
基本構文
=CHISQ.INV(確率, 自由度)
カッコの中に2つの引数を指定します。
引数の一覧
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 確率(probability) | 必須 | 左側累積確率。0より大きく1未満の値を指定する |
| 自由度(degrees_freedom) | 必須 | 自由度。1以上の正の整数を指定する |
TIP
自由度(データから自由に値を決められる個数)は、検定の種類で決まります。適合度検定では「カテゴリ数 – 1」、独立性検定では「(行数 – 1) x (列数 – 1)」です。小数を渡した場合は整数部分だけが使われます。
戻り値とエラー
CHISQ.INV関数は、指定した確率に対応するカイ二乗値を返します。
たとえば =CHISQ.INV(0.95, 1) は約3.8415を返します。これは「自由度1のカイ二乗分布で、左側95%に対応する値」です。有意水準5%の臨界値としておなじみの数値ですね。
エラーになるケースは次のとおりです。
| 原因 | エラー | 例 |
|---|---|---|
| 確率が0以下または1以上 | #NUM! | =CHISQ.INV(0, 3) |
| 自由度が1未満 | #NUM! | =CHISQ.INV(0.95, 0) |
| 引数が数値でない | #VALUE! | =CHISQ.INV("abc", 3) |
CHISQ.INV関数の使い方(基本例)
まずはシンプルな例で動きを確認しましょう。有意水準5%(確率0.95)で、自由度を変えたときの臨界値を一覧にしてみます。
=CHISQ.INV(0.95, 1) → 3.8415
=CHISQ.INV(0.95, 3) → 7.8147
=CHISQ.INV(0.95, 5) → 11.0705
=CHISQ.INV(0.95, 10) → 18.3070
自由度が大きくなるほど、臨界値も大きくなっていくのがわかります。
確率を変えた場合の比較表も見てみましょう。自由度5で、確率を変えたときの結果です。
| 確率 | CHISQ.INV の結果 | 意味 |
|---|---|---|
| 0.90 | 9.2364 | 左側90%の臨界値(有意水準10%) |
| 0.95 | 11.0705 | 左側95%の臨界値(有意水準5%) |
| 0.99 | 15.0863 | 左側99%の臨界値(有意水準1%) |
確率が大きいほど(有意水準が小さいほど)、臨界値は大きくなります。判定を厳しくするほど、棄却に必要なカイ二乗値も大きくなるということですね。
CHISQ.DISTとの逆関数関係を確認する
CHISQ.INV関数とCHISQ.DIST関数は逆関数の関係にあります。次の数式で確認できますよ。
=CHISQ.DIST(CHISQ.INV(0.95, 3), 3, TRUE)
結果は0.95です。CHISQ.INVで求めた値をCHISQ.DISTに戻すと、元の確率に戻ります。「確率 → カイ二乗値 → 確率」のラウンドトリップが成立するわけですね。
CHISQ.INV関数の実務活用パターン
CHISQ.INV関数の基本がわかったところで、実務で使えるパターンを紹介します。
適合度検定の臨界値を求める
「アンケートの5択に偏りがあるか」を判定するとき、臨界値を使った判定方法を見てみましょう。
たとえば、5択アンケート(回答合計100)の結果が次のとおりだったとします。
| 選択肢 | 観測度数 | 期待度数(均等なら) |
|---|---|---|
| A | 28 | 20 |
| B | 15 | 20 |
| C | 22 | 20 |
| D | 18 | 20 |
| E | 17 | 20 |
まずカイ二乗統計量(観測データと期待値のズレの大きさ)を計算します。
=(28-20)^2/20 + (15-20)^2/20 + (22-20)^2/20 + (18-20)^2/20 + (17-20)^2/20
結果は5.3です。自由度は「カテゴリ数 – 1 = 4」です。
次に有意水準5%の臨界値をCHISQ.INV関数で求めます。
=CHISQ.INV(0.95, 4)
結果は約9.4877です。
カイ二乗統計量(5.3)が臨界値(9.4877)より小さいので、「回答に有意な偏りがあるとはいえない」と判断できます。臨界値表を引かなくても、1つの数式で判定基準がわかるのがCHISQ.INV関数の便利なところですよ。
TIP
p値で判定する方法もあります。CHISQ.DIST.RT関数で
=CHISQ.DIST.RT(5.3, 4)と書けば、p値(約0.2578)を直接求められます。p値が0.05より大きければ「偏りなし」です。
独立性検定の判定基準を設定する
「性別と商品の好みに関連があるか」を調べる独立性検定でも、臨界値を活用できます。
次のクロス集計表を例にします。
| 商品A | 商品B | 合計 | |
|---|---|---|---|
| 男性 | 30 | 20 | 50 |
| 女性 | 15 | 35 | 50 |
| 合計 | 45 | 55 | 100 |
カイ二乗統計量を計算すると約9.0909です。自由度は (2-1) x (2-1) = 1 です。
=CHISQ.INV(0.95, 1)
結果は約3.8415です。
カイ二乗統計量(9.0909)が臨界値(3.8415)を大きく上回っているので、「性別と商品の好みには関連がある」と判断できますね。
この判定方法のメリットは、臨界値をあらかじめ決めておけるところです。レポートに「自由度1・有意水準5%の臨界値は3.8415」と書いておけば、読み手も判定基準がすぐわかりますよ。
CHISQ.INVとCHISQ.INV.RTの違い
カイ二乗分布の逆関数には、CHISQ.INVとCHISQ.INV.RTの2種類があります。違いを整理しましょう。
| 比較項目 | CHISQ.INV | CHISQ.INV.RT |
|---|---|---|
| 確率の基準 | 左側累積確率 | 右側累積確率 |
| 入力する確率 | 0.95(左側95%) | 0.05(右側5%) |
| 結果 | 同じ臨界値が返る | 同じ臨界値が返る |
| 用途 | 一般的な統計計算 | 検定の臨界値を有意水準から直接求める |
次の2つの数式は同じ結果を返します。
=CHISQ.INV(0.95, 4) → 9.4877
=CHISQ.INV.RT(0.05, 4) → 9.4877
CHISQ.INVは「左側の確率」を渡すので0.95を指定します。CHISQ.INV.RTは「右側の確率」を渡すので0.05を指定します。数学的には次の関係が成り立ちます。
CHISQ.INV(1 - α, df) = CHISQ.INV.RT(α, df)
使い分けのポイントは次のとおりです。
- 有意水準(α)から臨界値を求めたい → CHISQ.INV.RTが直感的(αをそのまま渡せる)
- 累積確率テーブルを作りたい → CHISQ.INVが便利(0.1, 0.5, 0.9… と並べられる)
- 他の逆関数(NORM.INV、T.INV)と揃えたい → CHISQ.INVが統一的
どちらを使っても結果は同じなので、場面に合うほうを選んでみてくださいね。
CHISQ.INV関数でよくあるエラーと対処法
CHISQ.INV関数でつまずきやすいポイントをまとめました。
確率に0または1を指定して#NUM!エラー
確率は0より大きく1より小さい値(0 < p < 1)で指定します。0や1を渡すと#NUM!エラーです。
=CHISQ.INV(0, 3) ← #NUM! エラー
=CHISQ.INV(1, 3) ← #NUM! エラー
「ちょうど0%」や「ちょうど100%」に対応するカイ二乗値は定義できないためです。0.001や0.999のように、0と1を避けた値を指定しましょう。
自由度に0を指定して#NUM!エラー
自由度は1以上の正の整数でなければなりません。0を指定すると#NUM!エラーになります。
=CHISQ.INV(0.95, 0) ← #NUM! エラー
カテゴリ数が1つしかない場合(自由度0)はそもそも検定が成立しません。データの構造を見直してみてくださいね。
引数に文字列を渡して#VALUE!エラー
数値であるべき引数にテキストが入ると#VALUE!エラーです。セル参照を使う場合は、参照先が数値であることを確認しましょう。
=CHISQ.INV("abc", 3) ← #VALUE! エラー
CHISQ.INVとCHISQ.INV.RTを混同して結果が逆になる
有意水準5%の臨界値を求めるとき、CHISQ.INVには0.95を、CHISQ.INV.RTには0.05を渡します。間違えると結果が大きく変わってしまいます。
=CHISQ.INV(0.05, 4) → 0.7107(左側5%の値。検定には使えない)
=CHISQ.INV(0.95, 4) → 9.4877(これが正しい臨界値)
「左側の確率か、右側の確率か」を意識すれば、混同を防げますよ。
まとめ
CHISQ.INV関数は、カイ二乗分布の左側累積確率から対応するカイ二乗値(臨界値)を逆算する関数です。
- 引数は「確率」と「自由度」の2つだけ。シンプルな構文で臨界値を求められる
- 適合度検定や独立性検定で、判定基準となる臨界値の算出に使える
- CHISQ.INV.RTは右側確率から臨界値を求める関数。有意水準をそのまま渡せるので検定に便利
- CHISQ.DIST関数とは逆関数の関係にある
- 確率に0や1を渡すと
#NUM!エラー。0より大きく1未満の値を指定する - 関連関数として、NORM.INV関数(正規分布の逆関数)やT.INV関数(t分布の逆関数)もある
臨界値表を探す手間がなくなるのがCHISQ.INV関数の最大のメリットです。カイ二乗検定の判定基準を手軽に求めたいときに、ぜひ活用してみてくださいね。
