def test_callable_cdf(self): x, args = np.arange(5), (1.4, 0.7) r1 = cramervonmises(x, distributions.expon.cdf) r2 = cramervonmises(x, "expon") assert_equal((r1.statistic, r1.pvalue), (r2.statistic, r2.pvalue)) r1 = cramervonmises(x, distributions.beta.cdf, args) r2 = cramervonmises(x, "beta", args) assert_equal((r1.statistic, r1.pvalue), (r2.statistic, r2.pvalue))
def test_low_p(self): # _cdf_cvm can return values larger than 1. In that case, we just # return a p-value of zero. n = 12 res = cramervonmises(np.ones(n) * 0.8, 'norm') assert_(_cdf_cvm(res.statistic, n) > 1.0) assert_equal(res.pvalue, 0)
def test_values_R(self): # compared against R package goftest, version 1.1.1 # goftest::cvm.test(c(-1.7, 2, 0, 1.3, 4, 0.1, 0.6), "pnorm") res = cramervonmises([-1.7, 2, 0, 1.3, 4, 0.1, 0.6], "norm") assert_allclose(res.statistic, 0.288156, atol=1e-6) assert_allclose(res.pvalue, 0.1453465, atol=1e-6) # goftest::cvm.test(c(-1.7, 2, 0, 1.3, 4, 0.1, 0.6), # "pnorm", mean = 3, sd = 1.5) res = cramervonmises([-1.7, 2, 0, 1.3, 4, 0.1, 0.6], "norm", (3, 1.5)) assert_allclose(res.statistic, 0.9426685, atol=1e-6) assert_allclose(res.pvalue, 0.002026417, atol=1e-6) # goftest::cvm.test(c(1, 2, 5, 1.4, 0.14, 11, 13, 0.9, 7.5), "pexp") res = cramervonmises([1, 2, 5, 1.4, 0.14, 11, 13, 0.9, 7.5], "expon") assert_allclose(res.statistic, 0.8421854, atol=1e-6) assert_allclose(res.pvalue, 0.004433406, atol=1e-6)