# F検定についてPythonを使いながら解説！

> 当サイト【スタビジ】の本記事では、F検定について解説してきます。まず検定とはある仮説が正しいか確認するために用いる手法です。その中でもF検定は「複数の変数のばらつきが同じである」という仮説が正しいか確認します。今回は2変数のばらつきを確認するF検定について解説を行いつつ、Pythonで実装していきます！

- URL: https://toukei-lab.com/f_test
- 公開: 2023.05.06 / 更新: 2025.02.25
- サイト: スタビジ（https://toukei-lab.com）

:::talk{who="umatan"}
当サイト【スタビジ】の本記事では、F検定について解説してきます。まず検定とはある仮説が正しいか確認するために用いる手法です。その中でもF検定は2種類あります。ひとつは「2変数のばらつきが同じである」という仮説が正しいか確認する、もうひとつは「複数の群の平均が同じである」という仮説が正しいか確認します。今回は2変数のばらつきを確認するF検定について解説を行いつつ、Pythonで実装していきます！
:::

こんにちは！

データサイエンティストのウマたん([@statistics1012](https://twitter.com/statistics1012?lang=ja))です！

今回はF検定について解説していきます。F検定は主に2つの目的で用いられることが多いです。初めに<mark>「2変数のばらつきが同じである」という帰無仮説の検定</mark>、次に<mark>「複数の群の平均が同じである」という帰無仮説の検定</mark>が挙げられます！今回は前者の方を解説していきます！

この記事では、そんなF検定の定義と評価指標について解説していきながらPythonで実装していきます！

:::point
**・F検定の定義について解説！**\
**・PythonでF検定を見てみよう！**
:::

以下のYoutube動画でも解説していますのであわせてチェックしてみてください！

::youtube{#zpFCvF_mXso}

<https://toukei-lab.com/%E6%A4%9C%E5%AE%9A>

## F検定について解説！

![stories Data-pana](/wp-content/uploads/2021/01/Data-pana-e1615808087658-1024x875.png)

まずはF検定でも、<mark>「2変数のばらつきが同じである」という帰無仮説の検定を</mark>見ていきましょう！

例で考えていきましょう！ある学校の2つのクラスで数学のテストを行ったと考えます。

クラスの点数はそれぞれ以下のようになったとしましょう！

:::box
**Class_A = \[90,88,85,84,80,79,78,74,71,69,60]**\
**Class_B = \[99,97,89,75,73,68,65,64,61,59,40]**
:::

それぞれのクラスから抽出したテスト結果はそれぞれ11人分です。

この時、2つのクラスは同じくらいの成績を持つ生徒で構成されていると考え、<mark>テストの点数のばらつきは大体同じである</mark>といった仮説が考えられます。

![F検定　問題設定](/wp-content/uploads/2023/05/133-1024x576.jpg)

このような問題設定が出た場合、「等分散性の検定」と呼ばれるF検定の出番となります！

ここからはF検定の手順を解説していきます！

### 手順その1：仮説設定

検定には必ず**帰無仮説**と**対立仮説**があります。

帰無仮説とは「<mark>ある仮説が正しいのか検証するための仮説</mark>」です。大抵は「差がない」ことを示していることが多いです。

一方、対立仮説とは「帰無仮説とは反対の意を持つ仮説」です。大抵は「差がある」ことを示していることが多いです。

今回において、<mark>帰無仮説は「2つのクラスの点数のばらつきには差がない」、対立仮説は「2つのクラスの点数のばらつきには差がある」</mark>と設定できますね！

帰無仮説：$(σ_{1})^{2} = (σ_{2})^{2}$

対立仮説：$(σ_{1})^{2} ≠ (σ_{2})^{2}$

### 手順その2：有意水準の設定

次に有意水準を設定します。有意水準を設定することで、帰無仮説を棄却できるか決まってきます。一般的には0.05 or 0.01ですが、今回は<mark>有意水準を0.05</mark>で設定します！

### 手順その3：F分布を用いた計算

次はF検定の肝となるF分布を用いた計算を解説していきます。

<mark>ある変数が正規分布$N(μ_{1},(σ_{1})^{2})$に従い、別の変数が正規分布正規分布$N(μ_{2},(σ_{2})^{2})$が従っているとき、Fは自由度$(n_{1}-1,n_{2}-1)$のF分布に従います。</mark>

この時、それぞれの母集団から抽出した不偏分散を$V_{1}$、$V_{2}$と表す時、

$F = \frac{V_{1}/(σ_{1})^{2}}{V_{2}/(σ_{2})^{2}}  or  \frac{V_{2}/(σ_{2})^{2}}{V_{1}/(σ_{1})^{2}}$

となります。

今回の帰無仮説は$(σ_{1})^{2} = (σ_{2})^{2}$なので、帰無仮説下のFは以下の通りになりますね！この式から不偏分散の比を表していることが分かります！

$F = \frac{V_{1}}{V_{2}}  or  \frac{V_{2}}{V_{1}}$

今回の例では、$V_{1}=80.4, V_{2}=309.56$となりました。

すると、$F= \frac{V_{2}}{V_{1}}=3.85$となりますね。

### 棄却域・p値の算出

Fを求めることができたので、F分布表を見ながら有意かどうか見ていきます。

F検定における棄却域は以下の通りです。不偏分散の大きさによって式が変化していることに注意してください！

$V_{1} \geq V_{2} : V_{1}/V_{2} \geq F(n_{1}-1,n_{2}-1; α)$

$V_{2} \geq V_{1} : V_{2}/V_{1} \geq F(n_{2}-1,n_{1}-1; α)$

今回の例題では$V_{2}\geq V_{1}$です。

サンプルサイズはそれぞれ11。

そしてネットや参考書などに記載されているF分布表を見てみると、$F(10,10; 0.05)=2.98$となるので、先ほど算出したF値3.85の方が大きくなります。

<mark>したがって有意となるため、帰無仮説は棄却されるので、$(σ_{1})^{2}$は$(σ_{2})^{2}$と異なると考えられます！</mark>

:::talk{who="robotan" side="left"}
今回の結果は各クラスの点数のばらつきは異なると分かったね！
:::

:::talk{who="umatan" side="right"}
その通り！このように等分散であるか確認したいときにF検定は使えるんだ！
:::

## F検定をPythonで実装！

![stories pc](/wp-content/uploads/2021/01/All-the-data-bro-e1613475965440-1024x789.png)

実際にF検定をPythonで実装してみましょう！

```python
import statistics as stat
from scipy.stats import f

Class_A = [90,88,85,84,80,79,78,74,71,69,60]
Class_B = [99,97,89,75,73,68,65,64,61,59,40]

print("グループAの不偏分散:", stat.variance(Class_A))
print("グループBの不偏分散:", stat.variance(Class_B))
F = stat.variance(Class_B)/stat.variance(Class_A)

p_value = 1 - f.cdf(F, len(Class_A)-1, len(Class_B)-1)
print("P値:", p_value)
```

:::box
グループAの不偏分散: 80.4\
グループBの不偏分散: 309.56363636363636\
P値: 0.022250069092957125
:::

ここではp値が算出されました。

p値とは<mark>「今回の事象が帰無仮説において、実際の結果と同程度の結果が起きる確率」</mark>とされています。もしp値が低ければ、実際の結果が帰無仮説において起きる可能性は非常に低いことを示すところがポイントです！

つまり帰無仮説が棄却されることにつながります！

:::talk{who="umatan" side="right"}
p値が0.02225…なので、帰無仮説下において今回の標本分布が得られる確率は2%程度でしか起こらないことが分かるので有意と分かるね！つまりクラスのテストのばらつきは等しくないと分かった！
:::

## F検定　まとめ

![Happy](/wp-content/uploads/2020/08/Celebration-amico-min-e1618926172675-1024x932.png)

ここまでご覧いただきありがとうございました！

本記事では**F検定**についてまとめました！

検定には[t検定](/t-test)、[カイ二乗検定](/chisq-test)もあるので、ぜひ勉強してみましょう！また[統計的検定](/%e6%a4%9c%e5%ae%9a)を基礎から学びたい方にはこちらの記事も参照してみて下さい！

<https://toukei-lab.com/%e6%a4%9c%e5%ae%9a>

このようなデータサイエンスの力を身に付けるためにはスタビジの記事やスクールを活用すると良いでしょう。

そして僕の経験を詰め込んだデータサイエンス特化のスクール[「スタアカ（スタビジアカデミー）」](https://toukei-lab.com/achademy/)を運営していますので，興味のある方はぜひチェックしてみてください！

### AIデータサイエンス特化スクール「スタアカ」

![スタアカ（スタビジアカデミー）のトップページ](/wp-content/uploads/2026/10/achademy-top.jpg)

<table class="table">
<tbody>
<tr>
<th>【価格】</th>
<td>ライトプラン：1,280円/月（全コースが受講し放題）<br>
プレミアムプラン：129,800円（通常149,800円・買い切り）</td>
</tr>
<tr>
<th>【オススメ度】</th>
<td><span class="stars" role="img" aria-label="5点中5点" data-value="5"></span></td>
</tr>
<tr>
<th>【サポート体制】</th>
<td><span class="stars" role="img" aria-label="5点中4点" data-value="4"></span></td>
</tr>
<tr>
<th>【受講形式】</th>
<td>オンライン形式</td>
</tr>
<tr>
<th>【学習範囲】</th>
<td>統計学・機械学習・ディープラーニングを網羅的に学ぶ<br>
生成AI（LLM・RAG・プロンプトエンジニアリング）を学ぶ<br>
SQLとPythonを組み合わせて実データを使った様々なワークを行う<br>
実践的なビジネスフレームワークを学ぶ<br>
マーケティングの実行プラン策定</td>
</tr>
</tbody>
</table>

データサイエンティストとしての自分の経験をふまえてエッセンスを詰め込んだのがこちらのスタビジアカデミー、略して「[スタアカ](https://toukei-lab.com/achademy/)」！！

当メディアが運営するスクールです。

月額1,280円のライトプランで、統計学から機械学習・生成AIまで全コースが受講し放題です！

<mark>プレミアムプランでは、24時間以内の質問対応と現役データサイエンティストとの1on1（30分×4回）を実施します！</mark>

カリキュラム自体は、他のスクールと比較して圧倒的に良い自信があるのでぜひ受講してみてください！

他のスクールのカリキュラムはPythonでの機械学習実装だけに焦点が当たっているものが多く、実務に即した内容になっていないものが多いです。

<mark>そんな課題感に対して、実務で使うことの多いSQLや機械学習のビジネス導入プロセスの理解などもあわせて学べるボリューム満点のコース</mark>になっています！

Pythonが初めての人でも学べるようなカリキュラムにしておりますので是非チェックしてみてください！

ウォルマートのデータを使って商品の予測分析をしたり、実務で使うことの多いGoogleプロダクトのBigQueryを使って投球分析をしたり、データサイエンティストに必要なビジネス・マーケティングの基礎を学んでマーケティングプランを作ってもらったりする盛りだくさんの内容になってます！

:::box
**・BigQuery上でSQL、Google Colab上でPythonを使い野球の投球分析**\
**・世界最大手小売企業のウォルマートの実データを用いた需要予測**\
**・ビジネス・マーケティングの基礎を学んで実際の企業を題材にしたマーケティングプランの策定**\
**・生成AIのAPIを使ってチャットボットやAIエージェントを作る**
:::

::button[スタアカの受講はこちら]{href="https://toukei-lab.com/achademy/" note="＼今すぐ試す／"}

データサイエンスに関する記事はこちら！

<https://toukei-lab.com/statistics-freshman>

<https://toukei-lab.com/datascience-book>

データサイエンスを勉強できるスクールやサイトは、ぜひこちらを参考にしてみてください！

<https://toukei-lab.com/datascientist-school>