F 분포(F distribution)
카이제곱 분포를 따르는 자유도가 각각 d1, d2 인 두 확률변수 X1, X2의 비에 대한 분포를 F분포라고 합니다. 새로운 확률변수 F는 식 1과 같이 계산됩니다.
(식 1) |
식 1에서 보는 것과 같이 F 분포의 모수는 두 개의 자유도이므로 F 분포는 식 2와 같이 나타냅니다.
F ~ F(d1, d2) | (식 2) |
---|
F분포를 따르는 확률변수 x의 확률밀도함수는 식 3과 같습니다.
(식 3) |
식 3에서 B는 식 4로 정의되는 베타함수를 나타내며 변수 x ≥ 0, 자유도 d1, d2는 양의 정수입니다.
F 분포의 다양한 통계량은 scipy.stats.F 클래스의 다양한 메소드들을 사용하여 계산할 수 있습니다.
그림 1은 분자와 분모의 자유도에 따라 F분포의 변화를 나타낸 것입니다.
import numpy as np import matplotlib.pyplot as plt from scipy import stats
x=np.linspace(0, 4, 1000) n=[2, 4, 8, 12] d=[4, 8, 12, 16] col=['g','b','r', 'k'] fig, ax=plt.subplots(figsize=(4,3)) for i in range(4): ax.plot(x, stats.f.pdf(x, n[i], d[i]), color=col[i], label=f"F{n[i], d[i]}") ax.set_xlabel("x", loc="right") ax.set_ylabel("pdf", loc="top") ax.legend(loc='best', frameon=False) plt.show()
예 1)
P(F6, 14 ≤ 1.5)을 계산합니다.
round(stats.f.cdf(1.5, 6, 14),3)
0.752
댓글
댓글 쓰기