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_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))
 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))