scipy stats kstest against x = y?

问题描述:

这是我一直困惑的一段时间,我希望得到一些帮助。scipy stats kstest against x = y?

我试图使用scipy.stats.kstest来测试我的分布与另一个分布,这只是x=y,以便我可以得到一个p值。在在线的例子它给像:

>>> x = np.linspace(-15, 15, 9) 
>>> scipy.stats.kstest(x, 'norm') 
(0.44435602715924361, 0.038850142705171065) 

,但我不知道我怎么能修改从norm预期分布x=y?另外,我的'真实'分布同时具有x和y值(它是均匀分布的cdf)。我将如何将其插入此?

+0

“X = Y”你谈论一个标准的统一CDF(其方程确实是Y = X 0和1之间),或者你谈论的第二样品?真的不清楚你在那里有什么 –

好像你正在寻找scipy.stats.ks_2samp

这是零假设双面测试2个独立 样品是从同一个连续分布绘制。

import numpy as np 
from scipy import stats 
np.random.seed(123) 

# Draw random samples from two normal distributions 
#  with different means/stdevs. The resulting pvalue 
#  be low (high significance/reject the null). 
rvs1 = stats.norm.rvs(size=400, loc=0., scale=1) 
rvs2 = stats.norm.rvs(size=400, loc=0.5, scale=1.5) 
p_lo = stats.ks_2samp(rvs1, rvs2)[1] 
print(p_lo) 
# 1.29793098188e-10 

# Same test for two random samples drawn from same distribution 
#  should yield high p value. 
rvs3 = stats.norm.rvs(size=400, loc=0.01, scale=1) 
p_hi = stats.ks_2samp(rvs1, rvs3)[1] 
print(p_hi) 
# 0.855599637503 
当你说