Distribución exponencial y curvas de Lorenz

La curva de Lorenz de una distribucion da una idea de la desigualdad entre nodos ricos y nodos pobres, representando la tipica frase “el xxx% de la poblacion posee el yyy% de la riqueza”, que hemos usado en las tablas de los posts anteriores. A partir de ella se puede considerar el índice de Gini, que viene a ser el area entre esta curva y la diagonal.

Una cosa curiosa de una distribucion exponencial, digamos para riqueza media \(k_m\),

\(p(k)= {1 \over k_m} e^{- {k\over k_m}} \)

es que la curva de Lorenz tiene en si misma cierta invarianza de escala, pues es independiente del parametro que gobierna la exponencial. Esto me pilló de sorpresa el otro dia y lo he calculado lo menos cinco o seis veces; de hecho es un ejercicio muy majo y rápido para poner en los problemas de integrales del bachillerato. De todas formas el resultado esta directamente en la wikipedia; el porcentaje R de riqueza poseido por el porcentaje P mas pobre de la poblacion es:

\(R(P)=P + (1 – P) \ln (1-P)\)

Y, claro, esto significa que el coeficiente de Gini es tambien independiente de la riqueza media de la exponencial; es siempre igual a 0.5.

A nosotros nos interesa más bien el porcentaje Y de riqueza poseido por el porcentaje X mas rico de la población, dado que estamos estudiando sobre todo la parte extrema de la distribucion. Obviamente Y=1-R y X=1-P, asi que

\(Y(X) = 1-R(1-X) = X (1 – \ln X)\)

Que es el resultado al que -todavia misteriosamente- parecen converger los dos primeros experimentos de los posts anteriores. Fijaos que esta función es la integral del logaritmo, usease que se da el caso de que la “densidad porcentual” de riqueza es

