Advertisement · 728 × 90
#
Hashtag
#Platoinequality
Advertisement · 728 × 90
T = rSym = (Theil_T[(a,b)] + Theil_T[(a,b)]) / 2
H = zHoover = Hoover inequality ("Robin Hood index")

Software to compute theses measures:
in https://drive.proton.me/urls/FBYNTG45P4#RafOE8CV1KPf

The original source: TheilHooverPlatoGini.hs (Haskell code).
I additionally generated TheilHooverPlatoGini.py and TheilHooverPlatoGini.lua using ChatGPT.

T = rSym = (Theil_T[(a,b)] + Theil_T[(a,b)]) / 2 H = zHoover = Hoover inequality ("Robin Hood index") Software to compute theses measures: in https://drive.proton.me/urls/FBYNTG45P4#RafOE8CV1KPf The original source: TheilHooverPlatoGini.hs (Haskell code). I additionally generated TheilHooverPlatoGini.py and TheilHooverPlatoGini.lua using ChatGPT.

Plato_Inequality_Indicator.hs (Haskell code) is here:
in https://drive.proton.me/urls/FBYNTG45P4#RafOE8CV1KPf

You can use e.g. GhatGPT to convert the code to other languages.

Plato_Inequality_Indicator.hs (Haskell code) is here: in https://drive.proton.me/urls/FBYNTG45P4#RafOE8CV1KPf You can use e.g. GhatGPT to convert the code to other languages.

Two experimental inequality measures:
- zPlato
- rAccept and zAccept

The acceptance measure surely is disputable.

#ResearchProposal #TheilIndex #TheilRedundancy #HooverInequality #HooverIndex #RobinHoodIndex #Gini #GiniIndex #GiniCoefficient #PlatoInequality #inequality

See also ALT-text

0 0 1 1

Computing inequality measures:
snrk.de/TheilHooverP... contains Haskell code for computing the following symmetric (swap-invariant) #inequality indicators:
※ Gini [0,1]
※ Hoover [0,1]
※ Plato [0,1]
※ Theil_sym [0,∞), Theil_symCDF [0,1]

#Giniindex, #Gini, #Theilindex, #Platoinequality, #Hooverindex

0 0 1 5
Data source: https://www.federalreserve.gov/releases/z1/dataviz/dfa/distribute/chart/#range:1990.3,2024.4;quarter:142;series:Net%20worth;demographic:income;population:all;units:levels

Wealth Distribution (Grouping: Wealth per Income Percentile)

Percentiles:
Category|Groupsize
pct99to100|1.0%
pct80to99|19.0%
pct60to80|20.0%
pct40to60|20.0%
pct20to40|20.0%
pct00to20|20.0%


year|Plato|Gini
1990|42.51%|39.19%
1991|42.91%|39.32%
1992|42.84%|39.27%
1993|43.66%|39.73%
1994|43.96%|39.61%
1995|44.88%|39.78%
1996|45.57%|40.44%
1997|46.50%|41.41%
1998|47.60%|42.64%
1999|48.05%|43.82%
2000|48.24%|44.77%
2001|46.69%|44.13%
2002|46.37%|43.47%
2003|47.35%|43.37%
2004|50.07%|44.43%
2005|51.24%|45.46%
2006|52.68%|46.94%
2007|54.07%|48.42%
2008|52.48%|47.88%
2009|50.52%|47.23%
2010|51.07%|48.40%
2011|52.11%|49.52%
2012|53.18%|50.46%
2013|54.57%|51.61%
2014|55.97%|52.87%
2015|56.60%|53.48%
2016|56.98%|53.76%
2017|57.53%|53.95%
2018|57.60%|53.67%
2019|57.87%|53.64%
2020|56.56%|52.85%
2021|57.28%|53.58%
2022|55.18%|51.88%
2023|55.50%|52.28%
2024|56.48%|53.19%

Data source: https://www.federalreserve.gov/releases/z1/dataviz/dfa/distribute/chart/#range:1990.3,2024.4;quarter:142;series:Net%20worth;demographic:income;population:all;units:levels Wealth Distribution (Grouping: Wealth per Income Percentile) Percentiles: Category|Groupsize pct99to100|1.0% pct80to99|19.0% pct60to80|20.0% pct40to60|20.0% pct20to40|20.0% pct00to20|20.0% year|Plato|Gini 1990|42.51%|39.19% 1991|42.91%|39.32% 1992|42.84%|39.27% 1993|43.66%|39.73% 1994|43.96%|39.61% 1995|44.88%|39.78% 1996|45.57%|40.44% 1997|46.50%|41.41% 1998|47.60%|42.64% 1999|48.05%|43.82% 2000|48.24%|44.77% 2001|46.69%|44.13% 2002|46.37%|43.47% 2003|47.35%|43.37% 2004|50.07%|44.43% 2005|51.24%|45.46% 2006|52.68%|46.94% 2007|54.07%|48.42% 2008|52.48%|47.88% 2009|50.52%|47.23% 2010|51.07%|48.40% 2011|52.11%|49.52% 2012|53.18%|50.46% 2013|54.57%|51.61% 2014|55.97%|52.87% 2015|56.60%|53.48% 2016|56.98%|53.76% 2017|57.53%|53.95% 2018|57.60%|53.67% 2019|57.87%|53.64% 2020|56.56%|52.85% 2021|57.28%|53.58% 2022|55.18%|51.88% 2023|55.50%|52.28% 2024|56.48%|53.19%

This is about the distribution of wealth (net worth) in the US from 1990 to 2024. It's not an income distribution even though the percentiles are six income groups (see ALT-Text).

