【问题标题】:scipy stats kstest against x=y?scipy stats kstest 针对 x=y?
【发布时间】:2017-09-10 20:51:36
【问题描述】:

这是我一段时间以来一直感到困惑的事情,我希望得到一些帮助。

我正在尝试使用 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)。我将如何将其插入其中?

【问题讨论】:

  • 当您说“x=y”时,您是在谈论标准的统一 cdf(其方程确实是 0 到 1 之间的 y=x)还是您在谈论第二个样本?目前还不清楚你有什么

标签: python numpy scipy statistics


【解决方案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

【讨论】:

    猜你喜欢
    • 2020-05-10
    • 1970-01-01
    • 2011-12-29
    • 2021-09-12
    • 1970-01-01
    • 1970-01-01
    • 2014-11-21
    • 1970-01-01
    • 2019-11-17
    相关资源
    最近更新 更多