Traffine I/O

日本語

2022-11-24

F検定

F検定とは

F検定は、複数のグループ間で分散の均一性を検定するために適用される統計的な仮説検定です。分散はデータポイントのばらつきの尺度です。

F検定の主な目的は、考慮されるグループ間の変動性に有意な差があるかどうかを評価することです。基本的に、F検定は「これらのグループは分散が十分に異なるため、そのような差異がランダムな偶然によるものではない」という問いに答えようとします。

F検定の基本的な概念

帰無仮説と対立仮説

F検定の文脈では、帰無仮説(H_0)は通常、考慮される全てのグループの分散に有意な差がないと主張します。これは本質的に効果のないまたは差がない仮説です。

これに対して、対立仮説(H_1)は、グループ間の分散に差があることを述べますが、どのグループの分散が異なるのかを具体的には指定しません。言い換えれば、対立仮説は少なくとも1つのグループの分散が他のグループと異なると仮定しています。

F分布

F分布は、F検定を含む仮説検定に広く使用される確率分布です。F分布は、2つの観測されたサンプルの分散が同じかどうかを検定する際に生じる連続的な確率分布です。

F分布の形状は正に歪んでおり、分子および分母の2つの自由度によって定義されます。自由度とは、統計量の計算に関与する独立した情報の数を指します。

F統計量

F統計量は、帰無仮説のもとでF分布に従う検定統計量です。具体的には、グループ間の分散とグループ内の分散の比率として計算されます。

F検定の仮定

F検定を実施する前に、テストの基礎となる仮定がデータを満たしていることを確認することが重要です。これらの仮定を守らないと、正確な結果が得られない可能性があります。以下は満たされる必要のある主な仮定です。

  • 独立性
    各集団から抽出されるサンプルは互いに独立している必要があります。つまり、1つのイベントの発生が別のイベントの発生に影響を与えないということです。例えば、会社内の異なるチームの生産性を比較する場合、チームが独立して作業し、互いの出力に影響を与えないことを確認する必要があります。

  • 正規性
    各サンプルは正規分布から抽出されている必要があります。

  • 等分散性
    サンプルが抽出される母集団の分散は等しい必要があります。この仮定は、等分散性の仮定または分散の均一性としても知られており、F検定にとって中心的な役割を果たしています。

F検定の実施手順

F検定の実施には、仮説の設定から結果の解釈まで、一連の手順が関与します。以下に基本的な手順を示します。

  1. 帰無仮説と対立仮説を述べる

前述のように、F検定の帰無仮説は通常、全てのグループの分散が等しいことを述べます。対立仮説は、少なくとも1つのグループの分散が異なることを主張します。

  1. F統計量を計算

F統計量は、グループ間の分散(群間平方和, MSB)とグループ内の分散(群内平方和, MSW)の比率として計算されます。

F統計量の計算式は以下のとおりです。

F = \frac{MSB}{MSW}

ここで、

MSB = \frac{SSB}{df_B}

および

MSW = \frac{SSW}{df_W}

ここで、SSBはグループ間の平方和、df_Bは群間の自由度、SSWはグループ内の平方和、df_Wは群内の自由度です。

  1. F分布から臨界値を決定

F統計量を計算した後、F分布表から臨界値を決定する必要があります。この値は選択した有意水準(通常は0.05)と分子(群間)および分母(群内)の自由度に基づいています。

  1. F統計量と臨界値を比較

F検定の最後のステップは、計算したF統計量をF分布の臨界値と比較することです。もしF統計量が臨界値よりも大きければ、帰無仮説を棄却します。F統計量が臨界値以下である場合、帰無仮説を棄却することはできません。

F検定のPythonによる実装

この章では、PythonでF検定を実装する方法について説明します。

python
# Import the necessary libraries
import numpy as np
from scipy import stats

# Create data: Three groups of data with different variances
group1 = np.array([10, 12, 11, 15, 14, 12, 14])
group2 = np.array([20, 22, 21, 23, 25, 22, 23])
group3 = np.array([10, 12, 11, 13, 15, 12, 14])

# Perform one-way ANOVA, which inherently performs an F-test
F, p = stats.f_oneway(group1, group2, group3)

# Print the F-statistic and the p-value
print("F-statistic:", F)
print("p-value:", p)
F-statistic: 76.10270270270301
p-value: 1.654597679052874e-09

このスクリプトでは、stats.f_onewayを使用して1元配置分散分析を実行し、その結果としてF検定が行われます。この関数は2つの値、すなわちF統計量とp値を返します。F統計量はF検定の検定統計量であり、p値は帰無仮説のもとで計算された検定統計量(またはそれ以上)を観測する確率です。

F統計量は約76.1です。この値は、グループ間の変動性とグループ内の変動性の比率を表しています。F統計量が高いほど、グループ間の変動性がグループ内の変動性に比べて高いことを示します。

p値は非常に小さいです。p値は、帰無仮説が真である場合に観測されるデータ(またはそれ以上のデータ)を観測する確率です。F検定の文脈では、帰無仮説は全てのグループの分散が等しいということを述べています。

Ryusei Kakujo

researchgatelinkedingithub

Focusing on data science for mobility

Bench Press 100kg!