比較兩個樣本#
在以下內容中,我們給定兩個樣本,它們可能來自相同或不同的分佈,我們想要測試這些樣本是否具有相同的統計特性。
比較平均值#
測試具有相同平均值的樣本
>>> 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