Сравнение двух выборок#

В следующем примере даны две выборки, которые могут происходить либо из одного и того же, либо из разных распределений, и мы хотим проверить, имеют ли эти выборки одинаковые статистические свойства.

Сравнение средних#

Тест с выборкой с одинаковыми средними:

>>> 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

Критерий Колмогорова-Смирнова для двух выборок 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