import numpy as np
from scipy.stats import f
# F分布
# 分析两个正态分布方差比值的分布情况,F分布是由两个独立的卡方分布的比值所得到的分布
# 检验两个样本方差是否相等。常被用于统计分析、财务分析、市场分析、医学研究等领域
# /* 案例
# 假设有两个班级,每个班级各有30名学生,两个班级的数学成绩分别为:
# 班级1:{70, 71, 68, 75, 72, 69, 74, 73, 71, 70, 75, 72, 69, 68, 72, 70, 71, 73, 72, 74, 73, 72, 70, 69, 71, 73, 75, 74, 73, 72, 75}
# 班级2:{71, 72, 69, 73, 74, 70, 68, 72, 75, 76, 74, 73, 72, 75, 73, 70, 69, 71, 70, 72, 73, 74, 73, 75, 72, 71, 70, 74, 73, 75, 73}
# 现在需要检验这两个班级的数学成绩方差是否相等。
class1 = [70, 71, 68, 75, 72, 69, 74, 73, 71, 70, 75, 72, 69, 68, 72, 70, 71, 73, 72, 74, 73, 72, 70, 69, 71, 73, 75, 74, 73, 72, 75]
class2 = [71, 72, 69, 73, 74, 70, 68, 72, 75, 76, 74, 73, 72, 75, 73, 70, 69, 71, 70, 72, 73, 74, 73, 75, 72, 71, 70, 74, 73, 75, 73]
s1 = np.var(class1, ddof=1)
s2 = np.var(class2, ddof=1)
print("s1: ", s1)
print("s2: ", s2)
F = s1/s2
print("F值: ", F)
df1 = len(class1) - 1
df2 = len(class2) - 1
p_value = f.sf(F, df1, df2)
print("P值: ", p_value)
# s1: 4.361290322580645
# s2: 4.159139784946236
# F值: 1.0486039296794212
# P值: 0.44872262220538617
# 依据P值0.32 > 0.05 , 我们无法拒绝原假设,即我们无法拒绝两组数据方差相等的假设积,所以两组数据方差没有显著差异。
F分布是由两个独立的卡方分布的比值所得到的分布
于 2023-05-17 23:15:57 首次发布