我用什么scipy统计测试来比较样本均值?

时间:2014-07-31 16:40:49

标签: python numpy statistics scipy

假设样本量不相等,在下列情况下我会用什么样的测试来比较样本均值(如果以下任何一种情况不正确,请更正):

正态分布=真方差均匀性=真

scipy.stats.ttest_ind(sample_1, sample_2)

正态分布=真方差均匀性=假

scipy.stats.ttest_ind(sample_1, sample_2, equal_var = False)

正态分布=假方差均匀性=真

scipy.stats.mannwhitneyu(sample_1, sample_2)

正态分布=假方差均匀性=假

???

1 个答案:

答案 0 :(得分:6)

快速回答:

正态分布=真方差的同质性=假样本量> 30-50

scipy.stats.ttest_ind(sample1, sample2, equal_var=False)

答案很好:

如果你检查中心极限定理,它说(来自维基百科):"在概率论中,中心极限定理(CLT)表明,在给定某些条件的情况下,足够大量迭代的算术平均值每个具有明确定义的(有限的)期望值和有限方差的独立随机变量将近似正态分布,无论基础分布如何"

因此,虽然您没有正常的分布式群体,但如果您的样本足够大(大于30或50个样本),那么样本的平均值将是正态分布的。所以,你可以使用:

scipy.stats.ttest_ind(sample1, sample2, equal_var=False)

这是零假设的双侧检验,即2个独立样本具有相同的平均(预期)值。使用选项equal_var = False,它执行Welch的t检验,该检验不假设人口方差相等。