0

我正在尝试比较两个分布,看看它们是相似还是不同。我尝试使用 python scipy 包中的 ks_2samp。这是我的代码,

from scipy.stats import truncnorm
import matplotlib.pyplot as plt
from scipy import stats

def get_truncated_normal(mean=0, sd=1, low=0, upp=10):
    return truncnorm(low - mean) / sd, (upp - mean) / sd, loc=mean, scale=sd)

x1 = get_truncated_normal(mean=183, sd=50, low=1, upp=365).rvs(5722176)
x2 = get_truncated_normal(mean=175, sd=50, low=1, upp=365).rvs(5722176)
plt.hist(x1)
plt.hist(x2)
plt.show()
print(stats.ks_2samp(x1, x2))

Output:
Ks_2sampResult(statistic=0.06409554686888352, pvalue=0.0)

为什么我的输出p-value总是0.0?任何帮助都非常感谢。谢谢!

4

1 回答 1

2

检查此统计信息 stackoverflow 帖子。 https://stats.stackexchange.com/questions/18408/two-samples-of-the-same-distribution

这表明 Kolmogorov-Smirnov 检验。

您可以使用 scipy 执行 KS 测试。

https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.stats.kstest.html

于 2019-11-01T20:18:11.550 回答