Python中的两个样本z测试

机器算法验证 假设检验 Python z检验
2022-03-02 11:46:42

Scipy 是否有 az 测试来比较两个样本的平均值?我搜索了这个页面,但找不到一个。

2个回答

Statsmodels 具有ztest允许您比较两个均值的功能,假设它们是独立的并且具有相同的标准差。请参阅此处的文档

如果您需要比较具有不同标准差的分布的均值,您应该使用CompareMeans.ztest_ind. 请参阅此处的文档

我可能还缺少其他功能,因此请搜索文档!

不,但是编写一个函数并不难:

def twoSampZ(X1, X2, mudiff, sd1, sd2, n1, n2):
    from numpy import sqrt, abs, round
    from scipy.stats import norm
    pooledSE = sqrt(sd1**2/n1 + sd2**2/n2)
    z = ((X1 - X2) - mudiff)/pooledSE
    pval = 2*(norm.sf(abs(z)))
    return round(z, 3), round(pval, 4)

其中 X1 =X1¯, X2 =X2¯, mudiff = null =μ1μ2, sd1 =σ1, 标准差 =σ2, n1 =n1n2 =n2. 所以,离开这个例子:

z, p = twoSampZ(28, 33, 0, 14.1, 9.5, 75, 50)
print z, p