def test_lmparams_gennorm(self): "Test parameter estimation from L_moments for the generalized normal distribution" (loc, scl, shp) = (0.0, 1., 0.999) lmoms = gennorm(shp, loc, scl,).lstats(4) assert_almost_equal(gennorm.lmparams(lmoms), np.array((loc, scl, shp)), 6) (loc, scl, shp) = (0.0, 0.5, -0.999) lmoms = gennorm(shp, loc, scl).lstats(4) assert_almost_equal(gennorm.lmparams(lmoms), np.array((loc, scl, shp)), 6) (loc, scl, shp) = (0.5, 2.0, 0.5) lmoms = gennorm(shp, loc, scl).lstats(4) assert_almost_equal(gennorm.lmparams(lmoms), np.array((loc, scl, shp)), 6) (loc, scl, shp) = (0, 2, 0) lmoms = gennorm(shp, loc, scl).lstats(4) assert_almost_equal(gennorm.lmparams(lmoms), np.array((loc, scl, shp)), 6) # lmoms = (-1., 1., 3.) #self.failUnlessRaises(ValueError, pel_gennorm, lmoms) lmoms = (-1., 1., 1./3) assert_almost_equal(gennorm.lmparams(lmoms), np.array([-1.57345421, 1.44332159, -0.7010033])) lmoms = (-1., 1., -0.9) assert_almost_equal(gennorm.lmparams(lmoms), np.array([ 0.03455279, 0.0987164, 2.58243705])) lmoms = (-1., 1., +0.9) assert_almost_equal(gennorm.lmparams(lmoms), np.array([-2.03455279, 0.0987164, -2.58243705])) lmoms = (+1., +1., +0.7) assert_almost_equal(np.array(gennorm.lmparams(lmoms)), np.array([0.014923134, 0.54923500, -1.66231215]))
def test_ppf(self): "Try the PPF of the generalized normal distribution" k = 0. ctr = [-3.0902323062, -0.674489750, 0.0, 3.090232306] assert_almost_equal(gennorm(k).ppf([0.001, 0.25, 0.5, 0.999]), ctr) k = 0.1 ctr = [-3.6209401242, -0.697756729, 0.0, 2.658362852] assert_almost_equal(gennorm(k).ppf([0.001, 0.25, 0.5, 0.999]), ctr) k = 1. ctr = [-20.98218398, -0.96303108, 0.0, 0.95450861] assert_almost_equal(gennorm(k).ppf([0.001, 0.25, 0.5, 0.999]), ctr)
def test_cdf(self): "Try the CDF of the Generalized Normal distribution" k = 0. ctr = [0.5, 0.59870633, 0.69146246, 0.84134475] assert_almost_equal(gennorm(k).cdf([0., .25, .5, 1.]), ctr) k = 0.1 ctr = [0.5, 0.59993470, 0.69600089, 0.853968136] assert_almost_equal(gennorm(k).cdf([0., .25, .5, 1.]), ctr) k = 1. ctr = [0.5, 0.613204943, 0.755891404, 1.0] assert_almost_equal(gennorm(k).cdf([0., .25, .5, 1.]), ctr)
def test_lmparams_gennorm(self): "Test parameter estimation from L_moments for the generalized normal distribution" (loc, scl, shp) = (0.0, 1., 0.999) lmoms = gennorm( shp, loc, scl, ).lstats(4) assert_almost_equal(gennorm.lmparams(lmoms), np.array((loc, scl, shp)), 6) (loc, scl, shp) = (0.0, 0.5, -0.999) lmoms = gennorm(shp, loc, scl).lstats(4) assert_almost_equal(gennorm.lmparams(lmoms), np.array((loc, scl, shp)), 6) (loc, scl, shp) = (0.5, 2.0, 0.5) lmoms = gennorm(shp, loc, scl).lstats(4) assert_almost_equal(gennorm.lmparams(lmoms), np.array((loc, scl, shp)), 6) (loc, scl, shp) = (0, 2, 0) lmoms = gennorm(shp, loc, scl).lstats(4) assert_almost_equal(gennorm.lmparams(lmoms), np.array((loc, scl, shp)), 6) # lmoms = (-1., 1., 3.) #self.failUnlessRaises(ValueError, pel_gennorm, lmoms) lmoms = (-1., 1., 1. / 3) assert_almost_equal(gennorm.lmparams(lmoms), np.array([-1.57345421, 1.44332159, -0.7010033])) lmoms = (-1., 1., -0.9) assert_almost_equal(gennorm.lmparams(lmoms), np.array([0.03455279, 0.0987164, 2.58243705])) lmoms = (-1., 1., +0.9) assert_almost_equal(gennorm.lmparams(lmoms), np.array([-2.03455279, 0.0987164, -2.58243705])) lmoms = (+1., +1., +0.7) assert_almost_equal(np.array(gennorm.lmparams(lmoms)), np.array([0.014923134, 0.54923500, -1.66231215]))