KS检验
原假设:两份数据源于同一分布
拒绝假设:两份数据源于不同的分布
一般当p值低于0.01或0.05时,拒绝原假设,即认为两份数据源于不同的分布。
双样本KS检验
from scipy.stats import ks_2samp
import numpy as np
norm1 = np.random.normal(0, 5, 1000)
norm2 = np.random.normal(0, 1, 1000)
ks_value = ks_2samp(norm1, norm2)
print(ks_value)
结果为Ks_2sampResult(statistic=0.343, pvalue=1.5193815153747912e-52)
,pvalue
小于0.05,表明源于不同分布。
而对于同一分布的数据:
from scipy.stats import ks_2samp
import numpy as np
norm1 = np.random.normal(0, 5, 1000)
norm2 = np.random.normal(0, 5, 1000)
ks_value = ks_2samp(norm1, norm2)
print(ks_value)
结果:KstestResult(statistic=0.027, pvalue=0.8595454206943325)
,pvalue
大于0.05,接受原假设,两份数据源于同一分布。
参考资料
维基百科KS检验资料:https://en.wikipedia.org/wiki/Kolmogorov%E2%80%93Smirnov_test
scipy.stats.ks_2samp:https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.ks_2samp.html