如何在Python中执行 F 测试
在本文中,我们将研究在Python编程语言中执行 F-Test 的方法。 Python中的 scipy stats.f()函数需要传递某些参数才能对给定数据进行 F 检验。
scipy stats.f():它是一个 F 连续随机变量,用标准格式和一些形状参数定义以完成其规范。
Syntax: scipy stats.f()
Parameters:
- x : quantiles
- q : lower or upper tail probability
- dfn, dfd shape parameters
- loc :location parameter
- scale : scale parameter (default=1)
- size :shape of random variate
- moments : composed of letters [‘mvsk’] specifying which moments to compute
在这个例子中,我们将使用来自归一化分布样本的数据和不同的方差值,我们将进一步使用 scipy.stats.f.cdf() 在Python编程语言中获取数据的 F 检验。
Python
import numpy as np
import scipy.stats
# Create data
group1 = [0.28, 0.2, 0.26, 0.28, 0.5]
group2 = [0.2, 0.23, 0.26, 0.21, 0.23]
# converting the list to array
x = np.array(group1)
y = np.array(group2)
# calculate variance of each group
print(np.var(group1), np.var(group2))
def f_test(group1, group2):
f = np.var(group1, ddof=1)/np.var(group2, ddof=1)
nun = x.size-1
dun = y.size-1
p_value = 1-scipy.stats.f.cdf(f, nun, dun)
return f, p_value
# perform F-test
f_test(x, y)
输出:
0.010464 0.00042400000000000017— Variances
(24.679245283018858, 0.004431318383760985) –F-test values
测试解读:
F 检验统计量为 24.67,p 值为 0.0044,我们将拒绝原假设 asp-value<=0.05,因此我们可以简单地通过查看所用数据的 p 值来判断两个总体方差不相等。