\(Y'(X) = – \ln X\)

Lo que me lleva a la confusión de llamar de cuando en cuando “distribución logaritmica” a la exponencial, pero es una nomenclatura de la que me estoy corrigiendo (no ocurre lo mismo con el llamar “porcentajes” al tanto por uno, que es lo que he estado haciendo en todo este post, y no tiene visos de cambiar, porque ademas de sonarme muy pedante no esta el simbolo directamente en el teclado)

En general, es curioso esto de pensar en distribuciones de riqueza con la exponencial; es como si la probabilidad de tener un dinero en el rango (el “bin” o cesto) Xn fuera de algun modo proporcional directamente a la probabilidad de tener un dinero en el bin anterior Xn-1. Y los estadisticos tienen un montón de distribuciones alternativas para encajar empiricamente los casos extremos, tirando de Gamma o de Weilbull.

Ley de potencias para los más ricos?

Igual no se trata tanto de que los ricos juegen en otra liga a la hora de repartir, sino de que la distribución de valores altos es invariante de escala, y no una simple bajada exponencial.
Por cierto, que he de dedicar al menos otro post a las distribuciones que hemos usado antes, y a la propia cuestion de cómo y cuándo las exponenciales sacan condiciones del tipo “el x por ciento de los individuos posee el (1-log x) x de la riqueza”. Me lo apunto.

Al grano. Un articulo de introducción rapida a todas estas distribuciones, que ademas analiza como ejemplo la lista de millonarios de Forbes, es el de Newman “Power laws, Pareto distributions and Zipf’s law“. Tambien, la mayoria de los textos sobre networks suelen llevar alguna descripción; por ejemplo la seccion 2.3.5 de “Complex networks: Structure and dynamics” (uno de sus coautores pertenece al BIFI, asi que esto es propaganda encubierta;-).

La clave de estas distribuciones parece ser combinar preferential attachment “el rico se hace mas rico” con crecimiento “siempre hay pardillos nuevos”. Normalmente se define el tiempo de manera que el crecimiento de la poblacion es constante. Esto saca algunas cosas chocantes en comparacion con los timos, digo con la economia real, porque un nodo va a mejorar de forma tipica con alguna raiz (cuadrada, etc) de ese tiempo. Pero a la hora de hacer calculos se entiende mejor, y a fin de cuentas a lo que vamos es al resultado asintotico.

Pues bueno, lo que se me ha ocurrido es agarrar el python y preparar el siguiente programa:

reparto=10
while True:
  for i in xrange(reparto):
    concede=randint(1,total)
    x, ticks =-1,0
    while ticks < concede:
      x+=1
      ticks+=cantnum[x] # cantidad[x]*numero[x]
    numero[x]-=1
    cantnum[x]-=cantidad[x]
    if (x>0):
       numero[x-1]+=1
       cantnum[x-1]+=cantidad[x-1]
    else:
        numero.insert(x,1)
        cantnum.insert(x,cantidad[x]+1) #ojo, antes de modificar cantidad!!
        cantidad.insert(x,cantidad[x]+1)
    total+=1
    #ahora anadimos un nuevo nodo con cantidad 1
    x=len(cantidad)-1
    numero[x]+=1
    cantnum[x]+=1
    total+=1
  reparto=(reparto*2)%1000000 

Continue reading →

Piramides de veteranos

El efecto “Dinero llama a Dinero” de la simulación anterior no deja de ser una piramide, o un esquema de veteranos, disfrazada… es cierto que empezamos todos igual, pero a medida que a alguien le va tocando su ticket del sorteo, se convierte en “veterano” de la piramide. Es como si dijeramos que cada vez que entra un novato, tiene la obligación de repartir al azar equis favores (o monedas) entre los que ya estan en el ajo, pero nunca sale nadie, asi que el que más lleva a la larga mas  cobra.

Lo curioso es que para el grueso de la población, este sistema no es muy diferente de la distribución habitual de riqueza, incluso es más igualitario que la distribución que sale en paises como Estados Unidos. Aunque de momento parece que en España estabamos un poco mejor en ese aspecto.

En esta tabla las dos primeras columnas son simulaciones de reparto, entre diez millones de entidades -unidades familiares, “households”, o como quedamos llamarlo”, via Dinero llama a Dinero y via piramide de veteranos. Las otras columnas son datos de distribución de riqueza de distintos estudios USA y ESP.

Dinero
llama a Dinero
PirámideEspaña R2008
Base imponible
España 2003
segun G&V
USA 2006 
Income
 
1%5.56 - 5.36 %5.60%11%--21.3%
5%19.81-19.65%19.98%24.3%13.65%37.3%
10%32.77 - 32.63%33.02%35.1%22.79%47.2%
20%51.82 - 51.72%52.19%50.9%37.70%61.4%
30%65.70 - 65.85%66.12%63.1%49.21%
40%76.22 - 76.47%76.65%72.9%60.46%79.3%
50%84.25 - 84.58%84.66%81%69.5%
60%90.29 - 90.64%90.65%87.6%77.41%90.4%
70%94.67 - 95.01%94.97%92.9%84.6%
80%97.64 - 97.86%97.85%97%91.05%
90%99.37 - 99.49%99.48%99.5%96.44%

La situacion del “top 1%” en USA, o más bien del “top 0.01%“, marcaba mas o menos en los datos del modelo hasta la decada de los ochenta, y entonces se disparo y el gap ha seguido creciendo cada año; el dato de Income de 1982 era todavia similar al de España. Puede que sea la mayor libertad de impuestos para los capitales altos, o puede que se este inventando otra clase de capital desde entonces; en cualquier caso parece que se haya creado otra liga en la que no jugamos el 99.9%. O puede que de verdad en USA se acumulen los que entienden de eso de crear riqueza… aunque un vistazo uno por uno a las “familias” de ese top lo desmiente y huele más bien a poder y chanchullos. En todo caso, tambien parece que en España existe ya esa liguilla incipiente, si a la base imponible y su 1% nos atenemos, pero parece que aquí juegan a costa de la clase media alta.

Mi moraleja de la tabla, en cualquier caso, es un aviso contra la meritocracia mal entendida: si nos creemos que los que mas dinero han ganado son los que más méritos economicos tienen, y les damos dinero en consecuencia, el resultado es la tabla de desigualdad de la primera columna, sin que unos en realidad hayan hecho nada mejor que otros.


Notas

El dato Renta 2008 esta interpolado de la curva de Lorenz del informe 2008 del ministerio. Vease tambien ICTlogy.

El dato España 2003 es la elaboracion de Gisbert y Villar a partir de la Encuesta de Presupuestos Familiares. Estos datos revelan unas curvas de Lorenz bastante mas igualitarias, por lo que se ve. El articulo completo esta disponible como preprint MPRA: “Desigualdad y Bienestar en España….

El dato USA proviene de Wolff 2010 ¡y es el mas igualitario de los tres estimadores que emplea en la Tabla2! El articulo de W Domhoff, “Wealth, Income and Power” ademas de explayarse en la cuestion del 1%, da bastante informacion adicional como referencias. A destacar entre ellas los trabajos de E. Saez, faciles de encontrar online.

El codigo para simular la piramide es incluso más corto que el de sorteo preferencial. Su regla basica es:

while True:
   for i in xrange(reparto):
      x=randint(0,i)
      cantidad[x]+=1
      total+=1
   reporta()

Además, converge mucho más rapido. Por supuesto ambos códigos pueden optimizarse, en espacio y en tiempo, pero una vez uno se pone a ello acaba pasandose a C, metiendo multihilo y saltos ad-hoc, y seria otro tema :-D.