以下の統計検定2級対策動画で用いられているスライドの一部です。
こんな疑問ありませんか?
「アンケートで、年代と回答内容に 関連 はあるのだろうか?」
「キャンペーンAとBで、商品の購入率に 違い はあったのだろうか?」
このような、2つのカテゴリデータ間の 関連性 を客観的に判断したい場面で役立つのが、今回解説する 独立性の検定 です。
ステップ1:具体例で学ぶ独立性の検定
【例題】カフェのコーヒー豆と「おかわり」注文の関連性
あるカフェで、お客さん30人を対象に試飲調査を行いました。
- 新豆A と 従来豆B のどちらを提供したか
- その後「 おかわり 」を注文したか
この結果から、「 コーヒー豆の種類 」と「 おかわり注文の有無 」に 関連がある と言えるでしょうか?
(有意水準 $\alpha = 0.05$ とします)
手順1:仮説を立てる
まず、統計的に検証したい2つの仮説を設定します。
-
帰無仮説 ($H_0$)
- コーヒー豆の種類と「おかわり」の注文は 独立である(関連がない)。
-
対立仮説 ($H_1$)
- コーヒー豆の種類と「おかわり」の注文は 独立ではない(関連がある)。
この検定のゴールは、データをもとに 帰無仮説を棄却できるか を判断することです。
手順2:実際のデータをまとめる (観測度数)
調査結果をまとめた表がこちらです。
この実際に観測された数値を 観測度数 と呼びます。
| おかわり有り | おかわり無し | 行合計 | |
|---|---|---|---|
| 新豆A | 12 | 3 | 15 |
| 従来豆B | 8 | 7 | 15 |
| 列合計 | 20 | 10 | 30 (総合計) |
手順3:「もし関連がなかったら」を考える (期待度数)
次に、「もし帰無仮説が正しく、全く関連がなかったら」どうなるかを計算します。これを 期待度数 と呼びます。
$$
期待度数 = \frac{そのセルの行合計 \times そのセルの列合計}{総合計}
$$
- 新豆A / おかわり有り: $\frac{15 \times 20}{30} = 10$
- 新豆A / おかわり無し: $\frac{15 \times 10}{30} = 5$
- 従来豆B / おかわり有り: $\frac{15 \times 20}{30} = 10$
- 従来豆B / おかわり無し: $\frac{15 \times 10}{30} = 5$
手順4:「ズレ」を測る (カイ二乗統計量)
観測度数 (現実) と 期待度数 (理想) のズレが大きいほど、「関連がある」と考えられます。このズレを測る指標が カイ二乗統計量 ($\chi^2$値) です。
注意点!
期待度数に 5 のような小さな値が含まれています。
このような場合、$\chi^2$値が過大評価される傾向があるため、 イェーツの補正 という調整を行います。
イェーツの補正とは?
2行2列の分割表で、期待度数が小さい場合に適用される補正です。
計算式の分子で、差の絶対値から 0.5 を引くことで、$\chi^2$値の過大評価を防ぎます。
$$
\chi^2 = \sum \frac{(|\text{観測度数} - \text{期待度数}| - 0.5)^2}{\text{期待度数}}
$$
この式を使って、例題の$\chi^2$値を計算してみましょう。
カイ二乗統計量の計算(イェーツの補正あり)
-
新豆A / おかわり有り:
$\frac{(|12 - 10| - 0.5)^2}{10} = \frac{1.5^2}{10} = 0.225$ -
新豆A / おかわり無し:
$\frac{(|3 - 5| - 0.5)^2}{5} = \frac{1.5^2}{5} = 0.45$ -
従来豆B / おかわり有り:
$\frac{(|8 - 10| - 0.5)^2}{10} = \frac{1.5^2}{10} = 0.225$ -
従来豆B / おかわり無し:
$\frac{(|7 - 5| - 0.5)^2}{5} = \frac{1.5^2}{5} = 0.45$
これらを全て合計します。
$$
\chi^2 = 0.225 + 0.45 + 0.225 + 0.45 = 1.35
$$
手順5:判定基準の準備 (自由度)
計算した $\chi^2$値 = 1.35 が大きいのか小さいのかを判断するため、 自由度 を計算します。
$$
自由度 (df) = (行の数 - 1) \times (列の数 - 1)
$$
今回の例では、2行2列の表なので、
$$
自由度 (df) = (2 - 1) \times (2 - 1) = 1
$$
手順6:結論を出す (判定)
- 計算した$\chi^2$値: 1.35
- 自由度: 1
- 有意水準: 0.05
自由度1、有意水準0.05のカイ二乗分布における基準値 (棄却域の境界) は 3.84 です。
「計算した$\chi^2$値が 3.84 以上であれば、帰無仮説を棄却し、 関連がある と判断する」
というルールになります。
グラフで見る判定結果
import numpy as np
import matplotlib.pyplot as plt
from scipy.stats import chi2
# Define parameters
df = 1
alpha = 0.05
chi2_calculated = 1.35
# Critical value (rejection region boundary)
critical_value = chi2.ppf(1 - alpha, df)
# Generate data for the plot
x = np.linspace(0, 10, 500)
y = chi2.pdf(x, df)
# Create the plot
plt.figure(figsize=(10, 6))
plt.plot(x, y, 'b-', label=f'Chi-squared PDF (df={df})')
# Shade the rejection region
x_fill = np.linspace(critical_value, 10, 100)
y_fill = chi2.pdf(x_fill, df)
plt.fill_between(x_fill, y_fill, color='red', alpha=0.5, label=f'Rejection Region (alpha={alpha})')
# Mark the calculated chi-squared value
plt.axvline(chi2_calculated, color='green', linestyle='--', label=f'Calculated Chi-squared = {chi2_calculated:.2f}')
plt.text(chi2_calculated + 0.1, 0.2, f'Calculated value\n{chi2_calculated:.2f}', color='green')
# Mark the critical value
plt.axvline(critical_value, color='red', linestyle='-', label=f'Critical Value = {critical_value:.2f}')
plt.text(critical_value + 0.1, 0.4, f'Critical value\n{critical_value:.2f}', color='red')
# Add labels and title
plt.title('Chi-squared Distribution (df=1)')
plt.xlabel('Chi-squared value')
plt.ylabel('Probability Density')
plt.legend()
plt.ylim(0, 1.0)
plt.grid(True)
plt.show()
結論
- 計算した$\chi^2$値 (1.35) は、基準値 (3.84) よりも小さい。
- つまり、計算値は 棄却域に入りません。
したがって、
帰無仮説を棄却することはできません。
【結論】
今回の調査結果からは、「コーヒー豆の種類と『おかわり』の注文に 関連があるとは言えない」。
ステップ2:一般化と定義
ここまでの内容を、一般的な用語や公式として整理します。
独立性の検定
2つのカテゴリカル変数が、
- 独立している (関連がない) か
-
独立ではない (関連がある) か
を統計的に判断するための手法。カイ二乗分布を利用するため、 カイ二乗検定 とも呼ばれる。
主要な用語と公式 (1/2)
-
観測度数 ($O$)
- 実際に観測された度数。
-
期待度数 ($E$)
- 帰無仮説(変数間に関連がない)が真である場合に期待される度数。
$$
期待度数 = \frac{行合計 \times 列合計}{総合計}
$$
主要な用語と公式 (2/2)
-
カイ二乗統計量 ($\chi^2$値)
- 観測度数と期待度数のズレを表す指標。
$$
\chi^2 = \sum_{i=1}^{k} \frac{(O_i - E_i)^2}{E_i}
$$
-
イェーツの補正 (2x2分割表)
- 期待度数が小さい場合に用いる補正式。
$$
\chi^2 = \sum \frac{(|O - E| - 0.5)^2}{E}
$$
本日のまとめ
- 独立性の検定 を使うと、アンケート結果などの2つのカテゴリデータ間の 関連性 を客観的に評価できる。
- 検定は、 観測度数 (現実) と 期待度数 (関連がない場合の理想) のズレを カイ二乗統計量 として計算することで行われる。
- 2x2分割表 で期待度数が小さい場合は、 イェーツの補正 を行い、より正確な検定を目指す。
