カイ二乗検定とは?
カイ二乗検定(χ²検定)は、観測データが期待される分布とどの程度一致しているかを評価するための統計的手法です。特に、カテゴリデータ(名義尺度データ)を扱う際に用いられます。たとえば、「性別と職業の関係」「広告のクリック率と年齢層の関係」など、2つのカテゴリ変数間の関係を調べるのに適しています。
カイ二乗検定には主に2つの種類があります。
- 適合度検定: あるカテゴリ変数の分布が期待値と一致しているかを検定する。
- 独立性の検定: 2つのカテゴリ変数が互いに独立であるかを検定する。
カイ二乗検定の適用例
カイ二乗検定は、さまざまな場面で活用できます。ここでは、いくつかの具体例を紹介します。
1. 選挙での投票傾向の分析(適合度検定)
ある地域の住民に対して支持政党を尋ねたとします。この分布が全国平均と同じかどうかを確認するために、カイ二乗適合度検定を使用できます。
2. 広告の効果測定(独立性の検定)
A/Bテストを行い、「広告のバージョンA」と「バージョンB」でクリック率に差があるかを検定します。「広告のバージョン」と「クリックした/しなかった」の2つのカテゴリ変数の関連性をカイ二乗検定で分析できます。
3. 医療データの分析
例えば、「喫煙習慣」と「病気の有無」の関係を調べる際、カイ二乗独立性検定を用いることで、喫煙と特定の病気の間に統計的な関連があるかを評価できます。
カイ二乗検定の計算方法
カイ二乗統計量(χ²)は、次の式で計算されます。
ここで、
- は観測値(実際のデータ)
- は期待値(帰無仮説のもとでの理論値)
この計算結果を自由度とともにカイ二乗分布と比較し、p値を求めます。p値が一般的に採用される有意水準(0.05など)より小さければ、帰無仮説を棄却し、有意な関連があると判断できます。
カイ二乗検定の手順
- 仮説の設定
- 帰無仮説(H₀):2つのカテゴリ変数は独立である。
- 対立仮説(H₁):2つのカテゴリ変数は独立でない。
- 観測データの整理
- クロス集計表を作成する。
- 例:広告クリックのデータ
- 期待値の計算
- 各セルの期待値は次のように計算します。
- カイ二乗統計量の計算
- 先ほどの式を用いて算出。
- p値の計算と結果の解釈
- p値が有意水準より小さい場合、帰無仮説を棄却し、2つのカテゴリ変数に関連があると判断。
カイ二乗検定の注意点
- 期待値が小さい場合の対処法
- 期待値が5未満のセルが多い場合、フィッシャーの正確検定を検討。
- 標本サイズの影響
- 標本サイズが小さすぎると検定の信頼性が低下。
- 標本サイズが大きすぎると小さな差でも有意になりやすい。
- 因果関係を示せない
- カイ二乗検定は関連性を示すが、因果関係は証明できない。
Pythonを使ったカイ二乗検定の実行
Pythonのscipy.stats
ライブラリを使えば、簡単にカイ二乗検定を実行できます。
import numpy as np
import scipy.stats as stats
# クロス集計表のデータ
observed = np.array([[50, 150], [80, 120]])
# カイ二乗検定の実行
chi2, p, dof, expected = stats.chi2_contingency(observed)
# 結果の表示
print(f"カイ二乗値: {chi2}")
print(f"p値: {p}")
print(f"自由度: {dof}")
print("期待値:")
print(expected)
このコードを実行すると、カイ二乗統計量、p値、自由度、期待値が出力されます。
まとめ
- カイ二乗検定は、カテゴリデータの関連性を調べるための重要な統計手法。
- 適合度検定は分布の一致度を確認し、独立性の検定は2つのカテゴリ変数の関連を分析。
- 実際のデータと期待値の差をもとに、統計的に有意な関連があるかを判断。
- Pythonを使えば簡単に計算可能。
カイ二乗検定を適切に活用し、データの背後にある関係性を見抜く力を養いましょう!