統計学 – F 分布

概要

連続確率分布の1つであるF分布について解説します。

F 分布

確率変数 XX が自由度 mm のカイ二乗分布に従い、環境変数 YY が自由度 nn のカイ二乗分布に従うとし、X,YX, Y は独立であるとする。このとき、

W=X/mY/n W = \frac{X / m}{Y / n}

は自由度 m,nm, n の F 分布 (F distribution) に従うという。 確率変数 WW が自由度 m,nm, n の F 分布に従うとき、WFm,nW \sim F_{m,n} と表す。

確率関数

確率変数 XX が F 分布に従う確率変数のとき、確率密度関数は

fX(w)={Γ(m+n2)mm2nn2Γ(m2)Γ(n2)wm21(mw+n)m+n2w>00その他の場合 f_X(w) = \begin{cases} \displaystyle \frac{\Gamma(\frac{m + n}{2}) m^\frac{m}{2} n^\frac{n}{2}} {\Gamma(\frac{m}{2}) \Gamma(\frac{n}{2})} \frac{w^{\frac{m}{2}} – 1}{(mw + n)^\frac{m + n}{2}} & w > 0 \\ 0 & その他の場合 \end{cases}

ただし、Γ()\Gamma(\cdot) はガンマ関数、m,nNm, n \in \N は正の整数とする。

確率密度関数の導出

x>0,y>0x > 0, y > 0 のとき、カイ二乗分布の結合確率密度関数は

fX,Y(x,y)=xm21ex22m2Γ(m2)yn21ey22n2Γ(n2)X,Yは独立=xm21yn21exp(x+y2)2m+n2Γ(m2)Γ(n2) \begin{aligned} f_{X, Y}(x, y) &= \frac{x^{\frac{m}{2} – 1} e^{- \frac{x}{2}}}{2^\frac{m}{2} \Gamma(\frac{m}{2})} \frac{y^{\frac{n}{2} – 1} e^{- \frac{y}{2}}}{2^\frac{n}{2} \Gamma(\frac{n}{2})} \quad \because X, Y は独立 \\ &= \frac{x^{\frac{m}{2} – 1} y^{\frac{n}{2} – 1} \exp(- \frac{x + y}{2})}{2^\frac{m + n}{2} \Gamma(\frac{m}{2}) \Gamma(\frac{n}{2})} \\ \end{aligned}

ここで、W=X/mY/n,V=YW = \frac{X / m}{Y / n}, V = Y の変数変換をすると、

{w=x/my/nv=y{x=mnwvy=v \begin{cases} w = \frac{x/m}{y/n} \\ v = y \end{cases} \Leftrightarrow \begin{cases} x = \frac{m}{n} wv \\ y = v \end{cases}

また、w>0,v>0w > 0, v > 0

ヤコビアンは

xwxvywyv=mnvmnw01=mnv \begin{vmatrix} \frac{\partial x}{\partial w} & \frac{\partial x}{\partial v} \\ \frac{\partial y}{\partial w} & \frac{\partial y}{\partial v} \\ \end{vmatrix} = \begin{vmatrix} \frac{m}{n}v & \frac{m}{n}w \\ 0 & 1 \\ \end{vmatrix} = \frac{m}{n}v

よって、

fW,V(w,v)=(mnwv)m21vn21exp(mnwv+v2)2m+n2Γ(m2)Γ(n2)mnv=(mn)m2wm21vm+n21exp(12(mnw+1)v)2m+n2Γ(m2)Γ(n2) \begin{aligned} f_{W, V}(w, v) &= \frac{(\frac{m}{n} wv)^{\frac{m}{2} – 1} v^{\frac{n}{2} – 1} \exp(- \frac{\frac{m}{n} wv + v}{2})}{2^\frac{m + n}{2} \Gamma(\frac{m}{2}) \Gamma(\frac{n}{2})} \frac{m}{n}v \\ &= \frac{(\frac{m}{n})^{\frac{m}{2}} w^{\frac{m}{2} – 1} v^{\frac{m + n}{2} – 1} \exp(- \frac{1}{2}(\frac{m}{n}w + 1)v) }{2^\frac{m + n}{2} \Gamma(\frac{m}{2}) \Gamma(\frac{n}{2})} \\ \end{aligned}

ww の周辺確率密度関数は

fW(w)=0fW,V(w,v)dv=0(mn)m2wm21vm+n21exp(12(mnw+1)v)2m+n2Γ(m2)Γ(n2)dv=K0vm+n21exp((mw+n)v2n)dv \begin{aligned} f_W(w) &= \int_0^\infty f_{W, V}(w, v) dv \\ &= \int_0^\infty \frac{ (\frac{m}{n})^{\frac{m}{2}} w^{\frac{m}{2} – 1} v^{\frac{m + n}{2} – 1} \exp(- \frac{1}{2}(\frac{m}{n}w + 1)v) } { 2^\frac{m + n}{2} \Gamma(\frac{m}{2}) \Gamma(\frac{n}{2}) } dv \\ &= K \int_0^\infty v^{\frac{m + n}{2} – 1} \exp \left(- \frac{(mw + n)v}{2n}\right) dv \\ \end{aligned}

ただし、

K=(mn)m2wm212m+n2Γ(m2)Γ(n2) K = \frac{ (\frac{m}{n})^{\frac{m}{2}} w^{\frac{m}{2} – 1} } { 2^\frac{m + n}{2} \Gamma(\frac{m}{2}) \Gamma(\frac{n}{2}) }

とおいた。

ここで、t=(mw+n)v2nt = \frac{(mw + n)v}{2n} とおくと、v=2nmw+ntv = \frac{2n}{mw + n} tdv=2nmw+ndtdv = \frac{2n}{mw + n} dt より、

0(2nmw+nt)m+n21et2nmw+ndt=(2nmw+n)m+n20tm+n21etdt=(2nmw+n)m+n2Γ(m+n2)ガンマ関数の定義 \begin{aligned} & \int_0^\infty \left( \frac{2n}{mw + n} t \right)^{\frac{m + n}{2} – 1} e^{-t} \frac{2n}{mw + n} dt \\ &= \left( \frac{2n}{mw + n} \right)^{\frac{m + n}{2}} \int_0^\infty t^{\frac{m + n}{2} – 1} e^{-t} dt \\ &= \left( \frac{2n}{mw + n} \right)^{\frac{m + n}{2}} \Gamma\left( \frac{m + n}{2} \right) \quad \because ガンマ関数の定義 \end{aligned}

以上より、

fW(w)=(mn)m2wm212m+n2Γ(m2)Γ(n2)(2nmw+n)m+n2Γ(m+n2)=Γ(m+n2)mm2nn2Γ(m2)Γ(n2)wm21(mw+n)m+n2 \begin{aligned} f_W(w) &= \frac{(\frac{m}{n})^{\frac{m}{2}} w^{\frac{m}{2} – 1}} {2^\frac{m + n}{2} \Gamma(\frac{m}{2}) \Gamma(\frac{n}{2})} \left( \frac{2n}{mw + n} \right)^{\frac{m + n}{2}} \Gamma\left( \frac{m + n}{2} \right) \\ &= \frac{\Gamma(\frac{m + n}{2}) m^\frac{m}{2} n^\frac{n}{2}} {\Gamma(\frac{m}{2}) \Gamma(\frac{n}{2})} \frac{w^{\frac{m}{2}} – 1}{(mw + n)^\frac{m + n}{2}} \end{aligned}

期待値

E[W]=E[X/mY/n]=nmE[XY]=nmE[X]E[1Y]X,Yは独立 \begin{aligned} E[W] &= E\left[\frac{X / m}{Y / n} \right] \\ &= \frac{n}{m} E\left[\frac{X}{Y} \right] \\ &= \frac{n}{m} E[X] E\left[\frac{1}{Y} \right] \quad \because X, Y は独立 \\ \end{aligned}

n>2n > 2 において、

E[1Y]=01yfY(y)dy=01y12n2Γ(n2)yn21ey2dy=12n2Γ(n2)0yn22ey2dy=12n2Γ(n2)0(2z)n22ez2dzz=y2と置換積分=12Γ(n2)0zn221ezdz=12Γ(n2)Γ(n22)ガンマ関数の定義=12(n22)Γ(n22)Γ(n22)ガンマ関数の性質Γ(a)=(a1)Γ(a1)=1n2 \begin{aligned} E\left[\frac{1}{Y} \right] &= \int_0^\infty \frac{1}{y} f_Y(y) dy \\ &= \int_0^\infty \frac{1}{y} \frac{1}{2^\frac{n}{2} \Gamma(\frac{n}{2})} y^{\frac{n}{2} – 1} e^{- \frac{y}{2}} dy \\ &= \frac{1}{2^\frac{n}{2} \Gamma(\frac{n}{2})} \int_0^\infty y^{\frac{n}{2} – 2} e^{- \frac{y}{2}} dy \\ &= \frac{1}{2^\frac{n}{2} \Gamma(\frac{n}{2})} \int_0^\infty (2z)^{\frac{n}{2} – 2} e^{-z} 2 dz \quad \because z = \frac{y}{2} と置換積分 \\ &= \frac{1}{2\Gamma(\frac{n}{2})} \int_0^\infty z^{\frac{n – 2}{2} – 1} e^{-z} dz \\ &= \frac{1}{2\Gamma(\frac{n}{2})} \Gamma \left(\frac{n – 2}{2} \right) \quad \because ガンマ関数の定義 \\ &= \frac{1}{2 \left(\frac{n – 2}{2} \right) \Gamma \left(\frac{n – 2}{2} \right)} \Gamma \left(\frac{n – 2}{2} \right) \quad \because ガンマ関数の性質 \Gamma(a) = (a – 1) \Gamma(a – 1) \\ &= \frac{1}{n – 2} \\ \end{aligned}

よって、

E[W]=nmE[X]E[1Y]=nmm1n2E[X]=m=nn2 \begin{aligned} E[W] &= \frac{n}{m} E[X] E\left[\frac{1}{Y} \right] \\ &= \frac{n}{m} m \frac{1}{n – 2} \quad \because E[X] = m \\ &= \frac{n}{n – 2} \\ \end{aligned}

分散

E[W2]=E[(X/m)2(Y/n)2]=n2m2E[X2Y2]=n2m2E[X2]E[1Y2]X,Yは独立 \begin{aligned} E[W^2] &= E\left[\frac{(X / m)^2}{(Y / n)^2} \right] \\ &= \frac{n^2}{m^2} E\left[\frac{X^2}{Y^2} \right] \\ &= \frac{n^2}{m^2} E[X^2] E\left[\frac{1}{Y^2} \right] \quad \because X, Y は独立 \\ \end{aligned}

n>4n > 4 において、

E[1Y2]=01y2fY(y)dy=01y212n2Γ(n2)yn21ey2dy=12n2Γ(n2)0yn23ey2dy=12n2Γ(n2)0(2z)n23ez2dzz=y2と置換積分=14Γ(n2)0zn421ezdz=14Γ(n2)Γ(n42)ガンマ関数の定義=14(n22)(n42)Γ(n42)Γ(n42)ガンマ関数の性質Γ(a)=(a1)Γ(a1)=1(n2)(n4) \begin{aligned} E\left[\frac{1}{Y^2} \right] &= \int_0^\infty \frac{1}{y^2} f_Y(y) dy \\ &= \int_0^\infty \frac{1}{y^2} \frac{1}{2^\frac{n}{2} \Gamma(\frac{n}{2})} y^{\frac{n}{2} – 1} e^{- \frac{y}{2}} dy \\ &= \frac{1}{2^\frac{n}{2} \Gamma(\frac{n}{2})} \int_0^\infty y^{\frac{n}{2} – 3} e^{- \frac{y}{2}} dy \\ &= \frac{1}{2^\frac{n}{2} \Gamma(\frac{n}{2})} \int_0^\infty (2z)^{\frac{n}{2} – 3} e^{-z} 2 dz \quad \because z = \frac{y}{2} と置換積分 \\ &= \frac{1}{4\Gamma(\frac{n}{2})} \int_0^\infty z^{\frac{n – 4}{2} – 1} e^{-z} dz \\ &= \frac{1}{4\Gamma(\frac{n}{2})} \Gamma \left(\frac{n – 4}{2} \right) \quad \because ガンマ関数の定義 \\ &= \frac{1}{4 \left(\frac{n – 2}{2} \right) \left(\frac{n – 4}{2} \right) \Gamma \left(\frac{n – 4}{2} \right)} \Gamma \left(\frac{n – 4}{2} \right) \quad \because ガンマ関数の性質 \Gamma(a) = (a – 1) \Gamma(a – 1) \\ &= \frac{1}{(n – 2)(n – 4)} \\ \end{aligned}

よって、

E[W2]=n2m2E[X2]E[1Y2]=n2m2(m2+2m)1(n2)(n4)E[X2]=m2+2m=n2(m+2)m(n2)(n4) \begin{aligned} E[W^2] &= \frac{n^2}{m^2} E[X^2] E\left[\frac{1}{Y^2} \right] \\ &= \frac{n^2}{m^2} (m^2 + 2m) \frac{1}{(n – 2)(n – 4)} \quad \because E[X^2] = m^2 + 2m \\ &= \frac{n^2(m + 2)}{m(n – 2)(n – 4)} \\ \end{aligned}

したがって、分散は

Var[W]=E[W2](E[W])2=n2(m+2)m(n2)(n4)(nn2)2=n2((m+2)(n2)m(n4))m(n2)2(n4)=2n2(m+n2)m(n2)2(n4) \begin{aligned} Var[W] &= E[W^2] – (E[W])^2 \\ &= \frac{n^2(m + 2)}{m(n – 2)(n – 4)} – \left( \frac{n}{n – 2}\right)^2 \\ &= \frac{n^2((m + 2)(n – 2) – m (n – 4))}{m(n – 2)^2(n – 4)} \\ &= \frac{2 n^2(m + n – 2)}{m(n – 2)^2(n – 4)} \\ \end{aligned}

標準偏差

Std[X]=Var[X]=2n2(m+n2)m(n2)2(n4)=nn22(m+n2)m(n4)n>4 \begin{aligned} Std[X] &= \sqrt{Var[X]} \\ &= \sqrt{\frac{2 n^2(m + n – 2)}{m(n – 2)^2(n – 4)}} \\ &= \frac{n}{n – 2} \sqrt{\frac{2 (m + n – 2)}{m(n – 4)}} \quad \because n > 4 \end{aligned}

scipy.stats のカイ二乗分布

scipy.stats.chi2 でカイ二乗分布に従う確率変数を作成できます。

In [1]:
import numpy as np
import seaborn as sns
from matplotlib import pyplot as plt
from scipy.stats import f

sns.set(style="white")

dfn, dfd = 29, 18
X = f(dfn, dfd)

サンプリング

In [2]:
x = X.rvs(size=5)
print(x)
[1.00355515 1.05834412 0.38951327 0.43128241 0.92304201]

確率密度関数

In [3]:
x = np.linspace(0, 5, 100)
y = X.pdf(x)

fig, ax = plt.subplots()
ax.plot(x, y)
ax.grid()

plt.show()

累積分布関数

In [4]:
x = np.linspace(0, 5, 100)
y = X.cdf(x)

fig, ax = plt.subplots()
ax.plot(x, y)
ax.grid()

plt.show()

統計量

In [5]:
print("mean", X.mean())
print("var", X.var())
print("std", X.std())
mean 1.125
var 0.2805572660098522
std 0.5296765673596031

コメント

コメントする