Esempio n. 1
0
 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()
Esempio n. 2
0
 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
     """
Esempio n. 3
0
	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()