スプレッドシートのCHISQ.DIST関数の使い方|カイ二乗分布の確率を求める

スポンサーリンク

「アンケートの回答に偏りがあるのか、それとも単なるばらつきなのか」。こんな疑問を感じたことはありませんか?

目視で「なんとなく偏っているかも」と判断するだけでは、説得力のある報告にはなりません。統計的に裏付けを取りたいですよね。

そんなときに使うのが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を変えたときの結果を比べてみましょう。

xTRUE(累積確率)FALSE(確率密度)
10.1987(19.9%)0.2420
20.4276(42.8%)0.2076
30.6084(60.8%)0.1542
50.8282(82.8%)0.0695
7.810.9500(95.0%)0.0207

TRUEの列はxが大きくなるほど1に近づいていきます。FALSEの列はxが小さいほど大きく、離れるほど小さくなります。正規分布とは違い、0付近で密度が高いのがカイ二乗分布の特徴ですよ。

実務活用3パターン

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

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

「5つの選択肢に均等に回答が分かれているか」を統計的に判定するのが適合度検定です。CHISQ.DIST関数を使えば、p値を手計算なしで求められます。

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

選択肢観測度数期待度数(均等なら)
A2820
B1520
C2220
D1820
E1720

まずカイ二乗統計量を求めます。各カテゴリの「(観測値 – 期待値)^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合計
男性302050
女性153550
合計4555100

期待度数は「行合計 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.TEST2つのデータ範囲でカイ二乗検定の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.DISTNORM.DISTT.DIST
分布の形右に裾を引く非対称左右対称の釣鐘型左右対称(裾が厚い)
値の範囲0以上のみ全範囲(-∞ ~ +∞)全範囲(-∞ ~ +∞)
主な用途カテゴリデータの偏り検定連続データの確率計算少数サンプルの平均差の検定
引数x, 自由度, 累積x, 平均, 標準偏差, 累積x, 自由度, 累積

使い分けの基準はシンプルです。

  • カテゴリデータの偏りを調べたい → CHISQ.DIST
  • 連続データの位置を知りたいNORM.DIST
  • 少数サンプルの平均差を検定したいT.DIST

よくあるエラーと注意点

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が使える

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

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