F検定|等分散性の検定
概要
2つの独立したグループ間で分散の等質性(等分散性)を検定する方法。
F検定は、各群の標本分散の比をとり、そのF値が帰無仮説(等分散)と矛盾するかを検証する。
主な用途
パターン | 説明 | 実務ユースケース |
---|---|---|
等分散性の確認 | 2群間の分散が等しいかを検定 | 施策別グループでの売上やCV率比較におけるグループ間の等分散性確認 (前提条件確認) |
グループ間のばらつき比較 | グループ間で数値のばらつきに差があるかどうかを検定 | 東京と神奈川での支出を比較し、ばらつきに差があるかを検証 |
データ要件
- 従属変数:数値型/連続変数(例:売上、CV率、支出)
- 独立変数:独立した2群(例:施策AvsB、東京vs神奈川、メール配信ありvsなし など)
- 前提条件:各群が正規分布に従うこと
理論
F検定は、2つの群の分散の比をとり、理論的なF分布と比較して「分散が等しいか」を検定
- 帰無仮説:2つの群の分散は等しい(=等分散)
- 対立仮説:2つの群の分散は異なる(両側検定)、片方の分散が他方より大きいか(片側検定)
片側検定としても使用できるが大きさの方向に注意が必要なため、
「分散が等しいか」の用途では両側検定が安全
【検定の手順】
-
各グループの不偏分散
,s_1^2 を計算s_2^2 -
統計量F(分散比)を算出 ※ 大きい方の値を分子にする
F = \frac{s_1^2}{s_2^2} -
自由度
の F分布に基づいてp値を算出(n_1 - 1, n_2 - 1)
→ p値が有意水準(例:0.05)未満なら、分散に差があると判断(帰無仮説を棄却)
F分布表から値を読み取る場合は「設定した有意水準÷2」の位置(例:0.025,0.075)を読み取る点に注意
F分布表から厳密なp値は算出できないためPythonを使った計算が必要
実装コード例
Python
from scipy.stats import f
# 2群のデータ
group_a = df[df['group'] == 'A']['value']
group_b = df[df['group'] == 'B']['value']
# 標本分散の計算
var_a = group_a.var(ddof=1)
var_b = group_b.var(ddof=1)
# 分散比(大きい方 / 小さい方)
f_stat = max(var_a, var_b) / min(var_a, var_b)
# 自由度
df1 = len(group_a) - 1
df2 = len(group_b) - 1
# 両側検定のp値計算(両端の確率を合計する)
p_val = 2 * min(
f.cdf(f_stat, df1, df2),
1 - f.cdf(f_stat, df1, df2)
)
print(f"F検定統計量={f_stat:.3f}, p値={p_val:.5f}")
if p_val < 0.05:
print("→ 分散に有意な差があります(等分散ではありません)")
else:
print("→ 分散に有意な差はありません(等分散とみなせます)")
補足1:var()の
ddof
パラメータの指定について
ddof=0
:母分散(デフォルト)
ddof=1
:不偏分散
補足2:両側検定のp値計算ついて
f.cdf(f_stat, df1, df2)
:F分布の累積分布関数:F値以下となる確率(左側)
1 - f.cdf(f_stat, df1, df2)
:F分布の累積分布関数:F値以上となる確率(右側)
2 * min()
:両側p値
例:f.cdf(f_stat, df1, df2)=0.05
としたとき、
1 - f.cdf(f_stat, df1, df2)=0.95
,min(0.05,0.95)=0.05
→p値=2*0.05=0.1
となる
注意点・Tips
- 等分散性が必要な検定の前提確認に用いられる(例:Studentのt検定)
- 正規分布が前提条件:外れ値に弱い、正規性がない場合はLevene検定などを使う方が安全
- 2群間のみ対応:3群以上の分散比較には使用できない(代替手法ANOVAまたはLevene検定へ)
- 等分散性検定の用途では両側検定が使われる
- 等分散が成り立たない場合:t検定であればWelchのt検定など代替手法を使用
- グループ数が3つ以上でも使用可能:2群だけでなく、3群以上の比較にも対応
- スコアに対しても検定可能だが、以下の場合は使えなかったり注意が必要
- スコアが非常に粗い(例:1〜3点しかない)
- 数値的間隔に意味がないスコア(例:好き=3、普通=2、嫌い=1)
- スコアがカテゴリ扱い(例:S/A/B/C/D)
関連手法
- 等分散性が前提の手法
- 類似手法
- Levene検定・Brown-Forsythe検定(正規性を問わず3群以上にも対応)
- 分散が異なる場合の代替手法
- Welchのt検定(正規性はある場合)
- Mann-Whitney検定(正規性もない場合)
Discussion