比较两个样本#

在下文中,我们给定两个样本,它们可以来自相同或不同的分布,我们希望测试这些样本是否具有相同的统计特性。

比较均值#

使用均值相同的样本进行测试

>>> import scipy.stats as stats
>>> rvs1 = stats.norm.rvs(loc=5, scale=10, size=500)
>>> rvs2 = stats.norm.rvs(loc=5, scale=10, size=500)
>>> stats.ttest_ind(rvs1, rvs2)
Ttest_indResult(statistic=-0.5489036175088705, pvalue=0.5831943748663959)  # random

使用均值不同的样本进行测试

>>> rvs3 = stats.norm.rvs(loc=8, scale=10, size=500)
>>> stats.ttest_ind(rvs1, rvs3)
Ttest_indResult(statistic=-4.533414290175026, pvalue=6.507128186389019e-06)  # random

两个样本的 Kolmogorov-Smirnov 检验 ks_2samp#

在两个样本均来自相同分布的示例中,我们无法拒绝原假设,因为 p 值很高

>>> stats.ks_2samp(rvs1, rvs2)
KstestResult(statistic=0.026, pvalue=0.9959527565364388)  # random

在第二个示例中,当位置(即均值)不同时,我们可以拒绝原假设,因为 p 值低于 1%

>>> stats.ks_2samp(rvs1, rvs3)
KstestResult(statistic=0.114, pvalue=0.00299005061044668)  # random