我如何在python中进行F测试

如何进行F检验以检查Python中两个向量的方差是否相等?

例如,如果我有

a = [1,2,1,2,1,2,1,2,1,2]

b = [1,3,-1,2,1,5,-1,6,-1,2]

是否有类似的东西

scipy.stats.ttest_ind(a, b)

我发现

sp.stats.f(a, b)

但这似乎与F检验有所不同

回答:

方差相等的检验统计量F检验很简单:

F = Var(X) / Var(Y)

哪里F分布为df1 = len(X) - 1, df2 = len(Y) - 1

scipy.stats.f您在问题中提到的方法具有CDF方法。这意味着您可以为给定的统计信息生成一个p值,并测试该p值是否大于您选择的alpha级别。

从而:

alpha = 0.05 #Or whatever you want your alpha to be.

p_value = scipy.stats.f.cdf(F, df1, df2)

if p_value > alpha:

# Reject the null hypothesis that Var(X) == Var(Y)

请注意,F检验对X和Y的非正态性极为敏感,因此,除非您有理由确定X和Y呈正态分布,否则最好进行更强大的检验,例如Levene检验或Bartlett检验。。这些测试可以在scipyapi中找到:

  • 巴特利特的测试
  • 莱文测试

以上是 我如何在python中进行F测试 的全部内容, 来源链接: utcz.com/qa/428128.html

回到顶部