Inequality indicators, #Ginicoefficient, #Platoinequality

0 0 1 2
Data source: https://www.federalreserve.gov/releases/z1/dataviz/dfa/distribute/chart/#range:1990.3,2024.4;quarter:142;series:Net%20worth;demographic:income;population:all;units:levelshttps://www.federalreserve.gov/releases/z1/dataviz/dfa/distribute/chart/#range:1990.3,2024.4;quarter:142;series:Net%20worth;demographic:networth;population:all;units:levels

Wealth Distribution (Grouping: Wealth per Wealth Percentile) 20,20,20,20,19,1

Year|Plato|Gini
1990|67.36%|65.92%
1991|67.14%|65.65%
1992|66.48%|65.11%
1993|67.21%|65.51%
1994|68.06%|65.89%
1995|68.23%|65.89%
1996|68.62%|66.18%
1997|68.95%|66.57%
1998|69.27%|66.98%
1999|69.45%|67.41%
2000|69.39%|67.52%
2001|68.91%|67.01%
2002|69.01%|67.08%
2003|69.83%|67.70%
2004|70.83%|68.51%
2005|71.19%|68.83%
2006|72.00%|69.51%
2007|73.60%|70.60%
2008|75.77%|71.52%
2009|78.59%|72.38%
2010|80.18%|73.19%
2011|81.04%|73.52%
2012|79.99%|73.41%
2013|78.61%|73.11%
2014|77.92%|73.21%
2015|77.56%|73.26%
2016|77.02%|73.13%
2017|76.43%|72.99%
2018|75.74%|72.76%
2019|75.37%|72.66%
2020|73.97%|71.38%
2021|73.58%|70.81%
2022|72.37%|69.48%
2023|72.69%|69.71%
2024|73.06%|70.00%

Data source: https://www.federalreserve.gov/releases/z1/dataviz/dfa/distribute/chart/#range:1990.3,2024.4;quarter:142;series:Net%20worth;demographic:income;population:all;units:levelshttps://www.federalreserve.gov/releases/z1/dataviz/dfa/distribute/chart/#range:1990.3,2024.4;quarter:142;series:Net%20worth;demographic:networth;population:all;units:levels Wealth Distribution (Grouping: Wealth per Wealth Percentile) 20,20,20,20,19,1 Year|Plato|Gini 1990|67.36%|65.92% 1991|67.14%|65.65% 1992|66.48%|65.11% 1993|67.21%|65.51% 1994|68.06%|65.89% 1995|68.23%|65.89% 1996|68.62%|66.18% 1997|68.95%|66.57% 1998|69.27%|66.98% 1999|69.45%|67.41% 2000|69.39%|67.52% 2001|68.91%|67.01% 2002|69.01%|67.08% 2003|69.83%|67.70% 2004|70.83%|68.51% 2005|71.19%|68.83% 2006|72.00%|69.51% 2007|73.60%|70.60% 2008|75.77%|71.52% 2009|78.59%|72.38% 2010|80.18%|73.19% 2011|81.04%|73.52% 2012|79.99%|73.41% 2013|78.61%|73.11% 2014|77.92%|73.21% 2015|77.56%|73.26% 2016|77.02%|73.13% 2017|76.43%|72.99% 2018|75.74%|72.76% 2019|75.37%|72.66% 2020|73.97%|71.38% 2021|73.58%|70.81% 2022|72.37%|69.48% 2023|72.69%|69.71% 2024|73.06%|70.00%

https://www.federalreserve.gov/releases/z1/dataviz/dfa/distribute/chart/#range:1990.3,2024.4;quarter:142;series:Net%20worth;demographic:income;population:all;units:levels

Wealth Distribution (Grouping: Wealth per Income Percentile)

year|Plato|Gini
1990|42.51%|39.19%
1991|42.91%|39.32%
1992|42.84%|39.27%
1993|43.66%|39.73%
1994|43.96%|39.61%
1995|44.88%|39.78%
1996|45.57%|40.44%
1997|46.50%|41.41%
1998|47.60%|42.64%
1999|48.05%|43.82%
2000|48.24%|44.77%
2001|46.69%|44.13%
2002|46.37%|43.47%
2003|47.35%|43.37%
2004|50.07%|44.43%
2005|51.24%|45.46%
2006|52.68%|46.94%
2007|54.07%|48.42%
2008|52.48%|47.88%
2009|50.52%|47.23%
2010|51.07%|48.40%
2011|52.11%|49.52%
2012|53.18%|50.46%
2013|54.57%|51.61%
2014|55.97%|52.87%
2015|56.60%|53.48%
2016|56.98%|53.76%
2017|57.53%|53.95%
2018|57.60%|53.67%
2019|57.87%|53.64%
2020|56.56%|52.85%
2021|57.28%|53.58%
2022|55.18%|51.88%
2023|55.50%|52.28%
2024|56.48%|53.19%

