2017-09-10 28 views
1

這是我一直困惑的一段時間,我希望得到一些幫助。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之間),或者你談論的第二樣品?真的不清楚你在那裏有什麼 –

回答

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 
當你說
相關問題