def test_gini2shares(self): gini0 = random.random() nbrackets = 10**random.randrange(3, 5) shares01 = list(gini2shares(gini=gini0, nbrackets=nbrackets)) print "sum", sum(shares01) gini1 = calc_gini(shares01) #print "ginis:", gini0, gini1 TODO: better accuracy expected... self.assert_(fmath.feq(gini0, gini1, 1e-3)) #imposed and computed Gini shd be equal print "here" shares02 = list(gini2sharesPareto(gini=gini0, nbrackets=nbrackets)) print "sum", sum(shares02) gini2 = calc_gini(shares02) #print "ginis:", gini0, gini1 TODO: better accuracy expected... self.assert_( fmath.feq(gini0, gini2, 1. / nbrackets)) #imposed and computed Gini shd be equal print shares01[::100] print calc_gini(shares01) print shares02[::100] print calc_gini(shares02) fig, (ax1, ax2) = plt.subplots(1, 2) ax1.plot(shares01) ax2.plot(np.cumsum(shares01)) ax2.plot(np.cumsum(shares02)) plt.show() exit()
def test_gini2shares(self): gini0 = random.random() nbrackets = 10 ** random.randrange(3, 5) shares01 = list(gini2shares(gini=gini0, nbrackets=nbrackets)) print "sum", sum(shares01) gini1 = calc_gini(shares01) # print "ginis:", gini0, gini1 TODO: better accuracy expected... self.assert_(fmath.feq(gini0, gini1, 1e-3)) # imposed and computed Gini shd be equal print "here" shares02 = list(gini2sharesPareto(gini=gini0, nbrackets=nbrackets)) print "sum", sum(shares02) gini2 = calc_gini(shares02) # print "ginis:", gini0, gini1 TODO: better accuracy expected... self.assert_(fmath.feq(gini0, gini2, 1.0 / nbrackets)) # imposed and computed Gini shd be equal """
def test_gini2shares(self): gini0 = random.random() nbrackets = 10**random.randrange(3,5) shares01 = list(gini2shares(gini=gini0, nbrackets=nbrackets)) print "sum", sum(shares01) gini1 = calc_gini(shares01) #print "ginis:", gini0, gini1 TODO: better accuracy expected... self.assert_(fmath.feq(gini0, gini1, 1e-3)) #imposed and computed Gini shd be equal print "here" shares02 = list( gini2sharesPareto(gini=gini0, nbrackets=nbrackets) ) print "sum", sum(shares02) gini2 = calc_gini(shares02) #print "ginis:", gini0, gini1 TODO: better accuracy expected... self.assert_(fmath.feq(gini0, gini2, 1./nbrackets)) #imposed and computed Gini shd be equal print shares01[::100] print calc_gini(shares01) print shares02[::100] print calc_gini(shares02) fig, (ax1,ax2) = plt.subplots(1,2) ax1.plot(shares01) ax2.plot(np.cumsum(shares01)) ax2.plot(np.cumsum(shares02)) plt.show() exit()