スポンサーリンク

【Python】F検定(等分散性の検定)

記事内に広告が含まれています。
スポンサーリンク

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での検定の方法については、他の記事でも紹介しておりますので、よろしければご覧ください。

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