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 

El programita puede mejorarse en velocidad haciendo un pop de los arrays que se quedan con cero elementos, algo que no pasaba en los casos anteriores pero que aqui va a ser lo normal.

Naturalmente de cuando en cuando hay que ver como va la cosa. Aqui vale cualquier chapuza, si no se os ocurre como empezar mirad este gist: https://gist.github.com/3499187.

El caso es que vamos tranquilamente añadiendo un incremento al azar en los individuos existentes, que tenemos archivados en plan histograma en unos arrays, y a continuacion añadiendo un nuevo individuo con grado uno.

Cuando hemos añadido 10000 nodos (o individuos) ya nos encontramos con que “el 1.0% posee el 14.00%”. Con 20 millones de añadidos, la distribucion en la parte alta se parece mucho a lo que buscabamos:

el 0.01 % posee el  1.43 %
el 0.1 % posee el  4.44 %
el 1.0 % posee el  13.65 %
el 5.0 % posee el  29.18 %

Vamos a comparar con los datos de hacienda que poniamos en el post anterior, y tambien con algunos de Saez & Piketty de Estados Unidos… más que nada por tener otra referencia a mano.

Simulación,
21.5 Millones
de nodos
España R2008
Base Imponible
USA P&S 1998
Tabla II pg 10
USA P&S 1998
Salarios
Tabla IV
0.01%1.43%2.57%
0.1%4.44%6.04%4.13%
1.0%13.65%11%14.58%10.88%
5%29.18%24.3%29.41%23.68%
10%40.01%35.1%41.44%34.19%
20%53.34%50.9%
30%63.34%63.1%
40%70.0%72.9%
50%75.0%81%
60%80.0%87.6%
70%85.0%92.9%
80%90.0%97%
90%95.0%99.5%
95%97.5%
99%99.5%

Ya veis. Tiene pinta de que encaja mejor la parte de los ricos pero falla al predecir la distribucion del otro “99%”. Bueno, tampoco era cosa de poder explicar el mundo con un parámetro.

Por cierto, ¿es de verdad una ley de potencias la de la simulacion que estamos ejecutando? Al final del gist podeis ver que he calculado rapidamente un histograma y en efecto me sale tal ley, pero estaba esperando correspondiente a un exponente de la distribución de probabilidad igual a tres y sale mas bien igual a dos. Ahora, quizas habría que tener en cuenta que el exponente que observa Newman para la lista de Forbes es más bien próximo a dos. Es posible crear modelos con exponentes entre dos y tres a base de combinar dar y quitar (ejemplo, impuestos… de hecho no tienen que ser impuestos proporcionales). Quizas lo más sencillo es pensar con un modelo similar al de Price para redes, y entonces basta hacer el crecimiento de la red más lento. Lo intentaremos otro rato.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.