簡體   English   中英

scipy.stats kstest 用於泊松分布/與 (x2) 邊一起工作但不與 (x1) 邊一起工作?

[英]scipy.stats kstest for Poisson distribution / works with (x2) sided but not with (x1) sided?

非常簡單的測試:

  1. 使用泊松分布生成數字的隨機分布。 使用 KS 檢驗確定它是否與泊松分布匹配。
  2. 使用泊松分布生成 (x2) 個隨機數字分布。 使用 (x2) 面 KS 檢驗來確定它們是否相同。

從上面可以看出,(1) 給出了p 值,而 (2) 給出了p 值。 為什么?

代碼 1

from scipy.stats import kstest, poisson

noPts = 1000
lambdaPoisson = 10

my_data = poisson.rvs(size = noPts, mu = lambdaPoisson)

ks_statistic, p_value = kstest(my_data, 'poisson', args=(lambdaPoisson,0))
print(ks_statistic, p_value)

結果: 0.1239297144718523 7.61680985798287e-14

代碼 2

from scipy.stats import ks_2samp, poisson

noPts = 1000
lambdaPoisson = 10

my_data1 = poisson.rvs(size = noPts, mu = lambdaPoisson)
my_data2 = poisson.rvs(size = noPts*1000, mu = lambdaPoisson)

ks_statistic, p_value = ks_2samp(my_data1, my_data2)
print(ks_statistic, p_value)

結果: 0.023672000000000026 0.6301973762116004

ks_statistic 測試兩個分布是否相同。 但是,使用相同的 lambda (10) 生成不同大小的分布會生成不同的分布,因此檢驗不顯着。

圖。1

如果您希望兩個分布相同,則需要將 mydata2 的 lambda 乘以與大小相同的因子(在您的情況下乘以 1000)。 我不是統計學家,所以我不完全明白為什么。 但接下來的測試很重要。 如果您希望兩個分布都以相同的值為中心,則必須使用函數的 loc 參數。

圖2

盡管存在差異,但所有這些分布都是泊松分布,如果單獨對它們進行測試,所有分布都將具有 p-val=0.0。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM