inequality / inequality / inequality-1.3.3

Released by inequality on 2004-08-01 at 17:16.

inequality-1.3.3.zip17.5 KB
ineqIndexSpreadsheets.zip680.6 KB
--- General remarks ---
*  Some changes for experimenters implemented.
*  Packet contains sources and a packet for experimenting
*  The programs are written in Lua and in Python. This could
   be interesting for comparison e.g. of class implementations.

--- Platon inequality ---
*  "Platon" inequality: ZP
*  "Kullback-Leibler" redundancy (or distance): KLR
   *  E[i] is e.g. total income in a quantile[i]
   *  A[i] is e.g. the population in a quantile[i]
   *  sumE = sum(E[i]), e.g. income of a society
   *  sumA = sum(A[i]), e.g. population of a society
   *  i is the index of the quantiles (containing A[i] and E[i])
      in a set of quantiles which e.g. describes the resource
      distribution in a society.
   *  KLR = sum(ln(sumE/sumA)*(E[i]/sumE-A[i]/sumA)/2
*  "Kullback-Leibler" inequality: KLI = 1 - exp(-KLR)
*  "Pareto" equality: q
*  ZP and KLR are relative inequalities between 0 and 1
*  q is a relative equality between 0 and 0.5
*  As q is between 0 and 0.5 and indicates equality, the transformation
   ZP = 1 - 2*q is between 0 and 1 and indicates inequality.
*  KLR is a redundancy >= 0
   (redundancy = max.entropy - entropy)
*  pi = 3.1415....
Definition of Platon inequality:
*  KLI = 1 - (2/(ZP+1)-1)^(ZP).
Approximation (error < 0.002 below ZP=0.78) yields inverse function:
*  ZP = 1 - arcsin((1-KLI)^(KLI*0.06+0.61))*2/pi
   (The program reduces the error to <0.00001)
Meaning (if q = (ZP+1)/2 with q between 0 and 0.5):
*  A society in which
     a share of q people hold a share of 1-q of the resources and
     a share of 1-q people hold a share of q of the resources
   is entropywise equivalent to a society with
   KLI = 1 - (1/q-1)^(2*q-1).

Changes: Release Name: inequality-1.3.3 and 1.3.2 Changes (from 1.3.1 and 1.3.2 implemented in 1.3.3): In extreme cases the Platon inequality was not exact enough. In 1.3.3 I improved the computation of this inequality index. I discovered that during playing with random data inputs to the program ( For real life 1.3.1 and 1.3.2 are fine. But I just like to prepare the program in a way, that it also works in experiments with completely weird data. ----------------------------------------------------------------- Release Name: inequality-1.3.1 Notes: Formulas for most (not all) of the coefficients are here: (1) That was in the web a few years ago. In Maugis' excellent list you find two inequality measures from Atkinson. Out of these two, I am interested only in the entropy measure. (2) Some names I still have to change. I developped the entropy coefficients myself in 1995 and later found, that others did that already earlier:-). (2a) The "Demand" coefficient is Atkinson's entropy measure, which again is 1-exp(Theil_redundancy(E)). (2b) The "D&R" coefficient is 1-exp(-Kullback_Leibler_redundancy). Now I modestly call it Kullback_Leibler_inequality. (2c) The Kullback_Leibler_redundancy is (Theil_redundancy(A)+Theil_redundancy(E))/2. In the literature It usually is called "Kullback Leibler Distance". (As for A and E, here an example: A is the population of a quantile and E is the sum of the incomes in that quantile.) (2d) I use the term "redundancy" in the sense of ISO/IEC DIS 2382-16. Changes: Release Name: inequality-1.3.1 Stripping Coulter off its divider /2 wasn't a good idea. Now it is back. ----------------------------------------------------------------- Release Name: inequality-1.3.0 Notes: (1) The Williamson variation has been fixed. (2) Gini and Coulter are scaled between 0 and 1. In the literature you sometimes find Gini scaled between 0 and 1/2 and the Coulter scaled between 0 and sqrt(1/2). Changes: Herfindahl disabled (needs rework) Coulter: Division by 2 (in the square root) disabled. Some features for experimenting added. ----------------------------------------------------------------- Release Name: inequality-1.2.4 Notes: "Any city however small, is in fact divided into two, one the city of the poor, the other of the rich; these are at war with one another." (Plato, The Republic, 370 BC) The Platon inequality (1999-04-25) is for use by the author. It is based on the concept a entropywise equivalent reference distribution with only two quantiles as a representation of a given measured distributen. ----------------------------------------------------------------- Release Name: inequality-1.2.3 Notes: The Platon inequality is for use by the author. (You may test it empirically wether it reflects perceptions of inequality. But as for now I won't promote this inequality measure too much.) Changes: Platon inequality added to inequality-1.2.2 ----------------------------------------------------------------- Release Name: inequality 1.2.2 Notes: (1) Experimenting with epsilon (societal inequality aversion) has been implemented. (2) Output example: # Kullback-Leibler inequality: 32.3% # Atkinson inequality: 32.8% # Gini inequality: 42.2% # Hoover inequality: 29.7% # Coulter inequality: 13.4% # MacRae equality: 67.2% # Kullback-Leibler redundancy: 0.391 # Theil redundancy: 0.398 (3) The program is maintained in Lua and in Phyton. Changes: (1) No functionale bug fixes were necessary. (2) You find the Kullback-Liebler distance and the Kullback-Leibler distance in the Internet. It's Kullback-Leibler, and I call it Kullback-Leibler redundancy. -----------------------------------------------------------------