Contents
F検定とは?
F検定は、2つ以上の群の分散が等しいかどうかを検定するための手法です。具体的には、2つの群の分散の比をとり、その比が1に十分近いかどうかを判断します。F検定はANOVA(分散分析)の一部としても使用されます。
F検定の公式
$$ F = \frac{s_1^2}{s_2^2} $$
ここで、\(s_1^2\)と\(s_2^2\)は2つのサンプルの分散です。
PythonでのF検定の実行方法
PythonでF検定を行うためには、scipyライブラリのf_oneway関数を使用します。
動作確認したpython、モジュールのバージョンは以下のとおりです。
python 3.9.13
scipy 1.11.3
例題
2つの異なる製造方法で作られた製品の強度を比較するためのデータが以下のように与えられたとします。
- 方法A: [23, 21, 22, 24, 25]
- 方法B: [31, 32, 30, 29, 28]
この2つの製造方法の製品の強度の分散が等しいかどうかをF検定で検証します。
from scipy.stats import f_oneway
# データ
data_A = [23, 21, 22, 24, 25]
data_B = [31, 32, 30, 29, 28]
# F検定
f_val, p_val = f_oneway(data_A, data_B)
print(f"F値: {f_val}")
print(f"p値: {p_val}")
if p_val < 0.05:
print("分散は有意に異なる")
else:
print("分散は有意に異ならない")
上記コードの実行結果以下のとおりです。
F値: 49.0
p値: 0.00011263854912686907
分散は有意に異なる
従って、方法Aと方法Bでは、製品の強度のばらつきに差があると言えるということになります。
まとめ
F検定は、2つ以上の群の分散が等しいかどうかを検定するための手法です。Pythonのscipyライブラリを使用することで、簡単にF検定を実行することができます。
Pythonでの検定の方法については、他の記事でも紹介しておりますので、よろしければご覧ください。