【統計学基礎】F分布とは|Pythonでの描画方法も解説

こんにちは、DXCEL WAVEの運営者(@dxcelwave)です!

こんな方におすすめ
  • F分布について詳しく理解したい
  • PythonでF分布を描画する方法を知りたい
目次

F分布とは

母集団が正規分布に従っているとき、母分散が等しい2つの標本の分散比が従う確率分布をF分布(F-distribition)と呼びます。

F分布の公式

独立な確率変数Y, Zがあり、Yが自由度mのカイ二乗分布に従い、Zが自由度nのカイ二乗分布に従うとします。

この時、確率変数Xを次のように表せます。

Xが従う確率分布を自由度(m, n)のF分布と呼び、F(m, n)として表します。

カイ二乗分布の公式は平方和であるため、分散を想像させます。一方で、上記に示したF分布の公式は、分子分母の両方にカイ二乗分布があるため、分散の比を取った値と判断できます。そのため、F分布は分散の差の検定や、分散分析などに応用されています。

ここでカイ二乗分布について詳しく知りたい方はこちらの記事をご覧下さい。

【参考】Python×統計学の学習におすすめな教材

「データ分析する上で統計学の基礎を学びたい」「Pythonで動かしながら統計解析を学びたい」方向けに以下の教材をおすすめします。

データ分析で必須の統計学基礎を学びたい方向け

Pythonと併用して統計解析を学びたい方向け

Pythonで実際に動かしながら学習することで、プログラミングに加え、統計学の応用も合わせた深い知識習得が期待できます。

F分布の特徴

F分布の性質について以下言及します。

F分布の確率密度関数

F(m, n)に従う確率変数Xの確率密度関数f(x)とした場合、上記の式で表せます。

F分布の期待値

F(m, n)に従う確率変数Xの期待値E(X)は上記のように示されます。

F分布の分散

F(m, n)に従う確率変数Xの分散V(X)は上記のように示されます。

【Python】F分布のグラフ描画方法

上図に示すような自由度の異なるF分布をPythonで描画する方法について解説します。以下のコードを実行してみましょう!

# F分布算出
from scipy import stats
import numpy as np

# グラフ可視化
import matplotlib.pyplot as plt
from matplotlib import rcParams
rcParams["font.family"]     = "sans-serif"
rcParams["font.sans-serif"] = "Hiragino Maru Gothic Pro"
plt.style.use("ggplot")

# グラフの軸設定
fig,ax = plt.subplots(1,1, figsize=(10,8))     # グラフ
x      = np.linspace(0.000001, 10, 1000)       # X軸間隔
f_dis  = [(3,5), (5,5), (7,5), (9,5)]          # F(m,n)の自由度設定       


# グラフ描画
for i in range(len(f_dis)):
    y = stats.f.pdf(x, f_dis[i][0], f_dis[i][1]) 
    ax.plot(x, y, linestyle='-', label=f'F({f_dis[i][0]}, {f_dis[i][1]})')

# グラフ書式設定
plt.title('F分布')          # グラフタイトル
plt.xlim(0, 10)            # X軸範囲
plt.ylim(0, 1.0)           # Y軸範囲
plt.xticks(fontsize= 12)   # X軸フォントサイズ
plt.yticks(fontsize= 12)   # Y軸フォントサイズ
plt.legend()               # 凡例
plt.show()                 # グラフ表示

F(m,n)に従う確率変数Xの確率密度関数はstats.f.pdf()メソッドを用いて導出できます。

統計学基礎参考情報

当サイトでは統計学の学習に役立つ情報を多数配信しております。是非以下のページをご覧ください。

最後に

この記事が気に入ったら
フォローしてね!

本記事をシェア!
目次