https://www.federalreserve.gov/releases/z1/dataviz/dfa/distribute/chart/#range:1990.3,2024.4;quarter:142;series:Net%20worth;demographic:income;population:all;units:levels Wealth Distribution (Grouping: Wealth per Income Percentile) year|Plato|Gini 1990|42.51%|39.19% 1991|42.91%|39.32% 1992|42.84%|39.27% 1993|43.66%|39.73% 1994|43.96%|39.61% 1995|44.88%|39.78% 1996|45.57%|40.44% 1997|46.50%|41.41% 1998|47.60%|42.64% 1999|48.05%|43.82% 2000|48.24%|44.77% 2001|46.69%|44.13% 2002|46.37%|43.47% 2003|47.35%|43.37% 2004|50.07%|44.43% 2005|51.24%|45.46% 2006|52.68%|46.94% 2007|54.07%|48.42% 2008|52.48%|47.88% 2009|50.52%|47.23% 2010|51.07%|48.40% 2011|52.11%|49.52% 2012|53.18%|50.46% 2013|54.57%|51.61% 2014|55.97%|52.87% 2015|56.60%|53.48% 2016|56.98%|53.76% 2017|57.53%|53.95% 2018|57.60%|53.67% 2019|57.87%|53.64% 2020|56.56%|52.85% 2021|57.28%|53.58% 2022|55.18%|51.88% 2023|55.50%|52.28% 2024|56.48%|53.19%

USA 1990 - 2024

The inequality of wealth distribution over wealth percentiles devreased from 2011 to 2024.

The inequality of wealth distribution over income percentiles increased.

Data Source: FED (Links in ALT-Text)

Indicators #Gini #Giniindex #Platoinequality

0 0 0 1
dfa-networth-levels_fromIneqComps.xlsx

See https://drive.proton.me/urls/VW05METQ2G#fWlnSQkKhSvY

dfa-networth-levels_fromIneqComps.xlsx See https://drive.proton.me/urls/VW05METQ2G#fWlnSQkKhSvY

Wealth distribution: https://www.federalreserve.gov/releases/z1/dataviz/dfa/distribute/chart/#range:1989.3,2025.1;quarter:142;series:Net%20worth;demographic:networth;population:all;units:levels

Wealth distribution: https://www.federalreserve.gov/releases/z1/dataviz/dfa/distribute/chart/#range:1989.3,2025.1;quarter:142;series:Net%20worth;demographic:networth;population:all;units:levels

Inequality measures for the distribution of wealth (net-worth) in the USA from 1990 to 2024.

See also: drive.proton.me/urls/VW05MET...

#inequality #wealthinequality #wealthdistribution #incomeinequality #incomedistribution #Gini #Giniindex #Platoinequality

1 1 4 5
Six relations between the symmetrized Theil Redundancy and the Hoover Index ("Robin Hood Index"). Could zAccept (the orange curve is its negative value) be used as an indicator for the acceptance of inequality?
Python code:
rSym    = 0.5 * sum(math.log(a / b) * ((a / a_total) - (b / b_total)) for a, b in pairs)
zHoover = 0.5 * sum(              abs ((a / a_total) - (b / b_total)) for a, b in pairs)


from https://web.archive.org/web/http://snrk.de/inequality_experiment.ods (2008)

Goetz Kluge, 2025

Six relations between the symmetrized Theil Redundancy and the Hoover Index ("Robin Hood Index"). Could zAccept (the orange curve is its negative value) be used as an indicator for the acceptance of inequality? Python code: rSym = 0.5 * sum(math.log(a / b) * ((a / a_total) - (b / b_total)) for a, b in pairs) zHoover = 0.5 * sum( abs ((a / a_total) - (b / b_total)) for a, b in pairs) from https://web.archive.org/web/http://snrk.de/inequality_experiment.ods (2008) Goetz Kluge, 2025

Six relations between a Theil Redundancy and the Hoover Index. Could zAccept be used as an indicator for the acceptance of inequality?

Spreadsheet: web.archive.org/web/http://s

#Gini #Atkinson #Theil #GiniInequality #PlatoInequality #Plato #inequality #incomes #incomedistribution

1 1 1 0
Wealth distribution in the US, 1990:

X:\Haskell> .\IneqComps.exe "50,2.36|40,37.8|9,41.7|0.9,12.6|0.1,5.51"

IneqComps V16 2025-06-25

rSym     =  1.24162 (symmetric Theil redundancy)
zSym     =  71.108% (symmetric Atkinson inequality, zSym=1-exp(-rSym))
zPlato   =  70.605% (Plato inequality, Theil & Atkinson & Plato equivalent ratio: 85.303:14.697)
zGini    =  69.040% (Gini inequality,                      Gini equivalent ratio: 84.520:15.480)
zHoover  =  49.828% (Hoover inequality,                  Hoover equivalent ratio: 74.914:25.086)
1-Median =  92.121%
zAccept  = -0.74334 (experimental: zAccept=zHoover-rSym)



Wealth distribution in the US, 2020:

PS X:\Haskell> .\IneqComps.exe "50,2.385|40,28.9|9,37.7|0.9,16.7|0.1,14.3"

IneqComps V16 2025-06-25

rSym     =  1.53123 (symmetric Theil redundancy)
zSym     =  78.373% (symmetric Atkinson inequality, zSym=1-exp(-rSym))
zPlato   =  76.302% (Plato inequality, Theil & Atkinson & Plato equivalent ratio: 88.151:11.849)
zGini    =  74.734% (Gini inequality,                      Gini equivalent ratio: 87.367:12.633)
zHoover  =  58.710% (Hoover inequality,                  Hoover equivalent ratio: 79.355:20.645)
1-Median =  94.466%
zAccept  = -0.94413 (experimental: zAccept=zHoover-rSym)

