「アンケートの回答に偏りがあるのか、それとも単なるばらつきなのか」。こんな疑問を感じたことはありませんか?
目視で「なんとなく偏っているかも」と判断するだけでは、説得力のある報告にはなりません。統計的に裏付けを取りたいですよね。
そんなときに使うのがCHISQ.DIST関数です。この記事ではGoogleスプレッドシートでのCHISQ.DIST関数の使い方を、基本構文から実務活用まで解説します。TRUE/FALSEの違いや、CHISQ.DIST.RTとの使い分けもあわせて紹介しますよ。
スプレッドシートのCHISQ.DIST関数とは
CHISQ.DIST関数(読み方: カイ・スクエア・ディスト関数)は、カイ二乗分布にもとづいて確率を返す関数です。「CHISQ」は「Chi-Square(カイ二乗)」、「DIST」は「Distribution(分布)」の略です。
カイ二乗分布は、右に裾を引く非対称の形が特徴です。正規分布やt分布とは違い、0以上の値しか取りません。「観測データと期待値のズレ」を数値化するときに使います。
CHISQ.DIST関数にできることをまとめると、次のとおりです。
- ある値がカイ二乗分布の左側何%に位置するかを求める(累積確率)
- カイ二乗分布のグラフ上の密度(高さ)を取得する
- アンケートの回答に統計的な偏りがあるかを判定する(適合度検定)
- 2つのカテゴリに関連があるかを調べる(独立性検定)
NOTE
CHISQ.DIST関数はGoogleスプレッドシートの全バージョンで使えます。Excelにも同名の関数があり、動作は同じです。
基本構文と3つの引数
=CHISQ.DIST(x, 自由度, 累積)
カッコの中に3つの引数を指定します。
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| x | 必須 | カイ二乗分布で評価する数値(0以上) |
| 自由度(degrees_freedom) | 必須 | 自由度。1以上の正の整数 |
| 累積(cumulative) | 必須 | TRUEで累積分布、FALSEで確率密度 |
TIP
自由度(データから自由に値を決められる個数)は、検定の種類によって決まります。適合度検定では「カテゴリ数 – 1」、独立性検定では「(行数 – 1) x (列数 – 1)」です。小数を渡した場合は整数部分だけが使われます。
CHISQDIST(旧関数名)との関係
GoogleスプレッドシートにはCHISQDISTという関数もあります。これはCHISQ.DISTの旧バージョンで、計算結果は同じです。
=CHISQDIST(3.84, 1, TRUE) ← 旧関数名(動作は同じ)
=CHISQ.DIST(3.84, 1, TRUE) ← 新関数名(推奨)
新しく数式を書くときはCHISQ.DISTを使っておけば安心ですよ。
TRUE/FALSEで何が変わる?累積か密度かを選ぼう
CHISQ.DIST関数の3番目の引数「累積」は、TRUEかFALSEで結果がまったく変わります。この違いを押さえておくことが、CHISQ.DIST関数を使いこなすポイントです。
TRUE(累積分布関数)——x以下は全体の何%?
TRUEを指定すると累積分布関数(CDF: ある値以下になる確率の合計)の値を返します。実務で使う場面のほとんどがこちらです。
=CHISQ.DIST(3.84, 1, TRUE)
この数式は「自由度1のカイ二乗分布で、3.84以下になる確率」を返します。結果は約0.9500(95.0%) です。
つまりカイ二乗値が3.84以下に収まる確率が約95%ということです。逆にいえば、3.84を超える確率は約5%ですね。この「3.84」は自由度1・有意水準5%の臨界値として有名な数値です。
FALSE(確率密度関数)——その値の密度は?
FALSEを指定すると確率密度関数(PDF: カイ二乗分布グラフ上のy座標の値)を返します。
=CHISQ.DIST(3.84, 1, FALSE)
結果は約0.0296です。これは「確率」ではなくグラフの高さなので、直接「何%」と読むことはできません。カイ二乗分布のグラフを描くときに使います。
2つを比較してみる(サンプルデータつき)
自由度3のカイ二乗分布で、xを変えたときの結果を比べてみましょう。
| x | TRUE(累積確率) | FALSE(確率密度) |
|---|---|---|
| 1 | 0.1987(19.9%) | 0.2420 |
| 2 | 0.4276(42.8%) | 0.2076 |
| 3 | 0.6084(60.8%) | 0.1542 |
| 5 | 0.8282(82.8%) | 0.0695 |
| 7.81 | 0.9500(95.0%) | 0.0207 |
TRUEの列はxが大きくなるほど1に近づいていきます。FALSEの列はxが小さいほど大きく、離れるほど小さくなります。正規分布とは違い、0付近で密度が高いのがカイ二乗分布の特徴ですよ。
実務活用3パターン
CHISQ.DIST関数の基本がわかったところで、実際の業務で使えるパターンを3つ紹介します。
適合度検定——アンケート結果に偏りがあるか判定する
「5つの選択肢に均等に回答が分かれているか」を統計的に判定するのが適合度検定です。CHISQ.DIST関数を使えば、p値を手計算なしで求められます。
たとえば、5択のアンケート(回答数合計100)の結果が次のとおりだったとします。
| 選択肢 | 観測度数 | 期待度数(均等なら) |
|---|---|---|
| A | 28 | 20 |
| B | 15 | 20 |
| C | 22 | 20 |
| D | 18 | 20 |
| E | 17 | 20 |
まずカイ二乗統計量を求めます。各カテゴリの「(観測値 – 期待値)^2 / 期待値」を合計する計算です。
=(28-20)^2/20 + (15-20)^2/20 + (22-20)^2/20 + (18-20)^2/20 + (17-20)^2/20
結果は5.3です。自由度は「カテゴリ数 – 1 = 4」です。
次にp値を求めます。「カイ二乗値5.3以上が偶然で起こる確率」なので、右側確率を使います。
=1 - CHISQ.DIST(5.3, 4, TRUE)
結果は約0.2578です。有意水準5%(0.05)よりはるかに大きいので、「回答に有意な偏りがあるとはいえない」と判断できます。
TIP
右側確率を直接求めるなら
=CHISQ.DIST.RT(5.3, 4)と書くほうが簡単です。結果は同じになりますよ。
独立性検定——2つのカテゴリに関連があるか調べる
「性別と商品の好みに関連はあるか」のように、2つのカテゴリ変数の関連を調べるのが独立性検定です。
たとえば、次のクロス集計表があるとします。
| 商品A | 商品B | 合計 | |
|---|---|---|---|
| 男性 | 30 | 20 | 50 |
| 女性 | 15 | 35 | 50 |
| 合計 | 45 | 55 | 100 |
期待度数は「行合計 x 列合計 / 総合計」で計算します。たとえば男性×商品Aの期待度数は 50 x 45 / 100 = 22.5 です。
カイ二乗統計量を計算します。
=(30-22.5)^2/22.5 + (20-27.5)^2/27.5 + (15-22.5)^2/22.5 + (35-27.5)^2/27.5
結果は約9.0909です。自由度は (2-1) x (2-1) = 1 です。
=1 - CHISQ.DIST(9.0909, 1, TRUE)
結果は約0.0026です。有意水準5%を大きく下回るので、「性別と商品の好みには関連がある」と判断できますね。
TIP
スプレッドシートにはデータ範囲から直接p値を返すCHISQ.TEST関数もあります。手計算を省きたい場合はこちらが便利です。
品質管理——不良品の発生パターンが均一か確認する
製造ラインの曜日別不良品数にばらつきがあるかを調べる例です。
月~金の不良品数が{8, 12, 6, 14, 10}で、均等なら各10個ずつ期待されるとします。
=(8-10)^2/10 + (12-10)^2/10 + (6-10)^2/10 + (14-10)^2/10 + (10-10)^2/10
結果は4.0です。自由度は4です。
=CHISQ.DIST.RT(4.0, 4)
結果は約0.4060です。有意水準5%よりずっと大きいので、「曜日による偏りがあるとはいえない」という結論です。特定の曜日に不良品が集中しているわけではなさそうですね。
カイ二乗分布関数ファミリーの使い分け
Googleスプレッドシートには、カイ二乗分布に関連する関数がいくつかあります。それぞれの役割を整理しておきましょう。
| 関数 | 用途 | 特徴 |
|---|---|---|
| CHISQ.DIST | 左側累積確率または確率密度を返す | 最も基本的。CDF/PDFを切り替え可能 |
| CHISQ.DIST.RT | 右側累積確率を返す | 1 – CHISQ.DIST(x, df, TRUE) と同じ。p値の算出に直結 |
| CHISQ.INV | 確率からカイ二乗値を逆算する(左側) | CHISQ.DISTの逆関数。臨界値の算出に便利 |
| CHISQ.INV.RT | 確率からカイ二乗値を逆算する(右側) | 有意水準から臨界値を直接求められる |
| CHISQ.TEST | 2つのデータ範囲でカイ二乗検定のp値を返す | 統計量を自分で計算しなくてよい |
使い分けのポイントをまとめます。
- 検定のp値を求めたい → CHISQ.DIST.RT(右側確率)が直接的
- 臨界値を求めたい → CHISQ.INV.RT(例: 有意水準5%・自由度4の臨界値 = 9.49)
- データ範囲から直接検定したい → CHISQ.TEST
- グラフを描きたい → CHISQ.DIST(x, df, FALSE)
迷ったらCHISQ.DIST.RTでp値を求めるのが実務では安全ですよ。
正規分布(NORM.DIST)・t分布(T.DIST)との違い
CHISQ.DIST関数とNORM.DIST関数、T.DIST関数はいずれも確率分布の関数ですが、扱うデータの種類が異なります。
| 比較項目 | CHISQ.DIST | NORM.DIST | T.DIST |
|---|---|---|---|
| 分布の形 | 右に裾を引く非対称 | 左右対称の釣鐘型 | 左右対称(裾が厚い) |
| 値の範囲 | 0以上のみ | 全範囲(-∞ ~ +∞) | 全範囲(-∞ ~ +∞) |
| 主な用途 | カテゴリデータの偏り検定 | 連続データの確率計算 | 少数サンプルの平均差の検定 |
| 引数 | x, 自由度, 累積 | x, 平均, 標準偏差, 累積 | x, 自由度, 累積 |
使い分けの基準はシンプルです。
よくあるエラーと注意点
CHISQ.DIST関数でつまずきやすいポイントをまとめました。
xに負の値を指定して#NUM!エラー
カイ二乗分布は0以上の値しか取りません。xに負の値を渡すと#NUM!エラーになります。
=CHISQ.DIST(-1, 3, TRUE) ← #NUM! エラー
自由度に1未満を指定して#NUM!エラー
自由度は1以上の正の整数でなければなりません。0を指定すると#NUM!エラーになります。
=CHISQ.DIST(3, 0, TRUE) ← #NUM! エラー
引数に文字列を渡して#VALUE!エラー
数値であるべき引数にテキストが入ると#VALUE!エラーになります。セル参照を使うときは、参照先が数値であることを確認しましょう。
期待度数が5未満のセルがある場合
カイ二乗検定は、各セルの期待度数が5以上あることが前提です。期待度数が5未満のセルがあると、検定の精度が下がります。そのような場合はカテゴリを統合して期待度数を5以上にしましょう。それでも難しい場合はフィッシャーの正確検定(少数データ向けの厳密な検定手法)を検討してみてくださいね。
CHISQ.DIST.RTとCHISQ.DISTの混同
CHISQ.DISTのTRUEは「左側」の累積確率を返します。検定のp値は「右側」なので、CHISQ.DIST.RTを使うか、1 - CHISQ.DIST(x, df, TRUE) と書く必要があります。p値を求めるつもりでCHISQ.DIST(x, df, TRUE)をそのまま使うと、結果が逆になってしまいますよ。
まとめ
CHISQ.DIST関数は、カイ二乗分布にもとづいて確率を求める関数です。
- 3番目の引数にTRUEを指定すると「x以下の累積確率」が返る
- FALSEを指定するとグラフの密度値が返る(実務ではTRUEが主役)
- アンケートの偏り判定(適合度検定)やクロス集計の関連分析(独立性検定)に使える
- p値を求めるにはCHISQ.DIST.RT(右側確率)が便利
- xに負の値を渡すと
#NUM!エラー。期待度数が5未満のセルがある場合は検定精度に注意 - 関連関数として、逆算にはCHISQ.INV、データから直接検定するにはCHISQ.TESTが使える
カイ二乗検定は「カテゴリデータに意味のある偏りがあるか」を判断する基本の手法です。アンケート分析やクロス集計の裏付けに、ぜひ活用してみてくださいね。
