def test_lmparams_wakeby(self): "Test parameter estimation from L_moments for the Wakeby distribution" (e, a, b, c, d) = (0.0, 1.0, 1.0, 1.0, 0.99) lmoms = wakeby(b, c, d, e, a,).lstats(5) assert_almost_equal(wakeby.lmparams(lmoms), np.array((e, a, b, c, d)), 6) (e, a, b, c, d) = (0.0, 0.5, -0.5, 1.0, 0.99) lmoms = wakeby(b, c, d, e, a).lstats(5) assert_almost_equal(wakeby.lmparams(lmoms), np.array((e, a, b, c, d)), 6) (e, a, b, c, d) = (0.5, 2.0, 0.5, 1.0, 0.5) lmoms = wakeby(b, c, d, e, a).lstats(5) assert_almost_equal(wakeby.lmparams(lmoms), np.array((e, a, b, c, d)), 6) (e, a, b, c, d) = (0.0, 2.0, 0.5, 0.5, 0.99) lmoms = wakeby(b, c, d, e, a).lstats(5) assert_almost_equal(wakeby.lmparams(lmoms), np.array((e, a, b, c, d)), 6) # lmoms = (-1., 1., 3., 1., 1.) #self.failUnlessRaises(ValueError, pel_wakeby, lmoms) lmoms = (-1., 1., 1./3, 0.999, 0.999) assert_almost_equal(wakeby.lmparams(lmoms), np.array([-3., 2., 0., 0., 0.])) lmoms = (-1., 1., 0., 0., 0.) assert_almost_equal(wakeby.lmparams(lmoms), np.array([-4., 6., 1., 0., 0.]))
def test_lmparams_wakeby(self): "Test parameter estimation from L_moments for the Wakeby distribution" (e, a, b, c, d) = (0.0, 1.0, 1.0, 1.0, 0.99) lmoms = wakeby( b, c, d, e, a, ).lstats(5) assert_almost_equal(wakeby.lmparams(lmoms), np.array((e, a, b, c, d)), 6) (e, a, b, c, d) = (0.0, 0.5, -0.5, 1.0, 0.99) lmoms = wakeby(b, c, d, e, a).lstats(5) assert_almost_equal(wakeby.lmparams(lmoms), np.array((e, a, b, c, d)), 6) (e, a, b, c, d) = (0.5, 2.0, 0.5, 1.0, 0.5) lmoms = wakeby(b, c, d, e, a).lstats(5) assert_almost_equal(wakeby.lmparams(lmoms), np.array((e, a, b, c, d)), 6) (e, a, b, c, d) = (0.0, 2.0, 0.5, 0.5, 0.99) lmoms = wakeby(b, c, d, e, a).lstats(5) assert_almost_equal(wakeby.lmparams(lmoms), np.array((e, a, b, c, d)), 6) # lmoms = (-1., 1., 3., 1., 1.) #self.failUnlessRaises(ValueError, pel_wakeby, lmoms) lmoms = (-1., 1., 1. / 3, 0.999, 0.999) assert_almost_equal(wakeby.lmparams(lmoms), np.array([-3., 2., 0., 0., 0.])) lmoms = (-1., 1., 0., 0., 0.) assert_almost_equal(wakeby.lmparams(lmoms), np.array([-4., 6., 1., 0., 0.]))
def test_ppf(self): "Test the PPF of the Wakeby distribution" quantiles = [0.01, 0.25, 0.5, 0.99] (b, g, d) = (1, 1, 1) _wak = [0.02010101, 0.58333333, 1.5, 99.98999999999] assert_almost_equal(wakeby(b, g, d).ppf(quantiles), _wak) (b, g, d) = (.1, .1, .1) _wak = [0.011050826, 0.312769430, 0.741443547, 4.275319748] assert_almost_equal(wakeby(b, g, d).ppf(quantiles), _wak) (b, g, d) = (0, 0, 0) _wak = [0.010050336, 0.28768207, 0.693147181, 4.605170186] assert_almost_equal(wakeby(b, g, d).ppf(quantiles), _wak) (b, g, d) = (1., 0, 1.) assert_almost_equal(np.isnan(wakeby(b, g, d).ppf(quantiles)), (True, True, True, True)) (b, g, d) = (1., 0, 0.) assert_almost_equal(wakeby(b, g, d).ppf(quantiles), quantiles) (b, g, d) = (-1., 1., 2.) _wak = [0.0202530354, 0.72222222, 2.5, 5098.5]
def test_cdf(self): "Test the CDF of the Wakeby distribution" x = [-1., 0, 0.25, .5, 1.] (b, g, d) = (1., 1, 1.) _wak = [0.0, 0.0, 0.117217781, 0.219223594, 0.38196601] assert_almost_equal(wakeby(b, g, d).cdf(x), _wak) (b, g, d) = (0.1, 0.1, 0.1) _wak = [0.0, 0.0, 0.204994002, 0.3707061778, 0.61100326] assert_almost_equal(wakeby(b, g, d).cdf(x), _wak) (b, g, d) = (0., 0., 0.) _wak = [0.0, 0.0, 0.221199217, 0.3934693403, 0.632120559] assert_almost_equal(wakeby(b, g, d).cdf(x), _wak) (b, g, d) = (1., 0, 0.) _wak = [0.0, 0.0, 0.25, 0.50, 1.0] assert_almost_equal(wakeby(b, g, d).cdf(x), _wak) (b, g, d) = (-1., 1., 2.) _wak = [0.0, 0.0, 0.108194188, 0.1909830056, 0.310102051] assert_almost_equal(wakeby(b, g, d).cdf(x), _wak) (b, g, d) = (1., 0, 1.) assert_almost_equal(np.isnan(wakeby(b, g, d).cdf(x)), (True, True, True, True, True))