Wealth distribution in the US, 1990: X:\Haskell> .\IneqComps.exe "50,2.36|40,37.8|9,41.7|0.9,12.6|0.1,5.51" IneqComps V16 2025-06-25 rSym = 1.24162 (symmetric Theil redundancy) zSym = 71.108% (symmetric Atkinson inequality, zSym=1-exp(-rSym)) zPlato = 70.605% (Plato inequality, Theil & Atkinson & Plato equivalent ratio: 85.303:14.697) zGini = 69.040% (Gini inequality, Gini equivalent ratio: 84.520:15.480) zHoover = 49.828% (Hoover inequality, Hoover equivalent ratio: 74.914:25.086) 1-Median = 92.121% zAccept = -0.74334 (experimental: zAccept=zHoover-rSym) Wealth distribution in the US, 2020: PS X:\Haskell> .\IneqComps.exe "50,2.385|40,28.9|9,37.7|0.9,16.7|0.1,14.3" IneqComps V16 2025-06-25 rSym = 1.53123 (symmetric Theil redundancy) zSym = 78.373% (symmetric Atkinson inequality, zSym=1-exp(-rSym)) zPlato = 76.302% (Plato inequality, Theil & Atkinson & Plato equivalent ratio: 88.151:11.849) zGini = 74.734% (Gini inequality, Gini equivalent ratio: 87.367:12.633) zHoover = 58.710% (Hoover inequality, Hoover equivalent ratio: 79.355:20.645) 1-Median = 94.466% zAccept = -0.94413 (experimental: zAccept=zHoover-rSym)

Whoops, the previous post was about 1990 (left side), not 2020 (right side).

#TheilIndex #TheilRedundancy #AtkinsonInequality #PlatoInequality #Gini #GiniIndex #GiniCoefficiant #HooverInequality #HooverIndex

Here are some wealth inequality indicators, this time for 1990 and 2020:

0 0 1 0
Graph depicting the "Distribution of Household Wealth in the U.S. by income group"

groups:
[0%,50%), group size 50%
[0%,90%), group size 40%
[90%,99%), group size 39%
[99%,99.9%), group size 0.9%
[99%.9%,100%], group size: 0.1%

time range:
1990-2020 (or later?)

Source: The Federal Reserve

-----------------------------------------------------------

Processed in Power Shell:

X:\Haskell> .\IneqComps.exe "50,2.36|40,37.8|9,41.7|0.9,12.6|0.1,5.51"

IneqComps V16 2025-06-25

rSym     =  1.24162 (symmetric Theil redundancy)
zSym     =  71.108% (symmetric Atkinson inequality, zSym=1-exp(-rSym))
zPlato   =  70.605% (Plato inequality, Theil & Atkinson & Plato equivalent ratio: 85.303:14.697)
zGini    =  69.040% (Gini inequality,                      Gini equivalent ratio: 84.520:15.480)
zHoover  =  49.828% (Hoover inequality,                  Hoover equivalent ratio: 74.914:25.086)
1-Median =  92.121%
zAccept  = -0.74334 (experimental: zAccept=zHoover-rSym)

X:\Haskell> .\IneqComps.exe --CSV "50,2.36|40,37.8|9,41.7|0.9,12.6|0.1,5.51"
1.241620979176E+00;711.084487868371E-03;706.052940093059E-03;690.396018805642E-03;498.279483845153E-03;921.205035971223E-03;-743.341495331143E-03;+1.000000000000E+00

Graph depicting the "Distribution of Household Wealth in the U.S. by income group" groups: [0%,50%), group size 50% [0%,90%), group size 40% [90%,99%), group size 39% [99%,99.9%), group size 0.9% [99%.9%,100%], group size: 0.1% time range: 1990-2020 (or later?) Source: The Federal Reserve ----------------------------------------------------------- Processed in Power Shell: X:\Haskell> .\IneqComps.exe "50,2.36|40,37.8|9,41.7|0.9,12.6|0.1,5.51" IneqComps V16 2025-06-25 rSym = 1.24162 (symmetric Theil redundancy) zSym = 71.108% (symmetric Atkinson inequality, zSym=1-exp(-rSym)) zPlato = 70.605% (Plato inequality, Theil & Atkinson & Plato equivalent ratio: 85.303:14.697) zGini = 69.040% (Gini inequality, Gini equivalent ratio: 84.520:15.480) zHoover = 49.828% (Hoover inequality, Hoover equivalent ratio: 74.914:25.086) 1-Median = 92.121% zAccept = -0.74334 (experimental: zAccept=zHoover-rSym) X:\Haskell> .\IneqComps.exe --CSV "50,2.36|40,37.8|9,41.7|0.9,12.6|0.1,5.51" 1.241620979176E+00;711.084487868371E-03;706.052940093059E-03;690.396018805642E-03;498.279483845153E-03;921.205035971223E-03;-743.341495331143E-03;+1.000000000000E+00


                  Any city however small, is divided at least into two,
                    one the city of the poor, the other of the rich;
                            these are hostile to each other.
                              (Plato, Politeia, 370 BC)

In the following example are five "cities". The redundancy (that's maximum entropy minus measured entropy) of the 4 cities is similar to the redundancy of the wealth distribution in two cities, where
- in the poor city 85.303% of the people own 14.697% of the wealth, and
- in the rich city 14.697% of the people own 85.303% of the wealth.
The Plato inequality indicator has been developed to get the data required for such a statement.

In the mid inequality range, the The Plato inequality indicator
behaves pretty much like the Plato inequality indicator, but in
the high inequality renge it is more sensitive then the Gini.


X:\Haskell> .\IneqComps.exe "50,2.36|40,37.8|9,41.7|0.9,12.6|0.1,5.51"

IneqComps V16 2025-06-25

rSym     =  1.24162 (symmetric Theil redundancy)
zSym     =  71.108% (symmetric Atkinson inequality, zSym=1-exp(-rSym))
zPlato   =  70.605% (Plato inequality, Theil & Atkinson & Plato equivalent ratio: 85.303:14.697)
zGini    =  69.040% (Gini inequality,                      Gini equivalent ratio: 84.520:15.480)
zHoover  =  49.828% (Hoover inequality,                  Hoover equivalent ratio: 74.914:25.086)
1-Median =  92.121%
zAccept  = -0.74334 (experimental: zAccept=zHoover-rSym)

X:\Haskell> .\IneqComps.exe --CSV "50,2.36|40,37.8|9,41.7|0.9,12.6|0.1,5.51"
1.241620979176E+00;711.084487868371E-03;706.052940093059E-03;690.396018805642E-03;498.279483845153E-03;921.205035971223E-03;-743.341495331143E-03;+1.000000000000E+00

Any city however small, is divided at least into two, one the city of the poor, the other of the rich; these are hostile to each other. (Plato, Politeia, 370 BC) In the following example are five "cities". The redundancy (that's maximum entropy minus measured entropy) of the 4 cities is similar to the redundancy of the wealth distribution in two cities, where - in the poor city 85.303% of the people own 14.697% of the wealth, and - in the rich city 14.697% of the people own 85.303% of the wealth. The Plato inequality indicator has been developed to get the data required for such a statement. In the mid inequality range, the The Plato inequality indicator behaves pretty much like the Plato inequality indicator, but in the high inequality renge it is more sensitive then the Gini. X:\Haskell> .\IneqComps.exe "50,2.36|40,37.8|9,41.7|0.9,12.6|0.1,5.51" IneqComps V16 2025-06-25 rSym = 1.24162 (symmetric Theil redundancy) zSym = 71.108% (symmetric Atkinson inequality, zSym=1-exp(-rSym)) zPlato = 70.605% (Plato inequality, Theil & Atkinson & Plato equivalent ratio: 85.303:14.697) zGini = 69.040% (Gini inequality, Gini equivalent ratio: 84.520:15.480) zHoover = 49.828% (Hoover inequality, Hoover equivalent ratio: 74.914:25.086) 1-Median = 92.121% zAccept = -0.74334 (experimental: zAccept=zHoover-rSym) X:\Haskell> .\IneqComps.exe --CSV "50,2.36|40,37.8|9,41.7|0.9,12.6|0.1,5.51" 1.241620979176E+00;711.084487868371E-03;706.052940093059E-03;690.396018805642E-03;498.279483845153E-03;921.205035971223E-03;-743.341495331143E-03;+1.000000000000E+00

Computing inequality indicators (Theil, Atkinson, Plato, Gini, Hoover) for the wealth distribution in the US, 2020 (right side of the graph).

#TheilIndex #TheilRedundancy #AtkinsonInequality #PlatoInequality #Gini #GiniIndex #GiniCoefficiant #HooverInequality #HooverIndex

0 0 1 0
# Example in Python for how to compute the Plato inequality indicator:
# Goetz Kluge, 2025-06-25

import math

# Compute rSym (symmetrized Theil redundancy) from a table of pairs (a,b).
def compute_theil_redundancy(pairs):
    a_total = sum(a for a, _ in pairs)
    b_total = sum(b for _, b in pairs)
    return 0.5 * sum(math.log(a / b) * ((a / a_total) - (b / b_total)) for a, b in pairs)
def theil2atkinson(redundancy): return 1 - math.exp(-redundancy)

# Compute zSym (symmetrized Atkinson inequality indicator)
def plato2atkinson(a): return 1 - ((1 - a) / (1 + a)) ** a

# zPlato: Convert zSym to zPlato using the Newton-Raphson iteration.def atkinson2plato(z_sym)
def deriv(a): d = (1 - a) / (1 + a)
              return -d ** a * (math.log(d) - 2 * a / (1 - a ** 2))
def func(a, b): return plato2atkinson(a) - b
def newton_raphson(a, b, iter, tol):
    if iter >= 100 or abs(func(a, b)) < tol: return a, iter
    else: return newton_raphson(a - func(a, b) / deriv(a), b, iter + 1, tol)
    if z_sym >= 0.99999999999999: return 1, 0
    elif z_sym <= 0: return 0, 0
    elif z_sym < 0.001: return math.sqrt(z_sym * 0.5), 0
    else: initial_guess = 0.18992 + 0.72791 * z_sym
          return newton_raphson(initial_guess, z_sym, 0, 1e-12)

# -- Usage example:
def main():
    data_points = [(50, 2.5), (40, 47.5), (9, 27), (1, 23)]
    r_sym = compute_theil_redundancy(data_points)
    z_sym = theil2atkinson(r_sym)
    z_plato, steps = atkinson2plato(z_sym)
    print(f"rSym: {r_sym}")
    print(f"zSym: {z_sym}")
    print(f"zPlato: {z_plato}")
    print(f"Newton-Raphson iterations: {steps}")
if __name__ == "__main__":
    main()

# rSym: 1.161710269336159
# zSym: 0.6870495067042661
# zPlato: 0.6880377297113732
# Newton-Raphson iterations: 3

# Example in Python for how to compute the Plato inequality indicator: # Goetz Kluge, 2025-06-25 import math # Compute rSym (symmetrized Theil redundancy) from a table of pairs (a,b). def compute_theil_redundancy(pairs): a_total = sum(a for a, _ in pairs) b_total = sum(b for _, b in pairs) return 0.5 * sum(math.log(a / b) * ((a / a_total) - (b / b_total)) for a, b in pairs) def theil2atkinson(redundancy): return 1 - math.exp(-redundancy) # Compute zSym (symmetrized Atkinson inequality indicator) def plato2atkinson(a): return 1 - ((1 - a) / (1 + a)) ** a # zPlato: Convert zSym to zPlato using the Newton-Raphson iteration.def atkinson2plato(z_sym) def deriv(a): d = (1 - a) / (1 + a) return -d ** a * (math.log(d) - 2 * a / (1 - a ** 2)) def func(a, b): return plato2atkinson(a) - b def newton_raphson(a, b, iter, tol): if iter >= 100 or abs(func(a, b)) < tol: return a, iter else: return newton_raphson(a - func(a, b) / deriv(a), b, iter + 1, tol) if z_sym >= 0.99999999999999: return 1, 0 elif z_sym <= 0: return 0, 0 elif z_sym < 0.001: return math.sqrt(z_sym * 0.5), 0 else: initial_guess = 0.18992 + 0.72791 * z_sym return newton_raphson(initial_guess, z_sym, 0, 1e-12) # -- Usage example: def main(): data_points = [(50, 2.5), (40, 47.5), (9, 27), (1, 23)] r_sym = compute_theil_redundancy(data_points) z_sym = theil2atkinson(r_sym) z_plato, steps = atkinson2plato(z_sym) print(f"rSym: {r_sym}") print(f"zSym: {z_sym}") print(f"zPlato: {z_plato}") print(f"Newton-Raphson iterations: {steps}") if __name__ == "__main__": main() # rSym: 1.161710269336159 # zSym: 0.6870495067042661 # zPlato: 0.6880377297113732 # Newton-Raphson iterations: 3

-- Example in Haskell for how to compute the Plato inequality indicator
-- Goetz Kluge, 2025-06-25

-- Compute rSym (symmetrized Theil redundancy) from a table of pairs (a,b).
type PairsTable = [(Double,Double)]
type RSym = Double
computeTheilRedundancy :: PairsTable -> RSym
computeTheilRedundancy pairs = 0.5 * sum [log (a / b) * ((a / aTotal) - (b / bTotal)) | (a, b) <- pairs]
  where
    aTotal = sum [a | (a, _) <- pairs]
    bTotal = sum [b | (_, b) <- pairs]

-- Compute zSym (symmetrized Atkinson inequality indicator)
theil2Atkinson :: Double -> Double
theil2Atkinson redundancy = 1 - exp (-redundancy)

-- zPlato: Convert zSym to zPlato using the Newton-Raphson iteration.
atkinson2Plato :: Double -> (Double, Int)
atkinson2Plato zSym
  | zSym >= 0.99999999999999 = (1,0)
  | zSym <= 0 = (0,0)
  | zSym < 0.001 = (sqrt (zSym * 0.5), 0)
  | otherwise =
      let initialGuess = 0.18992 + 0.72791 * zSym
      in newtonRaphson initialGuess zSym 0 1e-12
newtonRaphson :: Double -> Double -> Int -> Double -> (Double, Int)
newtonRaphson a b iter tol
  | iter >= 100 || abs (func a b) < tol = (a, iter)
  | otherwise = newtonRaphson (a - func a b / deriv a) b (iter + 1) tol
deriv :: Double -> Double
deriv a =
  let d = (1 - a) / (1 + a)
  in -d ** a * (log d - 2 * a / (1 - a ** 2))
func :: Double -> Double -> Double
func a b = plato2atkinson a - b
plato2atkinson :: Double -> Double
plato2atkinson a = 1 - ((1 - a) / (1 + a)) ** a

-- Usage example:
main :: IO ()
main = do
  let dataPoints = [(50,2.5),(40,47.5),(9,27),(1,23)]
  let rSym = computeTheilRedundancy dataPoints
  let zSym = theil2Atkinson rSym
  let (zPlato, steps) = atkinson2Plato zSym
  putStrLn $ "rSym: " ++ show rSym
  putStrLn $ "zSym: " ++ show zSym
  putStrLn $ "zPlato: " ++ show zPlato
  putStrLn $ "Newton-Raphson iterations: " ++ show steps

-- Example in Haskell for how to compute the Plato inequality indicator -- Goetz Kluge, 2025-06-25 -- Compute rSym (symmetrized Theil redundancy) from a table of pairs (a,b). type PairsTable = [(Double,Double)] type RSym = Double computeTheilRedundancy :: PairsTable -> RSym computeTheilRedundancy pairs = 0.5 * sum [log (a / b) * ((a / aTotal) - (b / bTotal)) | (a, b) <- pairs] where aTotal = sum [a | (a, _) <- pairs] bTotal = sum [b | (_, b) <- pairs] -- Compute zSym (symmetrized Atkinson inequality indicator) theil2Atkinson :: Double -> Double theil2Atkinson redundancy = 1 - exp (-redundancy) -- zPlato: Convert zSym to zPlato using the Newton-Raphson iteration. atkinson2Plato :: Double -> (Double, Int) atkinson2Plato zSym | zSym >= 0.99999999999999 = (1,0) | zSym <= 0 = (0,0) | zSym < 0.001 = (sqrt (zSym * 0.5), 0) | otherwise = let initialGuess = 0.18992 + 0.72791 * zSym in newtonRaphson initialGuess zSym 0 1e-12 newtonRaphson :: Double -> Double -> Int -> Double -> (Double, Int) newtonRaphson a b iter tol | iter >= 100 || abs (func a b) < tol = (a, iter) | otherwise = newtonRaphson (a - func a b / deriv a) b (iter + 1) tol deriv :: Double -> Double deriv a = let d = (1 - a) / (1 + a) in -d ** a * (log d - 2 * a / (1 - a ** 2)) func :: Double -> Double -> Double func a b = plato2atkinson a - b plato2atkinson :: Double -> Double plato2atkinson a = 1 - ((1 - a) / (1 + a)) ** a -- Usage example: main :: IO () main = do let dataPoints = [(50,2.5),(40,47.5),(9,27),(1,23)] let rSym = computeTheilRedundancy dataPoints let zSym = theil2Atkinson rSym let (zPlato, steps) = atkinson2Plato zSym putStrLn $ "rSym: " ++ show rSym putStrLn $ "zSym: " ++ show zSym putStrLn $ "zPlato: " ++ show zPlato putStrLn $ "Newton-Raphson iterations: " ++ show steps

Alternative to: #Gini #GiniIndex #GiniCoefficient

The basic operations to compute the Platon inequality indicator from a set of data pairs now are explained not only in Haskell, but also in Python.

web.archive.org/web/20250625...

#inequality #Theil #Atkinson #Plato #Platoinequality #Hoover

0 0 2 0
Screenshot from the spreadsheet AtkinsonGiniPlato_USA in https://drive.proton.me/urls/QM5NNTY0KG#ilcSNoCwIJgw


#P|#G|#H|#ok|STATES|symmetrized Theil|sym. Atkinson|Plato|Gini
50|50|49|50|Nevada|0,602|45,21 %|52,09 %|53,22 %
49|49|50|49|Florida|0,578|43,90 %|51,16 %|53,21 %
48|48|48|48|Connecticut|0,568|43,35 %|50,77 %|52,81 %
47|47|47|47|Massachusetts|0,530|41,15 %|49,20 %|51,51 %
46|46|46|46|New York|0,518|40,43 %|48,69 %|51,06 %
45|45|45|45|California|0,490|38,76 %|47,48 %|49,99 %
44|44|44|44|New Jersey|0,470|37,48 %|46,56 %|49,08 %
43|43|43|43|Texas|0,469|37,42 %|46,51 %|48,93 %
42|42|42|42|Illinois|0,456|36,63 %|45,94 %|48,34 %
41|41|41|41|Louisiana|0,433|35,15 %|44,85 %|48,02 %
40|40|40|40|Arizona|0,430|34,97 %|44,72 %|47,30 %
39|39|39|39|Michigan|0,421|34,36 %|44,26 %|46,78 %
38|38|38|37|Georgia|0,404|33,24 %|43,43 %|46,27 %
... ... ...
12|10|10|16|South Dakota|0,336|28,50 %|39,81 %|42,08 %
11|11|9|14|Wisconsin|0,335|28,47 %|39,79 %|42,10 %
10|14|14|8|Maine|0,331|28,17 %|39,55 %|42,47 %
9|9|11|9|Indiana|0,329|28,06 %|39,46 %|42,06 %
8|5|6|10|Utah|0,329|28,01 %|39,42 %|41,41 %
7|7|8|6|Virginia|0,322|27,56 %|39,07 %|41,63 %
6|8|7|7|Maryland|0,322|27,55 %|39,06 %|41,65 %
5|6|5|5|Idaho|0,319|27,30 %|38,86 %|41,49 %
4|4|4|4|Nebraska|0,298|25,74 %|37,62 %|40,29 %
3|3|3|3|Hawaii|0,291|25,28 %|37,24 %|39,86 %
2|2|2|2|Iowa|0,289|25,08 %|37,08 %|39,80 %
1|1|1|1|Alaska|0,267|23,41 %|35,70 %|38,35 %

Screenshot from the spreadsheet AtkinsonGiniPlato_USA in https://drive.proton.me/urls/QM5NNTY0KG#ilcSNoCwIJgw #P|#G|#H|#ok|STATES|symmetrized Theil|sym. Atkinson|Plato|Gini 50|50|49|50|Nevada|0,602|45,21 %|52,09 %|53,22 % 49|49|50|49|Florida|0,578|43,90 %|51,16 %|53,21 % 48|48|48|48|Connecticut|0,568|43,35 %|50,77 %|52,81 % 47|47|47|47|Massachusetts|0,530|41,15 %|49,20 %|51,51 % 46|46|46|46|New York|0,518|40,43 %|48,69 %|51,06 % 45|45|45|45|California|0,490|38,76 %|47,48 %|49,99 % 44|44|44|44|New Jersey|0,470|37,48 %|46,56 %|49,08 % 43|43|43|43|Texas|0,469|37,42 %|46,51 %|48,93 % 42|42|42|42|Illinois|0,456|36,63 %|45,94 %|48,34 % 41|41|41|41|Louisiana|0,433|35,15 %|44,85 %|48,02 % 40|40|40|40|Arizona|0,430|34,97 %|44,72 %|47,30 % 39|39|39|39|Michigan|0,421|34,36 %|44,26 %|46,78 % 38|38|38|37|Georgia|0,404|33,24 %|43,43 %|46,27 % ... ... ... 12|10|10|16|South Dakota|0,336|28,50 %|39,81 %|42,08 % 11|11|9|14|Wisconsin|0,335|28,47 %|39,79 %|42,10 % 10|14|14|8|Maine|0,331|28,17 %|39,55 %|42,47 % 9|9|11|9|Indiana|0,329|28,06 %|39,46 %|42,06 % 8|5|6|10|Utah|0,329|28,01 %|39,42 %|41,41 % 7|7|8|6|Virginia|0,322|27,56 %|39,07 %|41,63 % 6|8|7|7|Maryland|0,322|27,55 %|39,06 %|41,65 % 5|6|5|5|Idaho|0,319|27,30 %|38,86 %|41,49 % 4|4|4|4|Nebraska|0,298|25,74 %|37,62 %|40,29 % 3|3|3|3|Hawaii|0,291|25,28 %|37,24 %|39,86 % 2|2|2|2|Iowa|0,289|25,08 %|37,08 %|39,80 % 1|1|1|1|Alaska|0,267|23,41 %|35,70 %|38,35 %

Inequality of income distribution in the USA for all states, 2022.

Spreadsheets and tools:
drive.proton.me/urls/QM5NNTY...

#Gini #Atkinson #Theil #GiniInequality #PlatoInequality #Democrats #Republicans #States #USstates #inequality #incomes #incomedistribution

1 2 0 0
Three examples for applications of IneqComps V07 2025-06-19:

Source data:
- Income after taxation, 1995, Germany (western part)
- Source: section 20.10.4 in  "Statistisches Jahrbuch 1999"
- Sequence in Quantile: [taxpayers per quantile, avg.income (DM) per taxpayer]

(1) --------------------------------------------------------------------------
IneqComps.exe " 1145008,2954120640| 1274868,9680072724| 1489169,18586318289|1309984,22809441408| 1227877,27624776746|1333681,36713570568|3136635,110400142095| 3619401,162869425599| 3105688,170061263504| 3252768,217925697696| 3383398,291368085566| 3126897,420417555444|207672,68629365840| 49031,32752266721|13820,18659363220|  5249,15461396661| 1247,8458445892|686,14801378844"

IneqComps V07 2025-06-19

rSym     = 0.39068 (symmetric Theil redundancy)
zSym     = 32.340% (symmetric Atkinson index, zSym = 1-exp(-rSym))
zHoover  = 29.691% (Hoover index)
zPlato   = 42.754% (Plato inequality, Theil equivalent ratio: 71.377:28.623)
zGini    = 42.162% (Gini index,       Gini equivalent ratio:  71.081:28.919)
(2) --------------------------------------------------------------------------
IneqComps2ratios.exe "71.377,28.623|28.623,71.377"

IneqComps V07 2025-06-19

rSym     = 0.39067 (symmetric Theil redundancy)
zSym     = 32.340% (symmetric Atkinson index, zSym = 1-exp(-rSym))
zHoover  = 42.754% (Hoover index)
zPlato   = 42.754% (Plato inequality, Theil equivalent ratio: 71.377:28.623)
zGini    = 42.754% (Gini index,       Gini equivalent ratio:  71.377:28.623)
(3) --------------------------------------------------------------------------
IneqComps.exe "71.081,28.919|28.919,71.081"

IneqComps V07 2025-06-19

rSym     = 0.37917 (symmetric Theil redundancy)
zSym     = 31.557% (symmetric Atkinson index, zSym = 1-exp(-rSym))
zHoover  = 42.162% (Hoover index)
zPlato   = 42.162% (Plato inequality, Theil equivalent ratio: 71.081:28.919)
zGini    = 42.162% (Gini index,       Gini equivalent ratio:  71.081:28.919)

Three examples for applications of IneqComps V07 2025-06-19: Source data: - Income after taxation, 1995, Germany (western part) - Source: section 20.10.4 in "Statistisches Jahrbuch 1999" - Sequence in Quantile: [taxpayers per quantile, avg.income (DM) per taxpayer] (1) -------------------------------------------------------------------------- IneqComps.exe " 1145008,2954120640| 1274868,9680072724| 1489169,18586318289|1309984,22809441408| 1227877,27624776746|1333681,36713570568|3136635,110400142095| 3619401,162869425599| 3105688,170061263504| 3252768,217925697696| 3383398,291368085566| 3126897,420417555444|207672,68629365840| 49031,32752266721|13820,18659363220| 5249,15461396661| 1247,8458445892|686,14801378844" IneqComps V07 2025-06-19 rSym = 0.39068 (symmetric Theil redundancy) zSym = 32.340% (symmetric Atkinson index, zSym = 1-exp(-rSym)) zHoover = 29.691% (Hoover index) zPlato = 42.754% (Plato inequality, Theil equivalent ratio: 71.377:28.623) zGini = 42.162% (Gini index, Gini equivalent ratio: 71.081:28.919) (2) -------------------------------------------------------------------------- IneqComps2ratios.exe "71.377,28.623|28.623,71.377" IneqComps V07 2025-06-19 rSym = 0.39067 (symmetric Theil redundancy) zSym = 32.340% (symmetric Atkinson index, zSym = 1-exp(-rSym)) zHoover = 42.754% (Hoover index) zPlato = 42.754% (Plato inequality, Theil equivalent ratio: 71.377:28.623) zGini = 42.754% (Gini index, Gini equivalent ratio: 71.377:28.623) (3) -------------------------------------------------------------------------- IneqComps.exe "71.081,28.919|28.919,71.081" IneqComps V07 2025-06-19 rSym = 0.37917 (symmetric Theil redundancy) zSym = 31.557% (symmetric Atkinson index, zSym = 1-exp(-rSym)) zHoover = 42.162% (Hoover index) zPlato = 42.162% (Plato inequality, Theil equivalent ratio: 71.081:28.919) zGini = 42.162% (Gini index, Gini equivalent ratio: 71.081:28.919)

How to use IneqComps (drive.proton.me/urls/W3S6T8P...) V07 2025-06-19:

#IncomeDistribution, #WealthDistribution, #Gini, #GiniIndex, #PlatoInequality, #TheilRedundancy, #TheilS, #HooverInequality, #inequality, #inequity, #AtkinsonIndex, #AtkinsonInequality, #EntropyMeasures, #InequalityMeasures

0 0 0 0